.desktopファイルでターミナルコマンドのwmクラスを定義する方法

.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:

答え1

独自の設定はアプリケーションに依存するため、ファイルを介してWM_CLASS設定することはできません。.desktopWM_CLASS

ただし、多くのアプリケーションではまだツールキット(GTK / Qt)の標準的な方法を使用してクラスを変更できるため、ほとんどのアプリケーションはコマンドラインオプションに--class従います。

答え2

現在、次の回避策を使用していますが、これが実際の解決策であるとは思わない。

私はgnome-terminalを使用しているので、wm_classを設定できます。

[Desktop Entry]
Exec=gnome-terminal --class=cmus -e cmus
Terminal=false

ラッパーを使用すると動作しません。x 端末エミュレータ対応するクラスをサポートしていないラッパーにリンクされているからです。

関連情報