Dolphin kiegészítők készítése

KDE Dolphin
Kde Dolphin

A Dolphin egy nagyszerű, egyszerű fájl kezelő eszköz a KDE alatt. Most egy kellemes tulajdonságára térek csak ki: a bővíthetőségére. A jobb fájlkezelőknél egy nem extra, hanem alap tulajdonság. A legtöbb tudja ezt, és igyekszik kényelmessé tenni. A Dolphin ezen a téren a középmezőnyben van. Bővíthetősége jó, de nem a legkényelmesebb. Ezen a téren a SpaceFM a csúcs. De aki KDE-t használ, és nem kell neki a SpaceFM négypanelos megoldása elég jól ellavírozhat a Dolphin lehetőségeivel.

Itt kifejezetten csak az alapokat vizsgálom meg, mert akit érdekel úgyis körbejárja a témát, átlagos igényt pedig ez a rövidke leírás is kielégítő. Elegendő lesz elindulni és a kellő kiegészítőket elkészíteni.

Most a jobbklikkes menük kiegészítésére koncentrálunk. Ez egyszerű művelet, nem kell hozzá más, mint egy kis fantázia.

Igen, jogos a kérdés, és a felvetés:

Van a Dolphin fájlkezelőhöz nagyon sok kész is!

Igen, van. Ezek telepítése, illetve használata egyszerű. Beállítások > Dolphin beállítása > Helyi menü > Új szolgáltatások letöltése alatt elég sok kiegészítőt lehet találni. Első lépésben ezeket érdemes átnézni. Sok jó megoldás van készen.

A böngészést itt érdemes kezdeni.

A probléma akkor lesz, ha nem találok olyant, ami nekem pontosan megfelel. Ilyenkor nincs más út, mint a saját elkészítése.

Aki nem akar nagyon belemélyedni és nem is akar nagyon érteni hozzá válassza a legegyszerűbb megoldást: egyet kinéz és azt átírja. Én egy alap sablont hoztam lérte, mert több saját megoldáshoz ez kényelmesebb.

Egyszerű Dolphin kiegészítés

A célunk egy olyan jobbklikkes menü elkészítése, amiben a kitty terminálemulátort nyitjuk meg az adott könyvtárban. A szabvány KDE5 alatt az ilyen szervicemenu dolgok a ~/.local/share/kservices5/ServiceMenus/ alatt lesznek. Ha már telepítettél ilyen kiegészítőt, akkor látni fogod, hogy kittyhere.desktop névhez hasonló a nevezéke. Ezt érdemes betartani, azaz egy értelmes név és a .desktop kiterjesztés.

Ha beléptél a könyvtárba, akkor nyiss meg egyet, és tanulmányozd át. Az egyszerűbbeknek jól átlátható a formája, én ezt fogom követni. Ez nem tesz mást csak egy almenü nélküli jobbklikkel előcsalogatható menüt (a Dolpin fájlkezelőben ) elkészít. Nekem jelenleg nem kell ennél összetettebb megoldás, az al- vagy al-almenüket most hanyagolom.

A minta legyen a kitty-s megoldásom, ami nagyon egyszerű.

[Desktop Entry]
Type=Service
X-KDE-ServiceTypes=KonqPopupMenu/Plugin
MimeType=inode/directory;
Actions=openKittyHere;
X-KDE-AuthorizeAction=shell_access

[Desktop Action openKittyHere]
TryExec=konsole
Icon=utilities-terminal
Exec=kitty --directory %f
Name=Open Kitty Here

Menjünk végig az alapokon.

Az első három sor kötelező, ezen ne változtass. Ez mondja meg a gépednek, hogy mi is ez.

A MimeType megmondja a Dolphin fájlkezelőnek, hogy melyik fájl, vagy egyéb típusoknál használhatja és jelenhet meg a menü. Ezt érdemes jól átgondolni. Nem feltétlen tudja mindenki a pontos meghatározást, én sem. Így egy kis puskát használok ehhez. A Rendszerbeállításokban rákeresek a társításokra és ott szépen fel lett sorolva ez a mimetipus.

Ha többféle is kell, akkor közé egy ; kerül:

