Встановлення обкладинки для каталогу
Забажав зробити, щоб для всіх музикальних альбомів відображувалася обкладинка альбому.
Складного тут нічого немає, але клацати мишею та обирати для кожного альбому обкладинку за допомогою Конкверора якось не має жодного бажання.
Взагалі що для окремого каталогу відображувалась не стандартне зображення достатньо створити в ньому файл .directory з таким змістом:
[Desktop Entry]
Icon=Посилання_на_зображення
Тому вирішив дещо спростити собі життя та написав дію для mc-меню:
=+ f .jpg$ | f .jpeg$ | f .gif$ | f .png$
f Встановити як обкладинку каталогу
unset EXT
case %f in
*.png) EXT=png;;
*.jpg) EXT=jpg;;
*.jpeg) EXT=jpeg;;
*.gif) EXT=gif;;
esac
if [ "$EXT" != "png" ]; then
NAME=%f
else
NAME="`basename %f .$EXT`.png"
convert %f $NAME
fi
if [ -f $NAME ]; then
echo "[Desktop Entry]
Icon=./"$NAME >.directory
fi
Тобто, якщо додати до mc-меню ці рядки, то встановлення обкладинки для каталогу зводиться до того що обравши зображення, тиснемо F2 -> f, після цього цей невеличкий скрипт конвертує зображення до формату .png та створить файл .directory.
А ось дещо змінена версія. Зміни полягають в тому, що оригінальний файл не зберігається та файл для обкладинки буде створюватись з ім’ям cover.png
=+ f .jpg$ | f .jpeg$ | f .gif$ | f .png$
f Встановити як обкладинку каталогу (cover.png)
if [ "%f" != "cover.png" ]; then
unset EXT
case %f in
*.png) EXT=png;;
*.jpg) EXT=jpg;;
*.jpeg) EXT=jpeg;;
*.gif) EXT=gif;;
esac
if [ "$EXT" != "png" ]; then
convert %f cover.png
else
cp %f cover.png
fi
if [ -f cover.png ]; then
rm -f %f
fi
fi
if [ -f cover.png ]; then
echo "[Desktop Entry]
Icon=./cover.png" >.directory
fi