私は KDE Plasma デスクトップ環境で Ubuntu 22.04 を使用しています。Obsidian 個人用 wiki を AppImage としてダウンロードし、メニュー項目を追加して にファイルを作成しまし.desktop
た~/.local/share/applications/
。
メニュー項目を作成するときに、Obsidian のロゴをアプリケーションのアイコンとして追加しました。メニューとタスクバーでは、Obsidian はこのアイコンで表示されます。ただし、Alt + Tab タスク スイッチャーでは、周囲に黄色/オレンジ色の赤道リングがある黒い「X」が付いた灰色の四角形の「プレースホルダー」アイコンとして表示されます。
メニューでアプリケーションを右クリックして「アプリケーションの編集」を選択すると、アイコン選択ウィジェットに正しいアイコンが表示されます。.desktop
ファイルにはアイコンを定義する次の行があります。
Icon=/home/username/icons/Obsidian.png
この行が正しいことは確かです。他の行 (たとえばIcon=~/icons/Obsidian.png
) に変更すると、メニューに Obsidian のアイコンが表示されなくなります (代わりに空白スペースが表示されます)。ただし、何らかの理由で、タスク スイッチャーはそのファイルからアイコンを取得しません。
「MediumDefault」タスク スイッチャーを使用しています。特定のアプリケーションに適切なアイコン ファイルを使用するように設定するにはどうすればよいですか?
編集: もっと見る
@vanadium の回答に従って、 が、xprop
私がすでに持っている唯一のツールであることがわかりました。それを使用して を見つけましたWM_CLASS(STRING) = "obsidian", "obsidian"
。(それを使用するには、xprop
ターミナルで を実行し、情報が必要なウィンドウをクリックします)。
で、最後に~/.local/share/applications/Obsidian.desktop
1 行追加し、次の各形式を順番に試しました。StartupWMClass
- StartupWMClass="黒曜石", "黒曜石"
- スタートアップWMClass="黒曜石"
- スタートアップWMClass=黒曜石
ただし、ファイルを保存した後、タスク スイッチャー内のプレースホルダー アイコンが Obsidian アイコンに置き換わることはできませんでした。
答え1
デスクトップは、デスクトップ ランチャーを最終プロセスに接続できません。これを修正するには、デスクトップ ファイルで Obsidian ウィンドウの WMClass を指定する必要があります。
wmctrl -lx
または(Xorg でのみ機能)を使用するxprop
か、Gnome Shell のルッキング グラス (Alt+F2 を押して入力し、lg
Enter を押して [Windows] タブに移動し、開いているウィンドウのプロパティを一覧表示します) を使用して、ウィンドウの WMClass を決定します。デスクトップランチャーにWMClassを指定するには、次の行を追加します。
StartupWMClass=<windowclass>
ここで、
<windowclass>
はステップ 1 で見つけた値です (例: )obsidian
。