Библиотека сайта rus-linux.net
Приемы работы в Ubuntu.
Глава 2: Рабочий стол Linux
Оригинал: "Ubuntu Hacks / The Linux Desktop"
Авторы: Кайл Ранкин, Джонатан Оксер, Билл Чайлдерс (Kyle Rankin, Jonathan Oxer, Bill Childers)
Дата публикации: June 2006
Перевод: Н.Ромоданов
Дата перевода: август 2010 г.
Совет # 24: Настраиваем контекстное меню, вызываемое правой кнопкой мыши
Напишите свои собственные скрипты, которые будут выполнять необходимые вам действия, когда вы щелкните правой кнопкой мыши по файлу, директорию или рабочему столу, а также добавьте шаблоны для быстрого и беспроблемного создания документов.
Если щелкнуть правой кнопкой мыши по объектам, расположенным на рабочем столе или в файловом браузере Nautilus, то появится контекстное меню, которое позволит вам выполнять операции непосредственно с этими объектами. Но вы не ограничены только возможностями, определенными по умолчанию, вы можете добавить в меню шаблоны документов и скрипты, к которым можно получить доступ за один щелчок мыши.
Шаблоны быстрого доступа
Если щелкнуть правой кнопкой мыши по рабочему столу или по полю фона в окне Nautilus, то появится пункт меню Create Document (Создать документ), в котором обычно есть только элемент "Empty File" ("Пустой файл"). Если вы выберите "Empty File", то будет создан новый файл с именем new file, который можно переименовать так, как вам нравится. Но новый файл будет просто абсолютно пустым. Создание документа осуществляется, в сущности, точно также:
$ touch "new file"
Впрочем, в меню легко добавить свои собственные шаблоны. Создайте в вашем домашнем директории каталог с названием Templates (Шаблоны):
$ mkdir ~/Templates
Теперь любой документ, который вы поместите в этот директорий, будет доступен в контекстном меню Create Document (Создать документ). Если меню становится большим, вы можете сгруппировать элементы в подменю, помещая их в поддиректории внутри директория Templates (Шаблоны).
Разработчики HTML могут поместить в этот директорий HTML файл с именем file.html — он будет отображаться в меню Create Document (Создать документ) как "HTML File" — и сделать его шаблоном HTML страницы. Если вы создаете много корпоративных документов с использованием шаблонов OpenOffice.org, скопируйте шаблоны в этот директорий и вы сможете создать новый документ в любом месте системы, щелкнув для этого правой кнопкой мыши и выбрав шаблон.
Если вы обнаружили, что новые шаблоны сразу не отображаются в меню, просто выйдите из GNOME и войти в него снова.
Пользовательские скрипты
Вы также можете выполнить пользовательские скрипты прямо из контекстного меню, разместив ваши скрипты в специальном директории, расположенном внутри вашей домашней директории: .gnome2/nautilus-scripts/. К любому скрипту, который вы разместите в этом месте, можно получить доступ, щелкнув правой кнопкой мыши по файлу или окну и выбрав его из подменю Scripts (Скрипты). Меню Scripts (Скрипты) недоступно, если у вас нет установленных скриптов.
Когда скрипт выполняется из контекстного меню, ему передается ряд переменных среды окружения и, как правило, ряд аргументов, поэтому с его помощью можно, при желании, обрабатывать выбранный файл. Если запустить скрипт из контекста локального директория на вашем компьютере, то в качестве аргументов ему будут переданы имена всех выбранных файлов. Если запустить скрипт из контекста директория, находящегося на удаленном компьютере [Совет # 20], например, когда в окне Nautilus показывается веб или FTP контент, то аргументы не будут передаваться в скрипт.
Также будут установлены четыре переменные окружения, к которым из скрипта можно получить доступ:
NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
- Пути к выбранным файлам, разделенные символом новой строки, если файлы находятся в локальном директории.
NAUTILUS_SCRIPT_SELECTED_URIS
- Адреса URI для выбранных файлов, разделенные символом новой строки.
NAUTILUS_SCRIPT_CURRENT_URI
- Адрес URI текущей позиции
NAUTILUS_SCRIPT_WINDOW_GEOMETRY
- Положение и размер текущего окна.
Есть даже пакеты с различными предварительно написанными коллекциями скриптов, такие как пакет Nautilus Subversion Management Scripts и пакет Nautilus Audio Convert, которые, соответственно, позволяют выполнять действия с пакетом Subversion и конвертировать аудио форматы, щелкнув по файлу правой кнопкой мыши:
$ sudo apt-get install nautilus-script-collection-svn \\ nautilus-script-audio-convert
Подсказка
Не видите меню Scripts (Скрипты), когда вы щелкаете правой кнопкой мыши? Это возможно из-за того, что Nautilus считает, что у вас нет скриптов. Для того, чтобы сообщить ему о скриптах, выберите Go→Location, в адресной строке наберите ~/.gnome2/nautilus-scripts
и нажмите Enter. Следующий раз, когда вы щелкните правой кнопкой мыши по файлу или директорию, вы должны увидеть меню Scripts (Скрипты).
В качестве простого примера, вы можете поместить в директорий ~/.gnome2/nautilus-scripts/Terminal следующий скрипт, который облегчит вам доступ к терминалу из контекстного меню:
#!/bin/sh gnome-terminal
Этот скрипт позволяет всякий раз, когда вы щелкните правой кнопкой мыши, открывать терминал в директории следующего вверх уровня. Поэтому если вы щелкните правой кнопкой мыши по иконке ~/foo, вы откроете термина, текущим директорием которого будет ~. Но, предположим, вы щелкнули правой кнопкой по некоторому директорию. Скрипт Terminal, приведенный ниже, проверит каждый элемент в переменной NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
, и, если он посчитает, что это директорий, он выполнит для него команду cd
и откроет там терминальное окно. В противном случае, он просто откроет терминал в директории, в котором содержится элемент, по которому щелкнули мышкой:
#!/bin/sh for d in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do if [ -d $d ]; then cd $d gnome-terminal exit fi done gnome-terminal
Более сложным примером использования может быть шифрование выбранного файла с помощью GPG, назначение выбранного изображения в качестве фонового для рабочего стола, или отсылки выбранного файла в качестве приложения к электронному письму. Коллекцию разнообразных скриптов, специально предназначенных для использования в контекстном меню, смотрите по ссылке http://g-scripts.sourceforge.net.
Назад | Оглавление | Вперед |