![如何在 .desktop 文件中为终端命令定义 wm 类](https://linux22.com/image/169784/%E5%A6%82%E4%BD%95%E5%9C%A8%20.desktop%20%E6%96%87%E4%BB%B6%E4%B8%AD%E4%B8%BA%E7%BB%88%E7%AB%AF%E5%91%BD%E4%BB%A4%E5%AE%9A%E4%B9%89%20wm%20%E7%B1%BB.png)
我正在研究 .desktop 文件,最后得到了这个:
[Desktop Entry]
Version=1.0
Name=Music Player (cmus)
Comment=Command Line Music Player
GenericName=Music Player
Exec=cmus
Terminal=true
X-MultipleArgs=false
Type=Application
StartupNotify=false
到目前为止一切正常。
现在我也在使用 i3wm 并想将应用程序分配到特定的工作区。这是我当前的配置:
assign [class="^cmus.*$"] 5:
答案1
您无法WM_CLASS
通过.desktop
文件进行设置,因为由应用程序设置自己的WM_CLASS
.
但许多应用程序仍然允许使用其工具包(GTK/Qt)的标准方法来更改其类,因此大多数应用程序都会尊重--class
命令行选项。
答案2
我现在使用以下解决方法,我认为这不是真正的解决方案。
由于我使用的是 gnome-terminal,因此可以设置 wm_class:
[Desktop Entry]
Exec=gnome-terminal --class=cmus -e cmus
Terminal=false
使用包装器不起作用x 终端模拟器因为它链接到不支持该类的包装器。