我最近迁移到 Linux,目前正在运行 Debian 8.2 Stretch。我有一个关于从终端窗口执行的应用程序图标的问题。我的情况尤其是 Emacs,我有一个 emacs24 的桌面启动器,它有一个高分辨率的图标。问题是,如果服务器存在,我使用 bash 脚本运行 emacsclient,如果不存在,则首先启动服务器。我注意到,即使我使用特定图标为脚本制作自定义启动器,使用 alt+tab 切换应用程序时看到的图标也是 emacs 图标的低分辨率版本。
我还尝试从终端直接运行 emacs24,而
emacs &
不是使用默认启动器,并且我还得到了低分辨率图标。
我的问题是:有没有办法控制从终端运行应用程序时使用的图标?
答案1
也许:窗口管理器能通过让您将给定图标与桌面对象之一相关联来特殊对待事物。 Emacs 有一个预配置的位图图标(分辨率不高)。根据文档,您可以使用该--no-bitmap-icon
选项允许窗口管理器选择自己的图标。
应用程序通过设置相应的图标来告诉窗口管理器他们想要哪个图标窗口管理器提示,例如,对于图标像素图。您可以阅读更多相关内容:
- 14.1.6 设置和读取 WM_HINTS 属性(Xlib编程手册)
- 4. 客户端与窗口管理器的通信(国际商会)
- 扩展窗口管理器提示
虽然看起来可以在创建窗口后设置图标像素图提示,但实际上wmctrl
(一种可能的可能性)似乎并没有这样做。