Просмотр списка всех доступных уникальных иконок с их именами и миниатюрами

Я хочу посмотреть, какие значки установлены и доступны в моей системе и под какими именами я должен ссылаться на них.

Как я могу получить красиво отформатированный список всех уникальных значков (не показывать несколько разрешений отдельно), который содержит имя значка, миниатюру предварительного просмотра, местоположение и, возможно, если это возможно, откуда он пришел (например, какой пакет темы значков)?

Система: Ubuntu 15.10 Wily Werewolf 64 бит
Рабочий стол: Unity

2 ответа

Решение

gtk3-icon-browser - это графическое приложение для отображения тематических значков.

На сегодняшний день он все еще находится в стадии разработки и доступен в gtk-3-examples пакет для Vivid и более новых выпусков. Его развитие можно проследить до этого поста в блоге от 2014 года.

Просмотр элементарного Xfce темного значка

Быстрый обзор

  • Красиво отформатированный список всех уникальных иконок: Да 1
  • Содержит название значка: Да
  • Предварительный просмотр: Да
  • Расположение иконок: № 2
  • Значок темы происхождения: Да 3

1 По умолчанию этот инструмент будет отображаться в виде значка (его невозможно изменить в виде списка). Двойной щелчок на каждом значке покажет все доступные разрешения для этого значка.

2 Этот инструмент, скорее всего, смотрит в /usr/share/icons каталог (без указания местоположения для каждого значка) и извлекает дополнительную информацию в соответствии со спецификацией именования значков.

3 Этот инструмент показывает только значки для текущей темы. Чтобы отобразить значки для другой темы, измените внешний вид текущей темы на другую.

Просмотр темных значков человечества (с всплывающим диалогом)

Требования

  • GTK+ 3.13.4 или новее
  • устанавливать gtk-3-examples в 15.04 (Vivid) или более новых выпусках

Как установить

sudo apt-get install gtk-3-examples

Как бегать

gtk3-icon-browser

Протестировано работает на Xubuntu 15.04, используя GTK+ 3.14.13 (последняя версия на эту дату).

Связанные источники

  1. Исходный код gtk/demos на master для GNOME / gtk на GitHub.

  2. Новый инструмент браузер иконок для разработчиков GTK + в разработке на Fedora Magazine

  3. Кратко упомянуто со скриншотом в этом ответе на Ask Ubuntu.

Ну, некоторые DE показывают это, когда вы пытаетесь изменить значок чего-либо, но это довольно легко сделать самостоятельно. Просто найдите все значки, сделайте ссылки на них в каком-либо каталоге и просмотрите каталог. Иконки разных разрешений будут иметь одинаковые имена, в которых меняется путь. Например:

$ 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

Как вы можете видеть выше, общий формат /ParentDir/ThemeName/CLass/Resolution/IconName, Таким образом, поскольку имя значка одинаковое, мы можем легко избежать дубликатов, создав каждую ссылку, перезаписавшую любые существующие ссылки с тем же именем. Тем не менее, мы хотим разделить иконки из разных тем отдельно, поэтому требуется немного больше сценариев:

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

Сценарий выше создаст каталог ~/foo который будет содержать ссылки на каждый из ваших уникальных файлов значков. -f возможность ln говорит ему перезаписывать существующие файлы с тем же именем, и, поскольку мы используем имя темы в названии ссылки, дубликатов быть не должно. Например, учитывая emacs.png иконки, показанные выше, создадут:

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

Теперь вы можете перейти к ~/foo и посмотрите:

Затем, чтобы получить пакеты с исходным кодом, вы можете запустить:

for i in ~/foo/*; do dpkg -S $(readlink -f "$i"); done
Другие вопросы по тегам