.desktopファイルのStartupWMClassフィールドは何を表していますか?


69

私はこの既存の.desktopファイルに取り組んでいますが、疑問があります。

ファイルの内容は次のとおりです。

[Desktop Entry]
#Icon=connect-data-space
Icon=XCloud
Categories=Utility;
Type=Application
#Exec=/usr/share/ConnectDataSpace/appl/launcher.sh
Exec=/usr/share/XCloud/appl/launcher.sh
Name[en_US]=Connect Data Space
#Name=Connect Data Space
Name=XCloud
Comment[en_US]=
Comment=
StartupNotify=true
Terminal=false
OnlyShowIn=GNOME;Unity;
StartupWMClass=ConnectDataSpace
Actions=CheckUpgrade

[Desktop Action CheckUpgrade]
Name=Verifica Aggiornamenti
#Exec=java -jar /usr/share/ConnectDataSpace/appl/lib/shellExtBridge.jar -checkupgrade
Exec=java -jar /usr/share/XCloud/appl/lib/shellExtBridge.jar -checkupgrade
OnlyShowIn=GNOME;Unity;

このファイルのStartupWMClassフィールドは正確に何を表していますか?

回答:


95

現代のLinuxデスクトップ環境(Gnome 3、Ubuntu Unity、Docky)は、このWMClassプロパティを使用してウィンドウを所有アプリケーションに関連付けます。多くのJavaベースのアプリケーションには、アプリケーションによって作成されたウィンドウがアプリケーションの起動に使用されるショートカットに関連付けられていないという問題があります(そのため、ドックには同じアイコンの複数のコピーが含まれます)。

したがって、呼び出されるフィールドStartupWMClassは、起動時にアプリケーションをUnityランチャーでグループ化するクラスを定義する文字列です。

WM_CLASSターミナルに入力すると、ウィンドウがどのウィンドウを持っているかがわかります。

xprop WM_CLASS

次に、ウィンドウをクリックします。gnome端末の場合、出力は次のとおりです。

WM_CLASS(STRING) = "gnome-terminal", "Gnome-terminal"

そのため、WM_CLASS「gnome-terminal」と「Gnome-terminal」を持つすべてのウィンドウはグループ化されます。


3
それは情報の多くを追加しませんが、私は、公式FreeDesktop仕様ページにリンクするのに便利見つける:standards.freedesktop.org/desktop-entry-spec/latest/...
Pisu

1
答えの詳細:デスクトップファイルの値に引用符を使用しないでください。
ジョーカー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.