MimeType=text/plain;text/html;text/xml;text/css;text/x-sh;text/x-csv;text/x-diff;

Tudom, az első pillanatban ez elveheti a kedvedet, de amikor az első kész, akkor már nem lesz olyan összetett. Azt tudod, hogy melyik fájltipushoz kell ez a művelet, a nevét meg összeszeded. Itt nem olyan egyszerű, mintha csak a kiterjesztést kellene megadni.

A Actions=openKittyHere; egy sima név, amit meg kell adni. Ez bármi lehet, a kis és nagybetűkre érzékeny. Ez lesz a neve a műveletnek. Itt is érdemes értelmes, a teendőre utaló elnevezést használni.

A X-KDE-AuthorizeAction=shell_access elmagyarázza. ez bizony egy shell parancsot fog használni. Én alapvetően csak egyszerű shell parancsot akarok használni, így nálam ez alapbeállítás. Ebben a fogalomkörben minden shell parancs, amit ha beírok a terminálba lefut és azt adja, amit én akarok. Ez lehet egy rövid, de lehet nagyon összetett is.

A következő blokkban már megadhatjuk magát a feladatot.

A Dolphin szervizmenü parancs része

A [Desktop Action openKittyHere] a fejléc rész, én egy nagyon egyszerű kiegészítések mellett döntöttem, így itt az előbb megadott azonosítót használom.
TryExec=konsole Ez nem feltétlen kell. A parancs amit használni fogok ebben a terminál emulátorban fusson le.
Icon=utilities-terminal Ikon a művelethez. Elhagyható elvileg, de nem hagyd el. Működni fog enélkül, de ha már egy szép felületet használunk, akkor legyen ikon is.

Itt sem tudom fejből az összes, több száz ikon nevét, meghatározását, így puskázni fogunk. Keress egy normálisabb ikon böngésző alkalmazás, és használd azt. A MX Linux alatt alapból telepítve van az Icon Browser, én azt használom.
Exec=kitty --directory %f Gondolom senkit nem lep meg, ide kell beírni azt a parancsot amit végre akarsz hajtani. Ez bármi lehet, amit leteszteltél – jelen esetben – a terminálban.

Tipp: ha saját szkriptet akarsz így futtatni, akkor annak a teljes elérési útvonalát add meg, így nem lesz vele probléma. Bár elvileg a PATH-ba megadott útvonalakon meg kellene találni…

Ha összetettebb parancsot adsz meg és egy shell váltás (bash-ról zsh-ra pld.) után nem működik jól, akkor nem a Dolphin a hibás, hanem a parancsértelmezők eltérése!
Name=Open Kitty Here A menüben megjelenő név. Bár elméletileg megadható mindenféle lokalizációhoz is egy kiegészítéssel (Name[hu]=) de aki nem terjeszti a a sajátjait felesleges. Ha olyant telepítesz, aminél nincs magyar elnevezés, megteheted, hogy beleteszed a [hu]-t is, és a magyar rendszereden a név magyar lesz.

Ezután már csak tesztelni kell.

Kockázati figyelmeztetés

Jól átgondolt munka mellett nem lehet gond a menük kiegészítésével. De mindenképp figyeljünk a „kattintgatás” veszélyeire. Egy törlési parancs, vagy egy rekurziv kapcsolóval megadott parancs nem biztosan azt az eredményt hozza meg, amit vársz. Ez az egyszerű módszer egy shell parancsot fog futtatni és nem veszi figyelembe mi van kijelölve!

Igen! Ez kevesebb lehetőség!

Valóban kevesebb a lehetőség alapból, mint egy SpaceFM, vagy akár egy ranger használatánál. A Dolphin célközönsége nem is egy szkript-bűvész, terminálozó réteg, aki az alapvető műveleteknél sokkal többet szeretne elvégezni a fájlkezelőben. A megoldás teljesen megfelelő az általános feladatok menübe illesztésére, a kiegészítő műveletekre.

Ne vessük el a lehetőséget, csak azért mert más sokkal többet tud, esetleg olyanokat is amiket soha nem használunk.

 

Posted in KDE