Lihat daftar semua ikon unik yang tersedia dengan nama dan gambar kecilnya

15

Saya ingin melihat ikon apa yang diinstal dan tersedia di sistem saya dan dengan nama apa saya harus merujuknya.

Bagaimana saya bisa mendapatkan daftar semua ikon unik yang diformat dengan baik (tidak menunjukkan beberapa resolusi secara terpisah) yang berisi nama ikon, gambar kecil pratinjau, lokasi dan mungkin jika mungkin dari mana asalnya (misalnya paket tema ikon mana)?

Sistem: Ubuntu 15.10 Wily Werewolf 64 bit
Desktop: Unity

Komandan Byte
sumber
Mengenai "mengetahui dari paket mana" bagian: "dpkg-query -S / bin / bash" menampilkan nama paket dari bash yang dapat dieksekusi di direktori / bin (sebagai contoh cara kerjanya). Dengan hanya "/ bin" sebagai argumen, itu akan menampilkan semua paket yang diinstal untuk semua file di direktori / bin.
neoc
2
find /usr/share/icons/ -iname '*.png' -or -iname '*.svg' -printf '%h %f %p\n' | sed -r 's;^/usr/share/icons/([^/]*)/[^ ]* ;\1 ;' | sort -u -k1,2 | column -tmencakup sebagian besar (kecuali bagian thumbnail), menurut saya. Saya tidak yakin bagaimana Anda berharap melihat thumbnail dalam daftar.
muru
@muru Di jendela GUI? Saya tidak mengatakan itu harus menjadi solusi baris perintah ...
Byte Commander
@ByteCommander Anda tidak melakukannya, tetapi Anda juga tidak mengatakan GUI seperti apa. Apakah Anda mengharapkan kami memprogram GUI untuk Anda?
muru
@muru Tidak, tapi saya pikir seseorang mungkin tahu alat yang sudah ada untuk ini? Saya tahu saya pernah menggunakan sesuatu seperti itu sekali, itu mungkin dibangun ke beberapa fungsi XFCE, mungkin untuk memilih ikon untuk peluncur di sana ...
Byte Commander

Jawaban:

14

gtk3-icon-browser adalah aplikasi grafis untuk mendaftar ikon bertema.

Hingga saat ini, masih dalam pengembangan dan tersedia dalam gtk-3-examplespaket untuk rilis Vivid dan yang lebih baru. Perkembangannya dapat ditelusuri kembali ke posting blog ini bertanggal 2014 .

Menjelajahi ikon gelap Xfce dasar

gtk3-icon-browser Normal pada Xubuntu 15.04

gtk3-icon-browser Symbolic on Xubuntu 15.04

Ulasan cepat

  • Daftar semua ikon unik yang diformat dengan baik: Ya 1
  • Berisi nama ikon: Ya
  • Thumbnail pratinjau: Ya
  • Lokasi ikon: No 2
  • Asal tema ikon: Ya 3

1 Alat ini akan ditampilkan sebagai tampilan ikon secara default (tidak ada cara untuk mengubah ke tampilan daftar). Klik dua kali pada setiap ikon akan menampilkan semua resolusi yang tersedia untuk ikon itu.

gtk3-icon-browser Ikon klik dua kali simbol

2 Alat ini kemungkinan besar mencari ke /usr/share/iconsdirektori (tanpa menyebutkan lokasi untuk setiap ikon) dan menarik informasi tambahan sesuai dengan spesifikasi penamaan ikon .

3 Alat ini hanya menampilkan ikon untuk tema saat ini . Untuk menampilkan ikon untuk tema lain, ubah tampilan dari tema saat ini ke tema lain.

Menjelajahi ikon Humanity-dark (dengan dialog sembulan)

gtk3-icon-browser Ikon gelap-kemanusiaan

Persyaratan

  • GTK + 3.13.4 atau lebih baru
  • Instal gtk-3-examplesdalam 15,04 (Jelas) atau rilis yang lebih baru

Bagaimana cara meng-install

sudo apt-get install gtk-3-examples

Bagaimana cara menjalankannya

gtk3-icon-browser

Diuji bekerja pada Xubuntu 15.04, menggunakan GTK + 3.14.13 (versi terbaru untuk tanggal jawab ini).

Sumber terkait

  1. Kode sumber gtk / demo at master untuk GNOME / gtk di GitHub.

  2. Alat peramban ikon baru untuk pengembang GTK + dalam pengembangan di Majalah Fedora

  3. Disebutkan secara singkat dengan tangkapan layar dalam jawaban ini di Tanya Ubuntu.

