LXF102:Совет месяца
|
|
|
Совет месяца: Сервисные меню KDE
KDE поставляется с набором предварительно настроенных действий для контекстного меню. Это, конечно, неплохо, но еще лучше то, что вы можете создавать свои собственные действия. Сервисные меню определяются в .desktop-файлах, хранящихся в share/apps/konqueror/servicemenus либо в вашем домашнем каталоге, либо в директории, где установлен KDE, в зависимости от того, создаете вы их для себя или для всех пользователей компьютера.
Чтобы создать пункт меню, масштабирующий JPEG-изображение с камеры до размеров, пригодных для отправки по электронной почте, создайте в одном из этих каталогов файл shrinkImage.desktop, содержащий строки:
[Desktop Entry] ServiceTypes=image/jpeg Actions=shrinkImage
и определяющий действие, а также тип файлов, к которым оно применимо. Тип image/* обозначает любые изображения, а all/allfiles – произвольные файлы. Теперь необходимо создать действие:
[Desktop Action shrinkImage] Name=Shrink Image Icon=showfoto Exec=~/bin/shrinkimage.sh “%f”
Строка в заголовке должна соответствовать введенной в поле Actions desktop-файла; поле Name задает видимое пользователю название пункта меню, поле Icon необязательно
Вся реальная работа происходит в последней строке. %f заменяется именем выбранного файла, которое передается сценарию, вызывающему утилиту convert. Можно было выполнить эту команду непосредственно из меню, но мы используем скрипт-обертку, т.к. имя файла понадобится нам дважды, а поле Exec не может содержать более одного %f.
#!/bin/bash convert -sample 800x600 -quality 70 “$1” “${1/.jpg/_small.jpg}”
За дополнительной информацией обращайтесь к http://developer.kde.org/documentation/tutorials/dot/servicemenus.html.