如何固定由另一个命令打开的窗口?

如何固定由另一个命令打开的窗口?

我经常使用 Tox 进行通信,特别是 μTox 客户端。我最近从 Debian 切换到 Ubuntu,发现它是一个不错的选择,但我有一个持续存在的问题;因为我经常使用 μTox,所以我想将它固定到任务栏。我编写了一个自定义.desktop条目,它会显示在 Unity Dash 中,但由于 μTox 的编写方式,当我在 Dash 中单击它时,它会首先打开实际的 μTox 进程,但随后它会隐藏自身并打开另一个名为 的窗口μTox (Alpha) (version: 0.8.1),这意味着我无法将其固定到任务栏,因为它是我的文件运行的原始utox进程的子进程.desktop

那么如何将 μTox 固定到任务栏呢?

答案1

我花了一段时间才明白你真正的意思,但答案是:

缺少 WM_CLASS

当你说:

“当我在 Dash 中单击它时,它首先打开实际的 μTox 进程,但随后它会隐藏自身并打开一个名为 μTox (Alpha)(版本:0.8.1)的另一个窗口”

...这是对正在发生的事情的一个小小的误解;没有第二个进程,但您创建的启动器和应用程序在 Unity Launcher 中没有“相遇”。换句话说:自制的启动器无法识别正在μTox调用的窗口,将其视为“他的”。

怎么解决

WM_CLASS您可以通过将其包含到启动器中来轻松解决此问题,这样它就能正确识别μTox窗口:

StartupWMClass=utox

一个可以很好地工作的简单启动器:

[Desktop Entry]
Name=Some Tox
Exec=/home/jacob/Downloads/utox
Type=Application
StartupWMClass=utox

当然你需要替换行中的路径Exec=/home/jacob/Downloads/utox

...但你可能想添加一个图标。如果是这样,请添加以下行:

Icon=/path/to/toxicon.png

在此处输入图片描述

...您的问题应该已经解决了:)

如何找到WM_CLASS?

  • 打开终端,输入

    xprop WM_CLASS
    

    按下Return并单击μTox窗口。

在此处输入图片描述

相关内容