clearkimura
sumber
Solusi ini hampir sempurna. Itu akan terjadi jika itu menunjukkan ikon dari tema lain yang tidak disediakan oleh tema saat ini juga.
Byte Commander
@ByteCommander seseorang harus memberitahu AB untuk membatalkan penghapusan jawaban mereka, yang menyarankan program ini.
muru
3

Nah, beberapa DEs menunjukkan ini ketika Anda mencoba mengubah ikon sesuatu, tetapi cukup mudah untuk melakukannya sendiri. Cukup temukan semua ikon, buat tautan ke sana di beberapa direktori dan ramban direktori. Ikon-ikon dari resolusi yang berbeda akan memiliki nama yang sama, yang berubah adalah path. Sebagai contoh:

$ find /usr/share/icons/ -name '*emacs.*' 
/usr/share/icons/hicolor/16x16/apps/emacs.png
/usr/share/icons/hicolor/48x48/apps/emacs.png
/usr/share/icons/hicolor/scalable/apps/emacs.svg
/usr/share/icons/hicolor/128x128/apps/emacs.png
/usr/share/icons/hicolor/32x32/apps/emacs.png
/usr/share/icons/hicolor/24x24/apps/emacs.png
/usr/share/icons/Mint-X/apps/96/emacs.svg
/usr/share/icons/Mint-X/apps/16/emacs.png
/usr/share/icons/Mint-X/apps/24/emacs.png
/usr/share/icons/Mint-X/apps/48/emacs.png
/usr/share/icons/Mint-X/apps/32/emacs.png
/usr/share/icons/Mint-X/apps/22/emacs.png

Seperti yang Anda lihat di atas, format umumnya adalah /ParentDir/ThemeName/CLass/Resolution/IconName. Jadi, karena nama ikonnya sama, kita dapat menghindari duplikat dengan mudah dengan membuat setiap tautan dibuat menimpa tautan yang ada dengan nama yang sama. Namun, kami ingin memisahkan ikon-ikon dari berbagai tema yang berbeda, sehingga memerlukan sedikit lebih banyak skrip:

#!/usr/bin/env bash

## Create the target directory
mkdir -p ~/foo
## Iterate over all files/dirs in the target locations
for i in ~/.icons/* /usr/share/icons/* /usr/share/pixmaps/*; do 
    ## find all icon files in this directory. If the current $i
    ## is not a directory, find will just print its path directly.
    find "$i" -name '*xpm' -o -name '*.svg' -o -name '*png' | 
        ## Iterate over find's results
        while read ico; do 
            ## Make the link. ${var##*/} will print the
            ## basename of $var, without the path. Here, I use
            ## it both to get the theme name (${i##*/}) and the
            ## icon's name (${ico##*/}).         
            ln -sf "$ico" "${i##*/}"_"${ico##*/}"
        done
done

Script di atas akan membuat direktori ~/fooyang akan berisi tautan ke masing-masing file ikon unik Anda. The -fpilihan untuk lnmengatakan itu untuk menimpa file yang sudah ada dengan nama yang sama dan, karena kita sedang menggunakan nama tema dalam nama link ini, seharusnya tidak ada duplikat. Misalnya, mengingat emacs.pngikon yang ditunjukkan di atas, itu akan membuat:

hicolor_emacs.png -> /usr/share/icons/hicolor/48x48/apps/emacs.png
Mint-X_emacs.png -> /usr/share/icons/Mint-X/apps/22/emacs.png

Anda sekarang dapat, telusuri ~/foodan lihat:

masukkan deskripsi gambar di sini

Kemudian, untuk mendapatkan paket sumber, Anda bisa menjalankan:

for i in ~/foo/*; do dpkg -S $(readlink -f "$i"); done
terdon
sumber
Namun ini akan menghubungkan gambar dari semua resolusi yang tersedia berbeda, kan? Bisakah saya memfilter duplikat dalam ukuran yang berbeda dan hanya menunjukkan yang terbesar?
Byte Commander
@ ByteCommander tidak, itu tidak akan. The -fpilihan membuat lnmenimpa link yang ada sehingga hanya satu ikon dari nama yang sama akan ditampilkan. Namun, saya baru menyadari bahwa sementara dupes tidak akan menjadi masalah, Anda akan kehilangan banyak karena semua gedit.pngikon akan ditimpa oleh yang terakhir ditemukan. Itulah yang saya ingin atasi dengan resolusi, tetapi itu tidak berurusan dengan tema yang berbeda: hanya ikon satu tema yang akan ditampilkan. Saya mencoba untuk memperbaikinya sekarang.
terdon
@ByteCommander OK, lihat jawaban yang diperbarui. Ini masih tidak memiliki masalah dengan duplikat tetapi sekarang akan menampilkan ikon dari tema yang berbeda dengan benar.
terdon