Я хотел бы изменить значки нескольких файлов из терминала.
Не значки запуска, а значки по умолчанию для типов файлов, основанные на окончаниях файлов.
Как решить эту задачу?
Я хотел бы изменить значки нескольких файлов из терминала.
Не значки запуска, а значки по умолчанию для типов файлов, основанные на окончаниях файлов.
Как решить эту задачу?
Ответы:
«эмблемы» хранятся в виде двоичных файлов в каталоге ~/.local/share/gvfs-metadata
.
Таким образом, вам нужен gvfs-bin, чтобы иметь возможность извлечь их и сохранить. О, и есть один файл на раздел / том / каталог / файл (что еще хуже).
Чтобы получить информацию о эмблеме, вы можете использовать:
gvfs-info -a metadata::emblems {filename|folder}
Чтобы установить {значок} для {имя_файла} или {папки}, вы используете:
gvfs-set-attribute -t stringv {filename|folder} metadata::emblems {icon}
Пример:
Я создал папки 1, 2, 3, 4 в ~ / Music.
Команды внутри терминала изображения:
gvfs-set-attribute 1 metadata::custom-icon file:///usr/share/pixmaps/gnome-log.png
gvfs-set-attribute 2 metadata::custom-icon file:///usr/share/pixmaps/gnome-spider.png
Измените 1 и 2 на существующий видеофайл или любой другой фактический файл, и он должен работать так же.
и F5 обновляет нижнюю панель.
Как вы можете догадаться из каталогов 3 и 4, вам нужно будет делать это для каждого файла, для которого вы хотите.
Вот скрипт, который проходит по каталогу и устанавливает PNG, который находится в папке как эмблему папок (в основном это имитирует метод Windows, используемый folder.png
в качестве эмблемы каталога над ним).
#! / USR / бен / питон импорт ОС из os.path импорт присоединиться cwdir = str (os.popen ('pwd'). readline ()). replace ('\ n', '') для root, dirs, файлы в os.walk (cwdir): для имени в файлах: if name.lower (). find ('. png')! = -1: os.system ('gvfs-set-attribute "' + root + '" метаданные :: custom-icon "' + name + '"')
Возможно, вы сможете изменить это в свою собственную версию, которая включает в себя файлы.
использование скрипта на свой страх и риск