Автор Тема: Контекстное меню в Konqueror  (Прочитано 7401 раз)

Оффлайн SuperVisor

  • Завсегдатай
  • *
  • Сообщений: 778
  • разочарован в KDE
Контекстное меню в Konqueror
« : 07.10.2008 06:51:42 »
Опять меня будут обвинять в виндузятничестве, но RightMouseButton-way мне очень близок.
Подскажите, пожалуйста, как добавить в контекстное меню при нажатии RMB для любых файлов в Konqueror?
Например мне очень не хватает пункта "Отправить по Электронной почте" или "Отправить с помощью Skype", "Сжать и отправить", ну и другие...В центре управления KDE я нашел привязку файлов, но там можно выбрать только из ограниченного числа предустановленных компонентов для контекстного меню. Кому не сложно, поведайте как добавлять свои пункты?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Контекстное меню в Konqueror
« Ответ #1 : 07.10.2008 08:04:04 »
Правильный путь решения вашего вопроса - посмотреть в исходниках  Konqueror.
Но боюсь - это вам не подойдёт.

Оффлайн sysdba

  • Давно тут
  • **
  • Сообщений: 33
    • Email
Re: Контекстное меню в Konqueror
« Ответ #2 : 07.10.2008 20:48:39 »
Это не составляет большой трудности, расширять контекстные меню Konqueror вы можете сами.
Для этого в директории /usr/share/apps/konqueror/servicemenus необходимо создать файл с расширение desktop, например, необходимо добавить пункт "Распаковать 7z архив"
Создаем в директории /usr/share/apps/konqueror/servicemenus файл un7z.desktop, затем в любимом редакторе открываем его и заносим следующие строчки:
[Desktop Entry]
Encoding=UTF-8
ServiceTypes=application/x-7z
Actions=Unpacking7zArhive

[Desktop Action Unpacking7zArhive]
Name[ru]=Распаковать архив *.7z
Exec=7z e %F
Icon=ark

Файл состоит из двух частей:
[Desktop Entry] - где описывается сам элемент и
[Desktop Action Unpacking7zArhive] - где описывается действия над этим элементом.
Строка ServiceTypes служит для указания типов файлов, для которых наш пункт меню будет активным. Мы будем распаковывать будем только 7z архивы. Поэтому в файле un7z.desktop в строке ServiceTypes указываем тип файлов нужного нам архива application/x-7z. Теперь пункт меню Распаковать архив *.7z будет доступен только для файлов с расширением 7z.
Encoding=UTF-8 означает кодировку в какой записаны комментарии.
Actions - названия действия. Именно по этому названию привязывается вторая часть [Desktop Action Unpacking7zArhive].
Name[ru] - Этот параметр служит для локализации.
Exec - это самая главная строчка. В ней мы указываем команду и параметры для распаковки архивов.
Для распаковки указываем Exec=7z e %F Выполняем команду 7z с опцией e (распаковать архив). %F служит для передачи архиватору имени распоковываемого файла.
Icon=ark Служит для указании иконки.
Кстати в этом каталоге можно найти множество подобный файлов. Их можно изучить и по их аналогии создавать действия под свои нужды.
« Последнее редактирование: 07.10.2008 20:56:37 от sysdba »

Alexei_VM

  • Гость
Re: Контекстное меню в Konqueror
« Ответ #3 : 07.10.2008 20:55:24 »
Для этого в директории /usr/share/apps/konqueror/servicemenus необходимо создать файл

Лучше не надо! Правильнее создать файл в $HOME/.kde/share/apps/konqueror/servicemenus

Оффлайн sysdba

  • Давно тут
  • **
  • Сообщений: 33
    • Email
Re: Контекстное меню в Konqueror
« Ответ #4 : 07.10.2008 21:02:50 »
Лучше не надо! Правильнее создать файл в $HOME/.kde/share/apps/konqueror/servicemenus

На 100% процентов согласен ! Конечно же следуя правилам хорошего тона создавать лучше в $HOME/.kde/share/apps/konqueror/servicemenus 

Оффлайн bormant

  • Завсегдатай
  • *
  • Сообщений: 358
Re: Контекстное меню в Konqueror
« Ответ #5 : 08.10.2008 06:14:46 »
Конечно же следуя правилам хорошего тона создавать лучше в $HOME/.kde/share/apps/konqueror/servicemenus 
... если делаете это "чиста для себя", а не для "шоб було как у всих".
"Правильнее" -- определяется не дистрибутивом, не хотеньем, а "бизнес процессом" -- то биш делопроизводством.

Оффлайн SuperVisor

  • Завсегдатай
  • *
  • Сообщений: 778
  • разочарован в KDE
Re: Контекстное меню в Konqueror
« Ответ #6 : 09.10.2008 07:23:41 »
Класс!!! Спасибо!!!

Оффлайн Astro

  • Давно тут
  • **
  • Сообщений: 474
  • ALT Workstation 10
    • Email
Re: Контекстное меню в Konqueror
« Ответ #7 : 09.10.2008 10:35:30 »
Да, ещё можно заглянуть на kde-apps.org за уже готовыми решениями Service Menus, да и за множеством описаний и рекомендаций по их установке, правке и настройке. Собственно, после пары часов чтения материалов, вопросы отпадают сами собой, включая и разнообразные варианты самостоятельного написания.

Оффлайн icarus

  • Давно тут
  • **
  • Сообщений: 31
Re: Контекстное меню в Konqueror
« Ответ #8 : 06.01.2016 01:24:34 »
А сабж, в смысле servicemenus, в КДЕ4 работает или нет?
Да будет свет в конце тоннеля!

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Re: Контекстное меню в Konqueror
« Ответ #9 : 06.01.2016 11:29:46 »
Должен.
Андрей Черепанов (cas@)

Оффлайн icarus

  • Давно тут
  • **
  • Сообщений: 31
Re: Контекстное меню в Konqueror
« Ответ #10 : 08.01.2016 01:47:19 »
А у меня чего-то ни разу не выходило, сколь ни пробовал подружиться с 4м конком. Создаёшь ему все эти файлы, а ему вообще пофиг. Вот сейчас ещё раз сделал специально убедиться - не работает. (Хотя я щас на федоре20 еду , если в альтах дела лучше - не скрывайте, отпишите :) ).
Да будет свет в конце тоннеля!

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Re: Контекстное меню в Konqueror
« Ответ #11 : 08.01.2016 06:44:05 »
Посмотрите, как устроены сервисные файлы того же kde4-ark. Размещение поменялось на dolphinpart.
Андрей Черепанов (cas@)

Оффлайн icarus

  • Давно тут
  • **
  • Сообщений: 31
Re: Контекстное меню в Konqueror
« Ответ #12 : 10.01.2016 14:08:30 »
Посмотрите, как устроены сервисные файлы того же kde4-ark. Размещение поменялось на dolphinpart.
Ах вон оно что, опять всё поменяли!
Смотрю /usr/share/kde4/apps/dolphinpart/kpartplugins/
6 файлов.  3 - rc и 3 - desktop . Разбили на пары...
Так я так и не нашёл нигде строки Exec= . Что через них исполняется и при каких условиях, в каком меню появляются команды так и не понял. Ни в конке, ни в дельфине. 
Да будет свет в конце тоннеля!

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Контекстное меню в Konqueror
« Ответ #13 : 10.01.2016 15:03:41 »
Не понял. Тема про kde3,  а обсуждается kde4