и опять контекстное меню

Настройка графического интерфейса, Иксов, десктопов, оконных менеджеров и иксовых терминалов

Модератор: Модераторы разделов

Аватара пользователя
lukomore
Сообщения: 117
ОС: Windows 7

и опять контекстное меню

Сообщение lukomore »

все же не нашел решения этого вопроса. нужны два пункта: "Содать документ док" и "Отправить на рабочий стол". кде3.5.
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4462
Статус: GNU generation
ОС: Debian GNU/Linux

Re: и опять контекстное меню

Сообщение Rootlexx »

lukomore писал(а):
14.05.2009 18:30
все же ни нашел решения этого вопроса. нужны два пункта "Содать документ док"

Здесь же рядом тема: «Решено: Интеграция KDE3 и OpenOffice.org».
lukomore писал(а):
14.05.2009 18:30
"Отправить на рабочий стол"

Скопировать? Переместить? Создать ссылку?
Спасибо сказали:
Аватара пользователя
lukomore
Сообщения: 117
ОС: Windows 7

Re: и опять контекстное меню

Сообщение lukomore »

Rootlexx писал(а):
14.05.2009 22:18
Скопировать? Переместить? Создать ссылку?

конечно ссылку создать!
Спасибо сказали:
Kast
Сообщения: 9
ОС: openSUSE 11.1

Re: и опять контекстное меню

Сообщение Kast »

К вопросу пункта "Отправить куда-то..."
1) Создаем в домашнем каталоге файл с именем send-to-desktop.sh вида:
(ЕСЛИ НАДО СКОПИРОВАТЬ)

Код: Выделить всё

#!/bin/sh

/opt/kde3/bin/kfmclient copy "$@" "$HOME/Desktop/"

(ЕСЛИ НАДО СОЗДАТЬ СИМЛИНК)

Код: Выделить всё

#!/bin/sh

ln -s "$@" "$HOME/Desktop/"

(сделан на основе /opt/kde3/bin/publish_item, ненужное порезано)

2) делаем его исполняемым (щелк правой кнопкой на файл в Konqueror, Права, ставим галочку Является выполняемым, ОК)
3) заходим в папку /home/kast/.kde/share/apps/konqueror/servicemenus
(лучше скопировать путь и вставить в адресную строку Konqueror, потому что каталог .kde (с точкой в начале) - по умолчанию скрытый)
4) создаем там файл с именем send-to-desktop.desktop вида:

Код: Выделить всё

[Desktop Entry]
X-SuSE-translate=true
Type=Application
Name=Send To Desktop
ServiceTypes=allfiles
Actions=SendToDesktop;

[Desktop Action SendToDesktop]
Name=Send To Desktop
Name[ru]=Отправить на рабочий стол
Comment=Send To Desktop
Comment[ru]=Отправить на рабочий стол
Icon=desktop
Exec=/home/<ИМЯ_ПОЛЬЗОВАТЕЛЯ>/send-to-desktop.sh

(сделано из /opt/kde3/share/apps/konqueror/servicemenus/kaffeine_play_dvd.desktop)

(Разумеется, заменяем <ИМЯ_ПОЛЬЗОВАТЕЛЯ> на имя пользователя :) )
5) Пробуем вызвать контекстное меню для какого-нибудь файла.
Сработать должно сразу, без перезагрузки/перелогина/перезапуска Konqueror.
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4462
Статус: GNU generation
ОС: Debian GNU/Linux

Re: и опять контекстное меню

Сообщение Rootlexx »

Kast
Почти оптимально, только:
  • строка «X-SuSE-translate=true» не нужна;
  • «ServiceTypes=allfiles» — лучше использовать «all/all», так как создавать ссылки на каталоги тоже может понадобиться;
  • полезно в блок «Desktop Entry» добавить «StartupNotify=false», чтобы не появлялось ничего на панели задач во время исполнения;

Далее, в скрипте лучше использовать такую команду:

Код: Выделить всё

ln -s "$@" --target-directory "$(xdg-user-dir DESKTOP)"
, а в «Exec=» добавить в конец строки через пробел «%F» — тогда скрипт получит на вход сразу все имена каталогов/файлов, а не будет вызываться для каждого в отдельности.
Спасибо сказали:
Kast
Сообщения: 9
ОС: openSUSE 11.1

Re: и опять контекстное меню

Сообщение Kast »

Rootlexx

Open Source в действии :)
Осталось послать описание разработчикам KDE, чтобы те сделали это стандартной функцией...
Спасибо сказали: