4.2.6. Добавление собственных команд в контекстное меню KDE
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, и новая команда будет доступна только вам.
Данный текст является ознакомительным фрагментом.