Bagaimana saya bisa menemukan lokasi ikon peluncur yang digunakan?


22

Saya memiliki peluncur di desktop saya dan ingin menambahkan yang lain secara manual dengan ikon yang sama.

Ketika saya pergi ke preferensi launcher yang ada dan mengklik ikon, itu tidak membawa saya ke folder tempat ikon disimpan tetapi hanya ke folder rumah saya.

Bagaimana saya bisa mengetahui di mana ikon bekas peluncur berada di sistem saya?

Jawaban:


19

Sebagian besar waktu, ikon akan dipilih dari tema ikon Anda saat ini, daripada disebut sebagai jalur absolut.

  1. Buka Gedit
  2. Seret peluncur ke jendela Gedit
  3. Cari Icondefinisi:

    Icon=gnome-panel-launcher

Anda kemudian dapat menemukan ikon di suatu tempat/usr/share/icons , tergantung pada tema Anda.

Berikut skrip python cepat yang menemukan jalur ikon yang benar untuk Anda:

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"

Simpan di suatu tempat dan jalankan python /path/to/script.py.

Ini akan terlihat seperti ini:

stefano@lenovo:~$ python test.py 
enter the icon name (case sensitive):
>>> gtk-execute
/usr/share/icons/Humanity/actions/48/gtk-execute.svg

Atau, Anda bisa /usr/share/iconsmencari-cari sampai menemukan ikon yang Anda cari.


Jauh lebih mudah: Anda cukup menyalin dan menempel peluncur dan mengubah nama dan perintah


EDIT 2018

Versi terbaru dari skrip di atas:

#!/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")

5
Jalur umum lainnya untuk diperiksa adalah /usr/share/pixmaps.
htorque

@Stefano: Pahlawan! Terima kasih banyak atas kedua jawaban Anda. Bekerja dengan brilian. Setidaknya jalan ke-2 seharusnya muncul di pikiranku juga.
Timo Schneemann

Traceback (panggilan terakhir terakhir): File "LookUget.py", baris 2, di <module> import gi ImportError: Tidak ada modul bernama gi
JulianLai

4

Sedikit info lagi.

Peluncur normal adalah file .desktop di / usr / share / aplikasi /.

Misalnya: /usr/share/applications/usb-creator-gtk.desktop

(Lihat http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html )

Setiap file desktop memiliki garis yang menentukan ikon, misalnya:

Icon=usb-creator-gtk

Ketika tidak ada path (dan ekstensi file) (seperti dalam kasus ini), itu berarti ikon ditemukan (di suatu tempat) di / usr / share / icons / dan yang digunakan saat run-time tergantung pada tema saat ini dan dalam beberapa huruf konteks tampilan (ukuran).

Mengetahui nama ikon (tanpa ekstensi) dari file desktop, orang dapat menemukannya / mereka sebagai berikut:

$ 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

3

Ini berdasarkan jawaban Stefano Palazzo di sini .

#!/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")

Simpan di atas ke dalam file dan jalankan dengan python3 /path/to/file.

Perbedaan antara naskah asli Stefano Palazzo adalah:

  • Ini menemukan semua resolusi ikon (bukan hanya 48)
  • Gunakan gi.repositorybukanGtk
  • Menggunakan Python 3 sebagai ganti 2
  • Tweak sedikit dengan cara lain
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.