TeamSpeak 3をインストール$HOME/Applications
し、カスタムデスクトップファイルを作成しました。
[Desktop Entry]
Name=TeamSpeak 3
Comment=VOIP Client
Path=/home/tomas/Applications/TeamSpeak3-Client-linux_amd64
Exec=bash ts3client_runscript.sh
Icon=/home/tomas/Pictures/icons/teamspeak-3-icon.png
Terminal=false
Type=Application
これはGnome 3で完全に表示され、アプリをサイドバーに固定できます。
しかし、TeamSpeakを起動するためにアイコンをクリックすると、起動したアプリケーションは私が押したアイコンにバインドされるのではなく、新しいアイコンを生成します。
なぜこれが起こるのですか?どの実行中のアプリケーションがどのサイドバーアイコンにバインドされるかを決定するために、Gnome 3はどのようなメカニズムを使用しますか?これを行うために私ができることはありますか?
私の最初の推測は、実際のアプリケーションが直接実行されるのではなく、bashスクリプトを介して実行されるためだと思います。アプリケーションを実行プログラムの直接の子として作成するために実行スクリプトに追加しようとしましたが、exec
違いはありませんでした。
答え1
.desktopファイルに以下を追加することで問題を解決できました。
StartupWMClass=<GnomeShellTooltipOfTheSecondIcon>
xprop を使用して WM_CLASS を理解することもできます。