从命令行更改应用程序的图标?

从命令行更改应用程序的图标?

有没有办法从命令行更改应用程序窗口的图标?

例如,我希望在不同的配置文件(不同的进程)下为 Firefox 窗口提供单独的图标,如果终端运行则更改终端的图标tmux,等等。

我所说的“图标”是指窗口切换器显示的小图片,通常使用Alt+调用Tab。特别是,我对此感兴趣xfwm4,但更通用的解决方案将受到欢迎。

显然,两者都没有xdotool能力wmctrl做到这一点。

答案1

西塞蒂康让你能够做到这一点。

答案2

如果运行xprop并单击一个窗口,您会看到该图标位于分配给 X 服务器中窗口结构的“元数据”中,位于 name 和 type 下_NET_WM_ICON(CARDINAL)。这些参数可以由其他 X 应用程序更改,例如,窗口管理器在其中编写和更改一大堆内容。关键功能将是XChangeProperty.

我不知道有任何工具可以通过命令行轻松完成此操作,但这并不意味着它们不存在。

无论如何,它可以从头开始编写,这并不难(尽管原始编写xlib会让你的胸毛竖起来,并可能给你带来创伤后应激障碍)。

答案3

对于不同的操作系统/风格可能会有所不同。大多数情况下,可以通过直接在 /usr/share/applications 编辑桌面文件或在 /home/username/.local/share/applications/ 复制或创建桌面文件来实现。

图标=/usr/share/icons/HighContrast/48x48/apps/firefox.png

请参考http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s05.html

相关内容