RSS

ServiceMenu w Dolphinie pod KDE4

28 Sier

Przesiadka na KDE4 zakończyła się sukcesem jednak zaczęło brakować mi paru bajerów z KDE3 i z nim związanymi programami. Jedną z takich rzeczy jest właśnie ServiceMenu z Dolphina. Menu to pojawia się po kliknięciu prawym przyciskiem myszki na pliku/folderze i zależnie od pliku udostępnia nam różne opcje, np kliknięcie na archiwum .zip pozwalalo szybko i łatwo rozpakować pliki a z kolei kliknięcie na film pozwala w łatwy sposób ściągnąć napisy przy pomocy QNapi. Tworzenie własnym elementów tego menu jest bardzo łatwe. W tym wpisie pokażę jak zaimportować niektóre dodatki do tego menu z poprzedniej wersji Dolphina oraz jak tworzyć własne.

Gdzie można znaleźć elementy należące do ServiceMenu

pod KDE3 robiło się to poleceniem :
$ kde-config --path services

w KDE4 polecenie jest niemal identyczne :
$ kde4-config --path services
/home/USER/.kde4/share/kde4/services/:/usr/lib/kde4/share/kde4/services/

Import starych elementów ServiceMenu

skrypt zapisujemy do pliku, dajemy mu prawa do wykonania (chmod +x plik) i odpalamy z poziomu zwykłego użytkownika

#!/bin/bash
kdeinstdir=`kde-config --prefix`
cp $kdeinstdir/share/apps/konqueror/servicemenus/* ~/.kde4/share/kde4/services/ServiceMenus/
cd ~/.kde4/share/kde4/services/ServiceMenus/
sed -i "s/\[Desktop Entry\]/\[Desktop Entry\]\nType=Service/" *
sed -i "s/ServiceTypes\=/ServiceTypes\=KonqPopupMenu\/Plugin\,/" *

skrypt do ściągnięcia tutaj

Tworzenie własnych elementów ServiceMenu

1. Plik musi składać się z NAZWY i „rozszerzenia” .desktop
ark-extract.desktop

2. Każdy plik musi zawierać te elementy
[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin,all/allfiles,inode/directory
Actions=Extract;PackZIP;PackTarBz2

w ServiceTypes= zaznaczamy jakich plików ma dotyczyć nasze menu, jeżeli plik nie będzie zgadzał się z zaznaczonymi tam to nie będzie pokazywane to menu

ServiceTypes=KonqPopupMenu/Plugin
MimeType=image/png;image/jpeg;

Menu tylko dla plików JPEG i PNG

Actions=Extract;PackZIP;PackTarBz2
tutaj wpisujemy poszczególne sekcje naszego skryptu

Jeżeli chcemy stworzyć dodatkowe podmenu musimy dodać :
X-KDE-Submenu=Archiwa

[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin,all/allfiles,inode/directory
Actions=Extract;PackZIP;PackTarBz2
Encoding=UTF-8
X-KDE-Submenu=Archiwa

Teraz przechodzimy do dodawania funkcji do naszego menu
Wyżej wypisaliśmy sekcje jakie mają być w naszym skrypcie Actions=Extract;PackZIP;PackTarBz2

[Desktop Action Extract]
Name=Rozpakuj
Icon=ark
Exec=ark -caption "%c" %i %m --guess-name --extract-to "%d" "%u"

[Desktop Action PackZIP]
Name=Spakuj ZIP
Icon=ark
Exec=ark --add-to %u %u.zip

[Desktop Action PackTarBz2]
Name=Spakuj Tar.Bz2
Icon=ark
Exec=ark --add-to %u %u.tar.bz2

[Desktop Action PackTarBz2]
Musi zgadzać się z tym co zostało wpisane do Actions=
Name= to nazwa jaka pokaże się po rozwinięciu menu
Exec=ark –add-to %u %u.tar.bz2
to polcenie jakie ma zostać wykonane po kliknięciu na dane menu
%U oznacza plik
dozwolone jest używanie elementów z kdialog

Jeżeli chcemy wykonywać polecenia z uprawnieniami roota musimy dodać taki wpis do Exec=
Exec=kdesu kate %U

Gotowy skrypt rozpakowujący i pakujący przy pomocy Ark’a

[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin,all/allfiles,inode/directory
Actions=Extract;PackZIP;PackTarBz2
Encoding=UTF-8
X-KDE-Submenu=Archiwa

[Desktop Action Extract]
Name=Rozpakuj
Icon=ark
Exec=ark -caption "%c" %i %m --guess-name --extract-to "%d" "%u"

[Desktop Action PackZIP]
Name=Spakuj ZIP
Icon=ark
Exec=ark --add-to %u %u.zip

[Desktop Action PackTarBz2]
Name=Spakuj Tar.Bz2
Icon=ark
Exec=ark --add-to %u %u.tar.bz2

http://mojebzdury.info/wp/ark-extract.desktop

Przydatne linki :
http://techbase.kde.org/Development/Tutorials/Creating_Konqueror_Service_Menus
http://kubuntuforums.net/forums/index.php?topic=3088743.0
http://www.kde-apps.org/content/show.php/KDE4-servicemenus?content=80131

Reklamy
 
1 Komentarz

Opublikował/a w dniu Sierpień 28, 2008 w Linux, ubuntu

 

Tagi: ,

One response to “ServiceMenu w Dolphinie pod KDE4

  1. michał

    Grudzień 13, 2009 at 9:53 am

    super art. dzieki

     

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s

 
%d blogerów lubi to: