Видео ролики бесплатно онлайн

Смотреть красотки видео

Официальный сайт synclub 24/7/365

Смотреть видео бесплатно

26.01.10 14:04

DariaДекорируем Папки-Альбомы

После таково знатного поста о смене изображения папки решила добавить немного красоты в мою медиатеку. Вот накидала скрипт, который ищет в текущей или переданной папке картинки-обложки (что-нибудь вроде Cover.jpg) или просто случайные картинки, и лепит их на место стандартной иконки папки, к примеру папки-альбома.

Скрипт работает как в бэш, так и как скрипт для Nautilus. А вот и листинг:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73

#!/bin/bash
#
#       folderdecorater 0.2.1
#
#       Скрипт заменяет в Nautilus иконку папки другой картинкой.
#       Можно использовать как с аргументом PATH_TO_DIRECTORY для
#       папки которую нужно украсить, так и без (что равносильно ./)
#

# немного цветов
RED='\e[1;31m'
GREEN='\e[1;32m'
BLUE='\e[1;34m'
NC='\e[0m'

if (($# > 0))                                           # проверяем наличие аргументов
        then
                if [ -d "$1" ]                          # аргумент - директория?
                        then
                                FOLDER_NAME=$1                   
                        else                            # аргумент не директория
                                echo -e "Bad news, Harry, Ron spelled Flagrate cause ${RED}your argument is wrong!${NC}"
                                exit 1         
                fi
        else                                            # аргументов нет,
                FOLDER_NAME=$PWD                        # остались факты
fi

# ищем картинки, сохраним список и запомним количество улова
COUNT=$(find . -iname "*.png" -o -name "*.jpg" -o -name "*.gif" | tee /tmp/_icons | wc -l)
if (($COUNT))  
        then           
                # возможно есть изображение с именем файла *front* или *cover*?
                TEMPVAR=$(      while read ;
                                do echo ${REPLY##*/};
                                done < /tmp/_icons | grep -m 1 -i -E "(front|cover)")
                # если нет,
                if (($?))      
                        then
                                # то подойдёт случайное изображение
                                ICONfile=$(cat /tmp/_icons | awk NR==$((($RANDOM % $COUNT)+1))   )
                        else
                                # а если выше всё-же нашлись *front* или *cover* ?
                                # запомним путь к файлу, может же и в поддиректориях быть!
                                ICONfile=$(grep -m 1 $TEMPVAR /tmp/_icons)
                fi             
                # добавим путь
                FOLDER_IMAGE=$FOLDER_NAME/${ICONfile#*/}
        # ни одной картинки? что-ж используем стандартную иконку папки
        else                   
                FOLDER_IMAGE=gnome-folder
                DOLPHIN_NOICON=1
fi
# колдовство !
gvfs-set-attribute -t string "$FOLDER_NAME" metadata::custom-icon file://"$FOLDER_IMAGE"

# колдовство
if (($DOLPHIN_NOICON))
        then
                :
        else
                convert $FOLDER_IMAGE -resize 128x128 .folder.png
                echo -e "[Desktop Entry]\nIcon=.folder.png" > .directory
fi

# сообщим об исходе колдовства.
if (($?))
        then
                echo -e "Bad news, Harry, decorating ${RED}goes wrong!${NC}"
        else
                echo -e $BLUE"$FOLDER_NAME"$NC is decorated with $GREEN"$FOLDER_IMAGE"$NC      
fi


зы: Следующей забавой я думаю написать скрипт, который бы рекурсивно проходил всю медиатеку, искал папки-альбомы, то есть те, непосредственно в которых бы были аудиофайлы, и вызывать в этих папках приведённый в этом посте скрипт.

зы2: Как бы заменить эту страшную конструкцию 33-35 строках? идея в том, чтоб искать любой файл в имени которого встречается front или cover, причём именно в имени, а не в пути к файлу. Сложность (для меня) заключается в том, чтобы ещё и запоминать путь, где такой файл лежит. Надеюсь понятно объяснила.

зы3: Работает и для Dolphin/KDE, так что в Amarok наведена красота.

зы4: Помогите с дефолтным значком для папки, по умолчанию он называется просто folder. Через скрипт я устанавливаю его если в субдиректориях не были найдены картинки. Однако, вместо значка папки по умолчанию появляется значок файла по умолчанию. В чём дело?


Теги:

digiwhite 26.01.10 14:26 # +0
find $FOLDER -type f -name "folder.jpg" -o -name "cover.jpg" - exec ...

Например так :)

ЗЫ: толком не глядел скрипт, т.к. с КПК смотриться криво.

ЗЗЫ: была такая идея. Думаю, что еще можно запихать скрипт в крон, и пусть он там пару раз в сутки (или с нужной переодичностью) запускает скрипт. Т.о. создаем альбомы, кидаем в них обложку и через некоторое время они обновляются :)
digiwhite 26.01.10 14:30 # +0
Ступил :) Используйте утилиту basename для получения короткого(без пути) имени файла, которое за тем можно grepнуть.
guineapig 26.01.10 14:53 # +0
Интересно доработать ваш скрипт так чтобы он составлял коллажик того что находиться в папке... Мило бы выглядело.
Username 26.01.10 15:18 # +3
девушки, пишущие скрипты вызывают во мне религиозный ужас и трепет
Shtsh 26.01.10 15:20 # +2
Угу, таких нужно любить и не отпускать. И поклоняться им :)
Username 26.01.10 15:25 # +1
а, ну и кстати Dolphin и coolface.jpg :)
Daria 26.01.10 18:12 # +0
допилю быстренько версию для дельфина, ибо это легко, ну и кулфейс тоже придётся придумать :)
Username 26.01.10 19:24 # +1
тык он умеет. Вроде...
Daria 27.01.10 00:27 # +0
ну теперь скрипт умеет, кулфейс ещё не прикрутила :)
Aesdana 26.01.10 18:10 # +0
Я со воим pcmanfm о таких вещах даже не заморачиваюсь )
digiwhite 26.01.10 19:04 # +0
А чем этот файл-манагер так хорош?
Aesdana 26.01.10 19:51 # +3
Попроще будет. А обложки альбомов я наблюдаю вот так:
Image downloaded service ITmages
ZogG 26.01.10 20:35 # +2
как всегда, твои скрины превосходны. Аесдана, роди мне ребенка
Daria 26.01.10 22:15 # +0
расскажи, что у тебя тут, и как оно всё работает?
ZogG 26.01.10 22:27 # +0
я думаю она коньки настроила так
Aesdana 26.01.10 22:30 # +2
Коньки, конфиг - солянка из старых запасов и найденное на девиантарте. Обоина, оттуда же. Pekwm, bmpanel, sonata, pcmanfm, gajim, deluge, sakura (хотя обычно использую tilda). Темы панели и гтк - заимствованные и передланные )
ZogG 26.01.10 20:35 # +0
соглашусь с Аесданой. альбома обложку надо только при проигрывание смотреть. так как по папкам мало кто лазиет, для этого давно же есть медиатека(медиа библиотека, или как там она у вас в плеере называется) - один раз добавил и не лазиешь туда больше.у меня ооооооочень много музыки, представляю как я залезу в папку с музыкой и у меня скрипт попробует пару сотню папок поменять в картинки, вот это будет жесть.
Aineko 12.02.10 18:11 # +0
а как же, то что было в .directory затирается? недочет.
Daria 13.02.10 10:09 # +0
да, верно. quick'n'dirty решение, но меня для фонотеки устраивало. может быть перепишу, пока же не знаю ещё.

Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии
      Изменения
        Посты Комментарии Изменения Черновики Избранное
        Черновики (все)
          Посты Комментарии Изменения Черновики Избранное
          Избранное (всё)
            Посты Комментарии Изменения Черновики Избранное
            Лучшие блоги (все 102)
            Топ пользователей Топ блогов
            Топ пользователей Топ блогов
            Элита (все 2055 из 156 городов)
            Топ пользователей Топ блогов

            Новенькие: rst-10h, sirnet, sherbakov, mrkot, kot
            welinux.ru

            Смотреть онлайн бесплатно

            Онлайн видео бесплатно


            Смотреть русское с разговорами видео

            Online video HD

            Видео скачать на телефон

            Русские фильмы бесплатно

            Full HD video online

            Смотреть видео онлайн

            Смотреть HD видео бесплатно

            School смотреть онлайн