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

Смотреть узб видео

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

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

26.01.10 00:32 digiwhite

GNOMEСмена изображения папки с помощью Nautilus Actions

Решил написать данный опус, поглядев на посты: "Python и плейлист Audacious" и "Картинка для nautilus folder". Все ниже описанное позволит нам через контекстное меню в Nautilus устанавливать любое выбранное нами изображение для указанной папки.

Итак, нам понадобятся: файловый менеджер Nautilus, расширение Nautilus Actions (как установить Nautilus Actions см. пост "Python и плейлист Audacious") и утилита zenity для выбора нужного изображения.

Далее, напишем небольшой bash скрипт, который положим себе в ~/scripts/nautilus/. Этот скрипт будет принимать в качестве параметра путь к папке, изображение которой мы хотим сменить:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

#!/bin/bash

if [ $# != 1 ] ; then
  exit 3
fi

FOLDER_NAME=$1

if [ ! -d $FOLDER_NAME ] ; then
  exit 3
fi

FOLDER_IMAGE=`zenity --file-selection --file-filter="*.svg" --file-filter="*.png" --file-filter="*.ico" --file-filter="*.jpg"`

if [ ! $FOLDER_IMAGE ] ; then
  exit 3
fi


gvfs-set-attribute -t string "$FOLDER_NAME" metadata::custom-icon file://$FOLDER_IMAGE   

 


UPD от 30.01.2010: добавил в скрипт расширение svg, забыл его как-то :).

Сохраняем данный скрипт под именем change_folder_image.sh (или другое, которое вам удобно) и не забываем выставить для него права на выполнение:
chmod ug+x change_folder_image.sh

Скрипт прост. Сначала проверяем количество параметров (папка должна быть указана), затем переменной $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 и вписываем:
nautilus-actions-config

Получаем такое вот окошко:


Нажимаем кнопку "Добавить". Получаем следующее окошко, где во вкладке "Action" вписываем приблизительно следующее:
  • Поле "Текст пункта меню" - это то, как будет называться пункт в контекстном меню;

  • Поле "Подсказка" - так понимаю, подсказка к данному элементу :);

  • Поле "Значок" - значок, соответствующий вашему элементу меню;

  • Поле "Путь" - путь к нашему скрипту, который я описал выше;

  • Поле "Аргументы" - тут указываем различные аргументы. У нас это формальный параметр %M, обозначающий, что в скрипт будет передаваться полное имя выбранной директории.

Далее выбираем вкладку "Условия":


Выставляем радиокнопку "Только папки"-это заставит появляться наш элемент меню только для папок. В поле "Типы MIME" вписываем inode/directrory, что соответствует папке. Далее выбираем вкладку "Дополнительные условия" и устанавливаем глочку напротив схемы "file - Локальные файлы", если она не установлена:


Затем жмем "Ok", затем "Закрыть". Собственно говоря, на этом все :). Теперь при клике на папку у нас будет появляется контекстное меню, содержащее наше новое, созданное нами, действие:
66710638.th.png

P.S.: если новый элемент меню не появился, то возомжно надо перезапустить Nautilus либо вообще перелогиниться (если у вас Gnome).



Волег 26.01.10 07:33 # +1
А ещё изображение папки можно сменить из окна свойств папки, что быстрее и проще.
exelens 26.01.10 08:34 # +-1
А ещё можно не умничать, а посмотреть внимательно топик + вникнуть в суть проблемы.
digiwhite 26.01.10 09:42 # +0
Проще-да :) Быстрее? Фактически-нет :)

Смысл был еще раз показать, что есть пути расширения функциональности файл-менеджера в гноме, причем сложностей оно никаких не предоставляет.

