Чтобы изменить значок папки, все, что вам нужно сделать, - это щелкнуть правой кнопкой мыши по папке, выбрать «Свойства», нажать значок папки, перейти к выбору значка папки, выбрать его и сделать!
Но если вам нужно сделать это на 100 папках, это будет больно. То, что я хочу, - это более короткий способ сделать то же самое.
В каждой папке есть изображение внутри него с именем «album art.jpeg» или «cover art.jpg» или что-то в этом роде что.
Есть два способа добиться того, чего вы хотите. Сначала это всего лишь ярлык
, все, что вам нужно сделать, - это щелкнуть по папке и нажать Ctrl + I, что приведет вас к экрану свойств. пропуская 2 шага в описанной операции. это логично для некоторых папок, но если вы говорите о 100 папках, я предлагаю вам пойти со вторым подходом
Второй способ немного сложнее. он добавляет параметр правого щелчка в nautilus (ваше приложение для файлов), чтобы установить значок папки для всех текущих каталогов за один клик.
Откройте текстовый редактор gedit и вставьте скрипт в
#!/usr/bin/env python3
import subprocess
import os
# --- set the list of valid extensions below (lowercase)
# --- use quotes, *don't* include the dot!
ext = ["jpg", "jpeg", "png", "gif", "icns", "ico"]
# ---
# retrieve the path of the targeted folder
current = os.getenv("NAUTILUS_SCRIPT_CURRENT_URI").replace("file://", "").replace("%20", " ")
dr = os.path.realpath(current)
for root, dirs, files in os.walk(dr):
for directory in dirs:
folder = os.path.join(root, directory)
try:
first = min(p for p in os.listdir(folder)
if p.split(".")[-1].lower() in ext)
except ValueError:
pass
else:
subprocess.Popen([
"gvfs-set-attribute", "-t", "string",
os.path.abspath(folder), "metadata::custom-icon",
"file://"+os.path.abspath(os.path.join(folder, first))
])
При сохранении выберите этот путь для сохранения этого вновь созданного файла, /home/sundar/.local/share/nautilus/scripts Сохраните имя файла как set_foldericon без расширения. Теперь откройте свой (nautilus) и перейдите к /home/sundar/.local/share/nautilus/scripts. Вы должны увидеть файл с именем set_foldericon. Теперь щелкните правой кнопкой мыши на этом файле, выберите «Свойства», затем выберите «Разрешения» и нажмите «Разрешить выполнение файла как программу». Теперь выйдите из системы и войдите в систему. Теперь перейдите к папка, в которой хранится ваш музыкальный альбом. Щелкните правой кнопкой мыши по папке, где вы увидите второй вариант, поскольку скрипты выбирают параметр «Установить папку». Перезагрузите, нажав F5. Теперь ваши альбомы должны иметь обложки
Есть два способа добиться того, чего вы хотите. Сначала это всего лишь ярлык
, все, что вам нужно сделать, - это щелкнуть по папке и нажать Ctrl + I, что приведет вас к экрану свойств. пропуская 2 шага в описанной операции. это логично для некоторых папок, но если вы говорите о 100 папках, я предлагаю вам пойти со вторым подходом
Второй способ немного сложнее. он добавляет параметр правого щелчка в nautilus (ваше приложение для файлов), чтобы установить значок папки для всех текущих каталогов за один клик.
Откройте текстовый редактор gedit и вставьте скрипт в
#!/usr/bin/env python3
import subprocess
import os
# --- set the list of valid extensions below (lowercase)
# --- use quotes, *don't* include the dot!
ext = ["jpg", "jpeg", "png", "gif", "icns", "ico"]
# ---
# retrieve the path of the targeted folder
current = os.getenv("NAUTILUS_SCRIPT_CURRENT_URI").replace("file://", "").replace("%20", " ")
dr = os.path.realpath(current)
for root, dirs, files in os.walk(dr):
for directory in dirs:
folder = os.path.join(root, directory)
try:
first = min(p for p in os.listdir(folder)
if p.split(".")[-1].lower() in ext)
except ValueError:
pass
else:
subprocess.Popen([
"gvfs-set-attribute", "-t", "string",
os.path.abspath(folder), "metadata::custom-icon",
"file://"+os.path.abspath(os.path.join(folder, first))
])
При сохранении выберите этот путь для сохранения этого вновь созданного файла, /home/sundar/.local/share/nautilus/scripts Сохраните имя файла как set_foldericon без расширения. Теперь откройте свой (nautilus) и перейдите к /home/sundar/.local/share/nautilus/scripts. Вы должны увидеть файл с именем set_foldericon. Теперь щелкните правой кнопкой мыши на этом файле, выберите «Свойства», затем выберите «Разрешения» и нажмите «Разрешить выполнение файла как программу». Теперь выйдите из системы и войдите в систему. Теперь перейдите к папка, в которой хранится ваш музыкальный альбом. Щелкните правой кнопкой мыши по папке, где вы увидите второй вариант, поскольку скрипты выбирают параметр «Установить папку». Перезагрузите, нажав F5. Теперь ваши альбомы должны иметь обложки
Есть два способа добиться того, чего вы хотите. Сначала это всего лишь ярлык
, все, что вам нужно сделать, - это щелкнуть по папке и нажать Ctrl + I, что приведет вас к экрану свойств. пропуская 2 шага в описанной операции. это логично для некоторых папок, но если вы говорите о 100 папках, я предлагаю вам пойти со вторым подходом
Второй способ немного сложнее. он добавляет параметр правого щелчка в nautilus (ваше приложение для файлов), чтобы установить значок папки для всех текущих каталогов за один клик.
Откройте текстовый редактор gedit и вставьте скрипт в
#!/usr/bin/env python3
import subprocess
import os
# --- set the list of valid extensions below (lowercase)
# --- use quotes, *don't* include the dot!
ext = ["jpg", "jpeg", "png", "gif", "icns", "ico"]
# ---
# retrieve the path of the targeted folder
current = os.getenv("NAUTILUS_SCRIPT_CURRENT_URI").replace("file://", "").replace("%20", " ")
dr = os.path.realpath(current)
for root, dirs, files in os.walk(dr):
for directory in dirs:
folder = os.path.join(root, directory)
try:
first = min(p for p in os.listdir(folder)
if p.split(".")[-1].lower() in ext)
except ValueError:
pass
else:
subprocess.Popen([
"gvfs-set-attribute", "-t", "string",
os.path.abspath(folder), "metadata::custom-icon",
"file://"+os.path.abspath(os.path.join(folder, first))
])
При сохранении выберите этот путь для сохранения этого вновь созданного файла, /home/sundar/.local/share/nautilus/scripts Сохраните имя файла как set_foldericon без расширения. Теперь откройте свой (nautilus) и перейдите к /home/sundar/.local/share/nautilus/scripts. Вы должны увидеть файл с именем set_foldericon. Теперь щелкните правой кнопкой мыши на этом файле, выберите «Свойства», затем выберите «Разрешения» и нажмите «Разрешить выполнение файла как программу». Теперь выйдите из системы и войдите в систему. Теперь перейдите к папка, в которой хранится ваш музыкальный альбом. Щелкните правой кнопкой мыши по папке, где вы увидите второй вариант, поскольку скрипты выбирают параметр «Установить папку». Перезагрузите, нажав F5. Теперь ваши альбомы должны иметь обложки
Для установки значка одного файла или каталога используйте следующую команду
gvfs-set-attribute -t string <PATH> metadata::custom-icon <IMAGE-URL>
, где <PATH> - это путь к файлу или каталогу и <IMAGE-URI> - это URI для файла изображения, используемого в качестве значка. Для использования файла локального изображения используйте схему file:, например. г. file:///home/sundar/my-icon.png.
Теперь, чтобы применить это к одному файлам или каталогам, вы можете использовать команду loop для запуска выше программы несколько раз:
for p in <PATHS...>; do
gvfs-set-attribute -t string "$p" metadata::custom-icon <IMAGE-URL>
done
Поскольку для ввода всей команды каждый раз, когда вы хотите назначить некоторые значки, достаточно громоздко набирать всю команду, вы можете создать сценарий оболочки и сохранить его в файле, например. г. ~/.local/bin/set-custom-icon.sh:
#!/bin/sh
set -eu
case "$1" in
*://*) icon="$1";;
/*) icon="file://$1";;
*) icon="file://$(readlink -e -- "$1")";;
esac
shift
for p; do
gvfs-set-attribute -t string "$p" metadata::custom-icon "$icon"
done
Установить разрешение на выполнение в файле
chmod +x ~/.local/bin/set-custom-icon.sh
Теперь вы можете использовать скрипт следующим образом:
~/.local/bin/set-custom-icon.sh <IMAGE> <PATHS...>
Мы можем расширить эту команду, чтобы выбрать другой файл значков для каждого каталога, поскольку между ними существует простой шаблон.
for p in <PATHS...>; do
icon="$(find "$p" -mindepth 1 -maxdepth 1 \( -iname 'album*' -o -iname 'cover*' \) -a \( -iname '*.jp[eg]' -o -iname '*.jpeg' -o -iname '*.png' \) -type f -print -quit)"
[ -z "$icon" ] || gvfs-set-attribute -t string "$p" metadata::custom-icon "file://$(readlink -e -- "$icon")"
done
Для каждого пути $p это найдет регулярный файл непосредственно под $p, имя которого начинается с album или cover и заканчивается на .jpg, .jpe, .jpeg или .png (все регистро-независимые), если такой файл существует. Если существует несколько файлов, соответствующих этому шаблону, [произвольный].
Если такой файл существует, он устанавливается как значок для каталога $p.
Мы можем сделать это со сценарием, который открывает диалог файла, чтобы неоднократно запрашивать местоположение значка и без дальнейшего взаимодействия с пользователем:
for p in <PATHS...>; do
icon="$(zenity --file-selection --title="Select icon for $p" --file-filter='Supported images | *.jp[eg] *.jpeg *.png *.gif *.svg *.xpm' --file-filter='All files | *')" || break
gvfs-set-attribute -t string "$p" metadata::custom-icon "$icon"
done
(для этого требуется zenity пакет)
Есть приложение под названием CoverThumbnailer, которое делает именно то, что хочет OP. Любые jpg или png, называемые «обложка» или «папка», будут отображаться в виде уменьшенного изображения. Работает в любой папке, а не только в музыке
sudo add-apt-repository ppa:flozz/flozz
sudo apt-get update
sudo apt-get install cover-thumbnailer
Для установки значка одного файла или каталога используйте следующую команду
gvfs-set-attribute -t string <PATH> metadata::custom-icon <IMAGE-URL>
, где <PATH> - это путь к файлу или каталогу и <IMAGE-URI> является URI для файла изображения, используемого в качестве значка. Для использования файла локального изображения используйте схему file:, например. г. file:///home/sundar/my-icon.png.
Теперь, чтобы применить это к одному файлам или каталогам, вы можете использовать команду loop для запуска выше программы несколько раз:
for p in <PATHS...>; do
gvfs-set-attribute -t string "$p" metadata::custom-icon <IMAGE-URL>
done
Поскольку для ввода всей команды каждый раз, когда вы хотите назначить некоторые значки, достаточно громоздко набирать всю команду, вы можете создать сценарий оболочки и сохранить его в файле, например. г. ~/.local/bin/set-custom-icon.sh:
#!/bin/sh
set -eu
case "$1" in
*://*) icon="$1";;
/*) icon="file://$1";;
*) icon="file://$(readlink -e -- "$1")";;
esac
shift
for p; do
gvfs-set-attribute -t string "$p" metadata::custom-icon "$icon"
done
Установить разрешение на выполнение в файле
chmod +x ~/.local/bin/set-custom-icon.sh
Теперь вы можете использовать скрипт следующим образом:
~/.local/bin/set-custom-icon.sh <IMAGE> <PATHS...>
Мы можем расширить эту команду, чтобы выбрать другой файл значков для каждого каталога, поскольку между ними существует простой шаблон.
for p in <PATHS...>; do
icon="$(find "$p" -mindepth 1 -maxdepth 1 \( -iname 'album*' -o -iname 'cover*' \) -a \( -iname '*.jp[eg]' -o -iname '*.jpeg' -o -iname '*.png' \) -type f -print -quit)"
[ -z "$icon" ] || gvfs-set-attribute -t string "$p" metadata::custom-icon "file://$(readlink -e -- "$icon")"
done
Для каждого пути $p это найдет регулярный файл непосредственно под $p, имя которого начинается с album или cover и заканчивается на .jpg, .jpe, .jpeg или .png (все регистро-независимые), если такой файл существует. Если существует несколько файлов, соответствующих этому шаблону, [произвольный].
Если такой файл существует, он устанавливается как значок для каталога $p.
Мы можем сделать это со сценарием, который открывает диалог файла, чтобы неоднократно запрашивать местоположение значка и без дальнейшего взаимодействия с пользователем:
for p in <PATHS...>; do
icon="$(zenity --file-selection --title="Select icon for $p" --file-filter='Supported images | *.jp[eg] *.jpeg *.png *.gif *.svg *.xpm' --file-filter='All files | *')" || break
gvfs-set-attribute -t string "$p" metadata::custom-icon "$icon"
done
(для этого требуется zenity пакет)
Есть приложение под названием CoverThumbnailer, которое делает именно то, что хочет OP. Любые jpg или png, называемые «обложка» или «папка», будут отображаться в виде уменьшенного изображения. Работает в любой папке, а не только в музыке
sudo add-apt-repository ppa:flozz/flozz
sudo apt-get update
sudo apt-get install cover-thumbnailer
Для установки значка одного файла или каталога используйте следующую команду
gvfs-set-attribute -t string <PATH> metadata::custom-icon <IMAGE-URL>
, где <PATH> - это путь к файлу или каталогу и <IMAGE-URI> - это URI для файла изображения, используемого в качестве значка. Для использования файла локального изображения используйте схему file:, например. г. file:///home/sundar/my-icon.png.
Теперь, чтобы применить это к одному файлам или каталогам, вы можете использовать команду loop для запуска выше программы несколько раз:
for p in <PATHS...>; do
gvfs-set-attribute -t string "$p" metadata::custom-icon <IMAGE-URL>
done
Поскольку для ввода всей команды каждый раз, когда вы хотите назначить некоторые значки, достаточно громоздко набирать всю команду, вы можете создать сценарий оболочки и сохранить его в файле, например. г. ~/.local/bin/set-custom-icon.sh:
#!/bin/sh
set -eu
case "$1" in
*://*) icon="$1";;
/*) icon="file://$1";;
*) icon="file://$(readlink -e -- "$1")";;
esac
shift
for p; do
gvfs-set-attribute -t string "$p" metadata::custom-icon "$icon"
done
Установить разрешение на выполнение в файле
chmod +x ~/.local/bin/set-custom-icon.sh
Теперь вы можете использовать скрипт следующим образом:
~/.local/bin/set-custom-icon.sh <IMAGE> <PATHS...>
Мы можем расширить эту команду, чтобы выбрать другой файл значков для каждого каталога, поскольку между ними существует простой шаблон.
for p in <PATHS...>; do
icon="$(find "$p" -mindepth 1 -maxdepth 1 \( -iname 'album*' -o -iname 'cover*' \) -a \( -iname '*.jp[eg]' -o -iname '*.jpeg' -o -iname '*.png' \) -type f -print -quit)"
[ -z "$icon" ] || gvfs-set-attribute -t string "$p" metadata::custom-icon "file://$(readlink -e -- "$icon")"
done
Для каждого пути $p это найдет регулярный файл непосредственно под $p, имя которого начинается с album или cover и заканчивается на .jpg, .jpe, .jpeg или .png (все регистро-независимые), если такой файл существует. Если существует несколько файлов, соответствующих этому шаблону, [произвольный].
Если такой файл существует, он устанавливается как значок для каталога $p.
Мы можем сделать это со сценарием, который открывает диалог файла, чтобы неоднократно запрашивать местоположение значка и без дальнейшего взаимодействия с пользователем:
for p in <PATHS...>; do
icon="$(zenity --file-selection --title="Select icon for $p" --file-filter='Supported images | *.jp[eg] *.jpeg *.png *.gif *.svg *.xpm' --file-filter='All files | *')" || break
gvfs-set-attribute -t string "$p" metadata::custom-icon "$icon"
done
(для этого требуется zenity пакет)
Есть приложение под названием CoverThumbnailer, которое делает именно то, что хочет OP. Любые jpg или png, называемые «обложка» или «папка», будут отображаться в виде уменьшенного изображения. Работает в любой папке, а не только в музыке
sudo add-apt-repository ppa:flozz/flozz
sudo apt-get update
sudo apt-get install cover-thumbnailer