🎃
AppImageなアプリがDock上で分裂するのを解決する
前提
- Biscuit (<https://eatbiscuit.com/ja) の Linux 版は AppImage で配布されている
- AppImage のアプリは、メニューにも出てこないし、Dock とか Dash に登録できない
- .Desktop ファイルを
/home/yakumo/.local/share/applications/
に置くことでメニューに出てくる
問題点
- Dash にアプリケーションを登録することはできるが、アプリが起動すると Dock のアイコンではなく別のアイコンが表示されてしまう(Biscuit が 2 個になってしまう)
why?
- おそらく実行ファイル名とウィンドウ名が異なるため
解決策
-
.Desktop
ファイルにStartupWMClass=biscuit
を追加する。
調べ方
対象のアプリケーションを起動した状態で xprop
を実行するとマウスカーソルがターゲットの形になるので、その状態で調べたいアプリケーションをクリックする。
WM_CLASS(STRING) = "biscuit", "biscuit" となっているので、それをそのまま .Desktop
ファイルの StartupWMClass
に指定すれば良い
(Firefox など、名前が異なるものが 2 つ表示される場合があるが、この場合どちらを指定するかは不明。どちらかを指定すれば当たると思われる)
蛇足
biscuit.Desktop
の中身は以下の通り
`#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Name=Biscuit
Keywords=
Exec=AppImageへのパス %u
Terminal=false
X-MultipleArgs=false
Type=Application
Categories=Network;
Icon=アイコンファイルへのパス(png形式)
StartupNotify=true
StartupWMClass=biscuit
Discussion