ЗЫ: еще есть идея более глубоко поковыряться где и как оно устроено и, тогда, попробовать запаковать это в deb. Ну чтобы оно было доступно для всех :)
xT 26.01.10 08:39 # +2
Автору на заметку: Alt+PrintScreen делает снимок активного окна, а не всего экрана в целом : ) Облегчает создание шотов, так как не надо обрезать
exelens 26.01.10 09:11 # +-1
Alt+PrintScreen делает снимок активного окна, а не всего экрана в целом
только в Гноме
digiwhite 26.01.10 09:35 # +0
У меня сейчас гном, так что будет полезно знать. Спасибо за подсказку :)
xT 26.01.10 10:04 # +0
в КДЕ нет?!
exelens 26.01.10 10:25 # +0
У меня и у Краплакса =) Принтскрин по умолчанию вообще не делал скриншот =) Он ничего не делал =) Нужно было назначать
Username 26.01.10 11:35 # +0
ksnapshot по умолчанию не стоял просто
exelens 26.01.10 22:13 # +0
Стоял =) но на принтскрин он не был назначен
Username 26.01.10 10:27 # +1
в кедах вызывается ksnapshot, который и захватит нужное окно, и вырежет что нужно, и задержку сделает
exelens 26.01.10 22:14 # +0
Ты не прав.
У меня принтскрин вызывает кнсапшот это да =)
А вот альт + принскрин уже не работает
Username 26.01.10 22:29 # +0
я не про то, что по альт+прнтскрн вылезет он. Я к тому, что в нем куча плюшек, чтобы это сделать, уже его запустив
ZogG 26.01.10 10:30 # +0
вот тут я писал о гтк проге для скриншотов удобной если что
ZogG 26.01.10 09:54 # +0
а я тут недавно столкнулся с проблемой, надо было много файлов распечатать. пришлось открывать каждый и запускать на печать по отдельности. можно ли как то добавить в контекстное меню файлов функцию печати. ну и желательно не только наутилус но и на тунар решение, а лучше и в кде(тут много кдеешников)
exelens 26.01.10 10:26 # +0
Вопрос отдельным топиком?
ZogG 26.01.10 10:31 # +0
ну думаю маловато для отдельного топика, у меня щас времени нет, потом поищу решения(может уже есть) и зарепорчу фичуар реквест на тунаре и наутилусе, а в кедах может кто из вас
digiwhite 26.01.10 10:38 # +0
Думаю это возможно. Надо только понять-как заслать на печать файл не из под ООо (или другого пакета)
digiwhite 27.01.10 00:35 # +0
В конце недели думаю запилю топики по вашей тематике + упаковка всего этого дела в deb (но т.к. у вас гента, то эта часть вам вряд ли будет интересна).
ZogG 27.01.10 00:48 # +0
сделай сурсом тогда, а я поламаю голову как ебилд сделать
digiwhite 27.01.10 06:30 # +0
Дык так и придется делать.
guineapig 26.01.10 12:54 # +0
Кстати, хочу заметить что использование Nautilus скриптов, может ухудшить производительность.
Daria 26.01.10 13:23 # +1
чем именно?
digiwhite 26.01.10 13:23 # +0
Хотелось бы побольше информации.
guineapig 26.01.10 14:31 # +0
Боюсь что ничем кроме собственного опыта не могу поделиться.
После установки как уже существующих скриптов, так и самописных, наутилус начинал глючить, и тормозить до жути.
Конечно это может быть связано с моим тормозом компьютером или с слишком сырой версией убунты, а может просто гном старый был. Но я вынес тот факт что он начинает глючить.
Я как-нить попробую опять воспользоваться, чтобы подтвердить или опровергнуть свои слова.
Если окажется что я ошибался - я сообщу!
digiwhite 30.01.10 15:25 # +0
Добавил расширение *.svg для выбора :). А то как-то досадно забыл про него.

Лучшие блоги (все 140)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Элита (все 2734 из 212 городов)
Топ пользователей Топ блогов
welinux.ru

В хорошем качестве hd видео

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


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

Online video HD

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

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

Full HD video online

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

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

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