J'ai un lanceur sur mon bureau et je veux en ajouter un autre manuellement avec la même icône.
Lorsque je vais dans les préférences du lanceur existant et que je clique sur l'icône, cela ne me mène pas au dossier dans lequel l'icône est stockée, mais simplement à mon dossier personnel.
Comment savoir où se trouve l'icône du lanceur utilisée dans mon système?
La plupart du temps, l'icône sera choisie dans votre thème d'icônes actuel, plutôt que d'être considérée comme un chemin absolu.
Recherchez la définition Icon
:
Icon=gnome-panel-launcher
Vous pouvez ensuite trouver l'icône quelque part dans /usr/share/icons
, en fonction de votre thème.
Voici un rapide script python qui trouve le chemin d’icône approprié:
import gtk
print "enter the icon name (case sensitive):"
icon_name = raw_input(">>> ")
icon_theme = gtk.icon_theme_get_default()
icon = icon_theme.lookup_icon(icon_name, 48, 0)
if icon:
print icon.get_filename()
else:
print "not found"
Enregistrez-le quelque part et exécutez python /path/to/script.py
.
Ça va ressembler à ça:
stefano@lenovo:~$ python test.py
enter the icon name (case sensitive):
>>> gtk-execute
/usr/share/icons/Humanity/actions/48/gtk-execute.svg
Alternativement, vous pouvez simplement fouiller dans /usr/share/icons
jusqu'à ce que vous trouviez l'icône que vous recherchez.
Beaucoup plus facile: vous pouvez simplement copier et coller le lanceur et changer le nom et la commande
Version mise à jour du script ci-dessus:
#!/usr/bin/env python3
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
icon_name = input("Icon name (case sensitive): ")
icon_theme = Gtk.IconTheme.get_default()
icon = icon_theme.lookup_icon(icon_name, 48, 0)
if icon:
print(icon.get_filename())
else:
print("not found")
Un peu plus d'infos.
Les lanceurs normaux sont vraiment des fichiers .desktop dans/usr/share/applications /.
Par exemple: /usr/share/applications/usb-creator-gtk.desktop
(Voir http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html )
Chaque fichier de bureau comporte une ligne spécifiant l'icône, par exemple:
Icon=usb-creator-gtk
Lorsqu'il n'y a pas de chemin (ni d'extension de fichier) (comme dans ce cas), cela signifie que l'icône est trouvée (quelque part) dans/usr/share/icons/et que celle utilisée au moment de l'exécution dépend du thème actuel et, dans certains cas, Cas le contexte d'affichage (taille).
Connaissant le nom de l'icône (sans extension) à partir du fichier du bureau, on peut le trouver comme suit:
$ find . -name "usb-creator-gtk*"
./hicolor/scalable/apps/usb-creator-gtk.svg
./Humanity/apps/32/usb-creator-gtk.svg
./Humanity/apps/16/usb-creator-gtk.svg
./Humanity/apps/22/usb-creator-gtk.svg
./Humanity/apps/24/usb-creator-gtk.svg
./Humanity/apps/64/usb-creator-gtk.svg
./Humanity/apps/48/usb-creator-gtk.svg
Ceci est basé sur la réponse de Stefano Palazzoici .
#!/usr/bin/env python3
from gi.repository import Gtk
icon_name = input("Icon name (case sensitive): ")
if icon_name:
theme = Gtk.IconTheme.get_default()
found_icons = set()
for res in range(0, 512, 2):
icon = theme.lookup_icon(icon_name, res, 0)
if icon:
found_icons.add(icon.get_filename())
if found_icons:
print("\n".join(found_icons))
else:
print(icon_name, "was not found")
Enregistrez ce qui précède dans un fichier et exécutez-le avec python3 /path/to/file
.
Les différences entre le script original de Stefano Palazzo sont les suivantes:
gi.repository
au lieu de Gtk