Журнал LinuxFormat - перейти на главную

LXF102:Совет месяца

Материал из Linuxformat
Перейти к: навигация, поиск

Совет месяца: Сервисные меню 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.

Персональные инструменты
купить
подписаться
Яндекс.Метрика