StartupWMClassに複数の値を設定する(Unityで同じランチャーの下にグループ化するため)
これは、一般的な問題の具体例であり、まだ解決策を見つけることができませんでした。 自分の中から「サブプログラム」(つまり、エミュレーターまたは仮想デバイス)を起動するプログラム(Android Virtual Device Manager)があります(他の場所からも起動できます)。これらのプログラムのいずれかのインスタンスを同じUnityアイコンの下にグループ化する必要があります。 私は.desktopこれを試して達成するためのファイルを作成しましたが、その方法を正確に知りません。デスクトップファイルは次のとおりです。 #!/usr/bin/env xdg-open [Desktop Entry] Version=1.0 Type=Application Terminal=false Name=Android Virtual Device Icon=/home/ben/.icons/android.svg Exec=/home/ben/usr/bin/android avd StartupWMClass=Android Virtual Device Manager 私が理解してStartupWMClassいることから、これを正しく達成するために設定する必要があるものです。xprop WM_CLASSそれぞれのウィンドウで2つのクラス名(「Android Virtual Device Manager」と「emulator64-arm」)を取得しました。両方とも個別に機能します(起動方法に関係なく、ランチャーアイコンはプログラムに正しくアタッチされます)が、両方で機能するようにすることはできません。 私はどういうわけか2つの値を設定する必要があると仮定しStartupWMClassていますが、正しくそれを行うことができませんでした(またはそれが有効な操作であるかどうかを知っています)。環境変数のようにコロンで区切られたもの、コンマで区切られたもの、引用符などを試しましたが、公式のドキュメントにはヒントが見つかりません。 助言がありますか? 編集: もう1つの、より独創的ですが、おそらくより識別可能な例は、Matlabです。2013aを実行していますが、最初に表示されるスプラッシュスクリーンとプログラムのWM_CLASS値はまったく異なります。つまり、ランチャーをクリックStartupWMClass=com-mathworks-util-PostVMInitすると、スプラッシュ画面に別の(デフォルトの不明)Unityアイコンが表示され、残りはランチャーの下にグループ化されて表示されます。 xprop WMCLASS最初にスプラッシュ画面を使用してクリックし、アクティブなMatlabセッションで繰り返すと、次の端末出力が得られます。 ben@ben-OptiPlex-9010:~$ xprop WM_CLASS WM_CLASS(STRING) = "MATLAB", "MATLAB" ben@ben-OptiPlex-9010:~$ xprop WM_CLASS WM_CLASS(STRING) = "sun-awt-X11-XFramePeer", "com-mathworks-util-PostVMInit" 次の行に沿って何かを指定できる場合: StartupWMClass=com-mathworks-util-PostVMInit&&MATLAB …