digiwhite 26.01.2010 00:32
GNOME — Смена изображения папки с помощью Nautilus Actions
Решил написать данный опус, поглядев на посты: "Python и плейлист Audacious" и "Картинка для nautilus folder". Все ниже описанное позволит нам через контекстное меню в Nautilus устанавливать любое выбранное нами изображение для указанной папки.Итак, нам понадобятся: файловый менеджер Nautilus, расширение Nautilus Actions (как установить Nautilus Actions см. пост "Python и плейлист Audacious") и утилита zenity для выбора нужного изображения.
Далее, напишем небольшой bash скрипт, который положим себе в ~/scripts/nautilus/. Этот скрипт будет принимать в качестве параметра путь к папке, изображение которой мы хотим сменить:
UPD от 30.01.2010: добавил в скрипт расширение svg, забыл его как-то :).
Сохраняем данный скрипт под именем change_folder_image.sh (или другое, которое вам удобно) и не забываем выставить для него права на выполнение:
1 |
|
Скрипт прост. Сначала проверяем количество параметров (папка должна быть указана), затем переменной $FOLDER присваиваем имя переданной папки. if < ! -d $FOLDER > ; then ... fi проверяет, существует ли папка с указанным именем.
Далее интересный момент. Используем утилиту zenity. Эта утилита предоставляет некоторые полезные возможности для создания различных типов диалоговых окон. Например: диалог выбора файла(файлов), диалог ввода текста, диалоговое окно с прогрессбаром и т.п. (см. zenity --help). В нашем случае мы используем утилиту для выбора изображения, которое хотим установить в качестве изображения папки. Итак в качестве параметров zenity мы указываем:
--file-selection - показать окно выбора файлов;
--file-filter="*.png" --file-filter="*.ico" --file-filter="*.jpg" - установка фильтров для отображения файлов только заданного формата.
Если мы выбрали файл, то zenity вернет нам полное имя выбранного файла (например /home/digiwhite/images/folder_image.png). Если же мы отказались выбирать файл, то zenity вернет пустую строку. Это как раз и проверяется в if < ! $FOLDER_IMAGE > ; then ... fi
Ну и в конце концов выполняем действие, описанное в посте "Картинка для nautilus folder".
Теперь пришло время создать Nautilus Actions. Делаем в консоли или Alt+F2 и вписываем:
1 |
|
Получаем такое вот окошко:
Нажимаем кнопку "Добавить". Получаем следующее окошко, где во вкладке "Action" вписываем приблизительно следующее:
Поле "Текст пункта меню" - это то, как будет называться пункт в контекстном меню;
Поле "Подсказка" - так понимаю, подсказка к данному элементу :);
Поле "Значок" - значок, соответствующий вашему элементу меню;
Поле "Путь" - путь к нашему скрипту, который я описал выше;
Поле "Аргументы" - тут указываем различные аргументы. У нас это формальный параметр %M, обозначающий, что в скрипт будет передаваться полное имя выбранной директории.
Далее выбираем вкладку "Условия":
Выставляем радиокнопку "Только папки"-это заставит появляться наш элемент меню только для папок. В поле "Типы MIME" вписываем inode/directrory, что соответствует папке. Далее выбираем вкладку "Дополнительные условия" и устанавливаем глочку напротив схемы "file - Локальные файлы", если она не установлена:
Затем жмем "Ok", затем "Закрыть". Собственно говоря, на этом все :). Теперь при клике на папку у нас будет появляется контекстное меню, содержащее наше новое, созданное нами, действие:
P.S.: если новый элемент меню не появился, то возомжно надо перезапустить Nautilus либо вообще перелогиниться (если у вас Gnome).
Волег 26.01.2010 07:33 #
+ 1 -
А ещё изображение папки можно сменить из окна свойств папки, что быстрее и проще.
А ещё можно не умничать, а посмотреть внимательно топик + вникнуть в суть проблемы.
Проще-да :) Быстрее? Фактически-нет :)
Смысл был еще раз показать, что есть пути расширения функциональности файл-менеджера в гноме, причем сложностей оно никаких не предоставляет.
ЗЫ: еще есть идея более глубоко поковыряться где и как оно устроено и, тогда, попробовать запаковать это в deb. Ну чтобы оно было доступно для всех :)
Смысл был еще раз показать, что есть пути расширения функциональности файл-менеджера в гноме, причем сложностей оно никаких не предоставляет.
ЗЫ: еще есть идея более глубоко поковыряться где и как оно устроено и, тогда, попробовать запаковать это в deb. Ну чтобы оно было доступно для всех :)
Автору на заметку: Alt+PrintScreen делает снимок активного окна, а не всего экрана в целом : ) Облегчает создание шотов, так как не надо обрезать
Alt+PrintScreen делает снимок активного окна, а не всего экрана в целом
только в Гноме
У меня сейчас гном, так что будет полезно знать. Спасибо за подсказку :)
У меня и у Краплакса =) Принтскрин по умолчанию вообще не делал скриншот =) Он ничего не делал =) Нужно было назначать
в кедах вызывается ksnapshot, который и захватит нужное окно, и вырежет что нужно, и задержку сделает
Ты не прав.
У меня принтскрин вызывает кнсапшот это да =)
А вот альт + принскрин уже не работает
У меня принтскрин вызывает кнсапшот это да =)
А вот альт + принскрин уже не работает
я не про то, что по альт+прнтскрн вылезет он. Я к тому, что в нем куча плюшек, чтобы это сделать, уже его запустив
а я тут недавно столкнулся с проблемой, надо было много файлов распечатать. пришлось открывать каждый и запускать на печать по отдельности. можно ли как то добавить в контекстное меню файлов функцию печати. ну и желательно не только наутилус но и на тунар решение, а лучше и в кде(тут много кдеешников)
ну думаю маловато для отдельного топика, у меня щас времени нет, потом поищу решения(может уже есть) и зарепорчу фичуар реквест на тунаре и наутилусе, а в кедах может кто из вас
Думаю это возможно. Надо только понять-как заслать на печать файл не из под ООо (или другого пакета)
В конце недели думаю запилю топики по вашей тематике + упаковка всего этого дела в deb (но т.к. у вас гента, то эта часть вам вряд ли будет интересна).
Кстати, хочу заметить что использование Nautilus скриптов, может ухудшить производительность.
Боюсь что ничем кроме собственного опыта не могу поделиться.
После установки как уже существующих скриптов, так и самописных, наутилус начинал глючить, и тормозить до жути.
Конечно это может быть связано с моим тормозом компьютером или с слишком сырой версией убунты, а может просто гном старый был. Но я вынес тот факт что он начинает глючить.
Я как-нить попробую опять воспользоваться, чтобы подтвердить или опровергнуть свои слова.
Если окажется что я ошибался - я сообщу!
После установки как уже существующих скриптов, так и самописных, наутилус начинал глючить, и тормозить до жути.
Конечно это может быть связано с моим тормозом компьютером или с слишком сырой версией убунты, а может просто гном старый был. Но я вынес тот факт что он начинает глючить.
Я как-нить попробую опять воспользоваться, чтобы подтвердить или опровергнуть свои слова.
Если окажется что я ошибался - я сообщу!