4.2.6. Добавление собственных команд в контекстное меню KDE

We use cookies. Read the Privacy and Cookie Policy

4.2.6. Добавление собственных команд в контекстное меню KDE

Запустите Konqueror и щелкните правой кнопкой мыши на каком-нибудь файле. Вам чего-то не хватает? Хочется добавить какую-то команду? Или есть команда, которую вы выполняете очень часто? KDE позволяет создавать собственные команды меню, чем мы и займемся в этом пункте.

Давайте создадим дополнительную команду, которая делает файл исполняемым. Это действие очень полезно, если вы часто пишете сценарии bash (глава 8). Ведь сценарии bash — это обычные файлы, созданные в текстовом редакторе. Чтобы сценарий запускался, нужно с помощью команды chmod +x имя_файла сделать его исполняемым — но команду вводить лень, хочется все сделать мышкой…

В любимом текстовом редакторе создайте файл следующего содержания:

Листинг 4.1. Файл make_exe.desktop

[Desktop Entry]

ServiceTypes=all/allfiles

ServiceType=application/x-shellscript

Actions=MakeExe

[Desktop Action MakeExe]

Name=Make executable

Name[ru]=Сделать файл исполняемым

Exec=chmod +x %f

Icon=kfm

Рассмотрим первую секцию. Первая директива задает тип файлов, для которых можно выполнить указанное действие. В данном случае действие доступно для всех файлов (allfiles). Если вам нужно выполнить какое-то действие для каталога, то значением директивы ServiceTypes должно быть inode/directory.

Вообще в качестве значения этой директивы можно указать любой MIME-тип, например:

ServiceTypes=audio/x-mp3

Если действие должно быть выполнено для всех типов файлов, кроме некоторых, используйте директиву ExcludeServiceTypes. Например, действие архивирования не имеет смысла производить над архивами:

ServiceTypes=all/allfiles

ExcludeServiceTypes=application/x-zip,kdedevice/*

Директива Actions определяет действия, описанные в файле. В данном случае описано только одно действие MakeExe, которое определено в секции [Desktop Action MakeExe]. Директива Name — это надпись, которую вы увидите в контекстном меню KDE. Желательно писать ее на английском языке. Директива Name[ru] — это надпись, которую увидит пользователь локализованного KDE.

Директива Exec — это команда, которая будет выполнена. %f — параметр, определяющий имя файла; то есть имя файла, на котором вы щелкнули правой кнопкой, будет подставлено вместо %f.

Созданный файл сохраните под именем make_exe.desktop.

Как видите, в этом нет ничего сложного. Осталось только сохранить файл в нужном каталоге — /usr/share/apps/konqueror/servicemenus. Для записи в этот каталог нужны права суперпользователя. Если же администратор системы не вы, то скопируйте файл в каталог ~/.kde/share/apps/konqueror/servicemenus, и новая команда будет доступна только вам.

Данный текст является ознакомительным фрагментом.