Wie ändere ich das Symbol einer Anwendung im Plasma-Task-Umschalter?

Wie ändere ich das Symbol einer Anwendung im Plasma-Task-Umschalter?

Ich verwende Ubuntu 22.04 mit der KDE Plasma-Desktopumgebung. Ich habe das persönliche Obsidian-Wiki als AppImage heruntergeladen, ein Menüelement dafür hinzugefügt und eine .desktopDatei im erstellt ~/.local/share/applications/.

Beim Erstellen des Menüelements habe ich das Obsidian-Logo als Symbol der Anwendung hinzugefügt. Im Menü und in der Taskleiste wird Obsidian mit diesem Symbol angezeigt. Im Alt+Tab-Task-Umschalter wird es jedoch als, wie ich annehme, „Platzhalter“-Symbol eines grauen Quadrats mit einem schwarzen „X“ angezeigt, das von einem gelb/orangen Äquatorialring umgeben ist.

Wenn ich im Menü mit der rechten Maustaste auf die Anwendung klicke und „Anwendung bearbeiten“ auswähle, zeigt das Symbolauswahl-Widget das richtige Symbol an. Die .desktopDatei enthält diese Zeile zum Definieren des Symbols:

Icon=/home/username/icons/Obsidian.png

Ich bin sicher, dass diese Zeile richtig ist, denn wenn ich sie in etwas anderes ändere (wie Icon=~/icons/Obsidian.pngzum Beispiel ), zeigt das Menü nicht mehr das Symbol für Obsidian an (es hat stattdessen nur ein leeres Feld). Aus irgendeinem Grund nimmt der Task-Umschalter das Symbol aus dieser Datei jedoch nicht auf.

Ich verwende den Task-Umschalter „MediumDefault“. Wie konfiguriere ich ihn, damit für eine bestimmte Anwendung die richtige Symboldatei verwendet wird?

Bearbeiten: Mehr

Nach der Antwort von @vanadium fand ich xpropdas einzige von ihnen erwähnte Tool, das ich bereits hatte. Ich habe es verwendet, um zu finden WM_CLASS(STRING) = "obsidian", "obsidian". (Um es zu verwenden, führen Sie es xpropim Terminal aus und klicken Sie dann auf das Fenster, dessen Informationen Sie benötigen.)

Ich habe am Ende ~/.local/share/applications/Obsidian.desktopeine StartupWMClassZeile hinzugefügt und dann nacheinander jede dieser Formen dafür ausprobiert:

  • StartupWMClass="Obsidian", "Obsidian"
  • StartupWMClass="Obsidian"
  • StartupWMClass=Obsidian

Keines davon führte jedoch dazu, dass das Obsidian-Symbol nach dem Speichern der Datei das Platzhaltersymbol im Task-Umschalter ersetzte.

Antwort1

Der Desktop kann den Desktop-Launcher nicht mit dem letzten Prozess verbinden. Um dies zu beheben, müssen Sie die WMClass der Obsidian-Fenster in der Desktop-Datei angeben.

  1. Bestimmen Sie die WMClass des Fensters entweder mit wmctrl -lxoder xprop(funktioniert nur unter Xorg) oder mithilfe des Gnome Shell-Spiegels (drücken Sie Alt+F2, geben Sie ein, lgdrücken Sie dann die Eingabetaste und wechseln Sie zur Registerkarte „Fenster“, um die Eigenschaften der aufgelisteten geöffneten Fenster anzuzeigen).

  2. Geben Sie diese WMClass im Desktop-Launcher an, indem Sie eine Zeile hinzufügen

    StartupWMClass=<windowclass>
    

    wobei <windowclass>der Wert ist, den Sie in Schritt 1 gefunden haben, z. B. obsidian.

verwandte Informationen