Xfce - afficher le bureau - changer d'icône

Sous XFCE, il y a une petite extension qui sert à afficher le bureau

image

je voudrais remplacer cet image par une image personnalisé.

j’imagine que je pourrais remplacer les icônes org.xfce.panel.showdesktop.png que j’ai trouvé par mon image personnalisé

mais j’ai aussi trouvé un fichier qui se nomme : libshowdesktop.so
j’aimerais changer l’emplacement de l’icone dans ce fichier, mais quand je cherche .png dans le document, je ne trouve rien.

comment xfce fait le lien entre un pluggin et son icone ?

j’espère être claire

C’est une bibliothèque partagée que je te déconseille de tripoter telle quelle.
En revanche, tu devrais pouvoir modifier son code source pour la recompiler.
Le plus propre à mon avis est d’aller fouiner dans l’éditeur de paramètres.

C’est une librairie, le seul moyen d’y modifier quelque chose c’est de modifier les sources et de recompiler.
C’est risqué si tu ne maitrises pas, d’autant qu"à chaque mise à jour il peut y avoir un risque d’incohérence entre la mise à jour et ton code et donc provoquer un incident dans ton système.

Bonsoir

Autant tu peux modifier celle du menu Whisker, autant celle de cet icone, c’est non, du moins pas simplement !

J’ai aussi trouvé un fichier qui s’appelle showdesktop.desktop
on y trouve:
Comment=Hide all windows and show the desktop
Icon=org.xfce.panel.showdesktop
X-XFCE-Module=showdesktop
X-XFCE-Internal=TRUE
X-XFCE-API=2.0

quand je change Icon=/mon/chemin/icone.svg
ça ne change rien

sur internet (Changing "show Desktop" icon on taskbar menu - Xfce - Manjaro Linux Forum) j’ai trouvé un code css à insérer dans /home/debian/.config/gtk-3.0/gt.css

#showdesktop-12 image {opacity:0;} /* the number after showdesktop may differ on your system. Go to the Panel preferences > Items tab and hover your mouse over the item to get the correct number */
#showdesktop-12 button {
background-image:url('/mon/chemin/icone.svg');
background-size:61%; /* or adjust value till it looks sharp */
background-position:50% 50%;
background-repeat:no-repeat;
}

effectivement ça change l’icone, mais pas la grosseur du bouton.
j’ai essayé de rajouté

width: 10px;
height: 43px;

mais ça ne modifie pas la largeur du bouton, j’ai aussi essayé de changer le padding/margin, mais rien n’y fait…

si vous avez des suggestions, je suis preneur

Je n’ai pas xfce pout vérifier, mais il y a 2 types d’icônes: les scalables en svg, et les png de taille WWxWW.

/usr/share/icons/hicolor/16x16/apps/org.xfce.panel.showdesktop.png
/usr/share/icons/hicolor/24x24/apps/org.xfce.panel.showdesktop.png
/usr/share/icons/hicolor/32x32/apps/org.xfce.panel.showdesktop.png
/usr/share/icons/hicolor/48x48/apps/org.xfce.panel.showdesktop.png
/usr/share/icons/hicolor/64x64/apps/org.xfce.panel.showdesktop.png
/usr/share/icons/hicolor/96x96/apps/org.xfce.panel.showdesktop.png
/usr/share/icons/hicolor/128x128/apps/org.xfce.panel.showdesktop.png

/usr/share/icons/hicolor/scalable/apps/org.xfce.panel.showdesktop.svg

La classe de xfce.panel est « org.xfce.panel »
Ça ne me semble pas évident de modifier proprement l’icône par css, mais il y a une autre solution: modifier la classe de org.xfce.panel dans le fichier desktop.
Ajout au fichier /usr/share/applications/panel-preferences.desktop:
StartupWMClass=org.xfce.panel2
et créer les icônes org.xfce.panel2.showdesktop.png et svg correspondants.

Les icônes de classe org.xfce.panel2 ne seront pas impactés par une mise à jour, mais le fichier panel-preferences.desktop le sera, ou pas, si placé dans ~/.local/share/applications/