I3
如何在 .desktop 文件中為終端命令定義 wm 類
我正在玩弄 .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:🎵
不幸的是,該類尚未設置,因為尚未定義。
對於其他接受參數的應用程序,它工作得很好,例如 Firefox:
[Desktop Entry] Version=1.0 Name=Twitter Profile - Firefox Comment=Browse the World Wide Web GenericName=Web Browser Keywords=Internet;WWW;Browser;Web;Explorer Exec=firefox --class="Firefox Social Media" -P "Social Media" %u Terminal=false X-MultipleArgs=false Type=Application Icon=firefox
使用 i3wm 配置:
assign [class="^Firefox Social Media$"] 10:🌐
有人能告訴我如何為從終端開始的 .desktop 條目定義 wm 類嗎?我什麼也找不到。
您
WM_CLASS
不能通過.desktop
文件進行設置,因為它取決於應用程序來設置自己的WM_CLASS
.但是許多應用程序仍然允許使用他們的工具包(GTK/Qt)的標準方法來改變他們的類,所以他們中的大多數人都會尊重
--class
命令行選項。
我現在正在使用以下解決方法,我認為這不是真正的解決方案。
當我使用 gnome-terminal 時,可以通過以下方式設置 wm_class:
[Desktop Entry] Exec=gnome-terminal --class=cmus -e cmus Terminal=false
使用包裝器x-terminal-emulator不起作用,因為它連結到不支持該類的包裝器。