Αψήφησε τους κανόνες της αναδυόμενης τάξης της Πληροφορίας

Πώς να προσθέσετε επιλογές στο μενού του Dolphin

Δείχνουμε πόσο εύκολο είναι το να εμπλουτίσουμε το διαχειριστή αρχείων του Plasma με νέες ενέργειες για οτιδήποτε θέλουμε, αξιοποιώντας τον καλύτερα.

Αν χρησιμοποιείτε το Plasma ως γραφικό περιβάλλον ή μεμονωμένα τον Dolphin ως διαχειριστή αρχείων, πιθανότατα γνωρίζετε ήδη ότι μπορείτε να προσθέσετε επιλογές στο μενού του από τη διαδρομή Ρυθμίσεις -> Διαμόρφωση του Dolphin -> Υπηρεσίες -> Λήψη νέων υπηρεσιών… (Settings -> Configure Dolphin -> Services -> Download New Services… αντίστοιχα).

Αυτός ο τρόπος προσφέρει κάμποσα έτοιμα μενού. Τι γίνεται όμως αν θέλετε κάποια ενέργεια που δεν υπάρχει στο σχετικό αποθετήριο; Παρακάτω θα περιγράψουμε πώς μπορείτε να προσθέσετε οποιαδήποτε επιλογή, χωρίς να χρειάζονται ιδιαίτερες γνώσεις.

Οι εισαγωγές στο μενού του Dolphin ονομάζονται «service menus» ή «services» («υπηρεσίες») και κατοικούν στο φάκελο /usr/share/kservices5/ServiceMenus. Αυτό που θα χρειαστεί λοιπόν να κάνουμε σε πρώτη φάση είναι να μιμηθούμε αυτήν τη διάταξη στο $HOME μας. Πιο συγκεκριμένα, πρέπει να δημιουργήσουμε το φάκελο $HOME/.local/share/kservices5/ServiceMenus. Αυτό μπορεί να γίνει είτε με μεταφορά στο $HOME/.local/share και έπειτα δεξί κλικ -> Δημιουργία νέου -> Φάκελος… και στο παράθυρο που θα ανοίξει να δώσουμε την ονομασία kservices5/ServiceMenus (μη σας εκπλήξει, στον Dolphin μπορείτε να δημιουργείτε αναδρομικούς φακέλους με αυτόν τον τρόπο) είτε με την εντολή1

mkdir -p $HOME/.local/share/kservices5/ServiceMenus

Αφού γίνει αυτό, είμαστε έτοιμοι να δημιουργήσουμε τα σχετικά αρχεία με τις επιλογές που θέλουμε. Ένα τυπικό τέτοιο αρχείο έχει ονομασία «whatever.desktop» και περιλαμβάνει τα παρακάτω (ενδεικτικά):

[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=inode/directory
Actions=rename

[Desktop Action rename]
Exec=krename -r %U
Icon=krename
Name=Rename with KRename (with subfolders)

Αναλυτικά, με τα Type και ServiceTypes δηλώνουμε ότι πρόκειται για επιλογή του μενού (και τα δύο είναι κοινά για όλα τα service menus), με το MimeType ορίζουμε τον τύπο των αρχείων για τα οποία θέλουμε να εμφανίζεται η επιλογή και με το Actions επιλέγουμε την ενέργεια που θα εκτελείται.

Στη συνέχεια δημιουργούμε αυτήν την ενέργεια ως [Desktop Action xxx] (όπου xxx ακριβώς ό,τι γράψαμε στο Actions) και αντίστοιχα την ορίζουμε με το Exec (μπορεί να είναι κανονική εντολή, συνδυασμός εντολών ή διαδρομή ενός script), της δίνουμε προαιρετικά ένα εικονίδιο με το Icon (η ονομασία εδώ είναι ανάλογη με το θέμα εικονιδίων που έχουμε επιλέξει στο σύστημά μας) και με το Name επιλέγουμε πώς θα φαίνεται στο μενού μας.

Ας υποθέσουμε τώρα ότι θέλουμε μια επιλογή που θα δημιουργεί ένα απλό αντίγραφο οποιουδήποτε αρχείου ή φακέλου. Ανοίγουμε τον επεξεργαστή κειμένου μας και προσθέτουμε τα εξής:

[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=all/all
Actions=copyfile;

[Desktop Action copyfile]
Name=Αντίγραφο
Icon=edit-copy
Exec=cp -rf %f %f.copy

Αποθηκεύουμε ως «copyfile.desktop» στο φάκελο $HOME/.local/share/kservices5/ServiceMenus που φτιάξαμε νωρίτερα και αυτό ήταν. Ορίσαμε ως MimeType κάθε τύπο αρχείου, δώσαμε ονομασία «Αντίγραφο» και εικονίδιο και επιλέξαμε ως ενέργεια την αντιγραφή σε ένα νέο αρχείο με ονομασία «xxx.copy».

Πού θα βρούμε όμως την επιλογή «Αντίγραφο» στο μενού μας; Από προεπιλογή, οι εισαγωγές του μενού βρίσκονται στο υπομενού «Ενέργειες» («Actions»).

dolphin-menu5

Προχωράμε σε κάτι πιο σύνθετο και θα δούμε πώς μπορούμε να φτιάξουμε τα δικά μας υπομενού. Θα χρησιμοποιήσουμε πάλι την παραπάνω ενέργεια, αφού την έχουμε έτοιμη, με τη διαφορά ότι τώρα θέλουμε να εμφανίζεται στο υπομενού «Αρχεία».

Ανοίγουμε το «copyfile.desktop» και στην ενότητα [Desktop Entry] προσθέτουμε, σε νέα γραμμή, το
X-KDE-Submenu=Αρχεία. Δεν έχει σημασία αν θα είναι στην αρχή, ενδιάμεσα ή στο τέλος, απλά να βρίσκεται στη συγκεκριμένη ενότητα. Αφού αποθηκεύσουμε την αλλαγή μας, θα δούμε ότι με δεξί κλικ πλέον έχουμε το υπομενού που θέλαμε.

dolphin-menu2

Εφόσον τώρα έχουμε υπομενού, γιατί πρέπει σώνει και καλά αυτό να βρίσκεται στις «Ενέργειες»; Δεν πρέπει, και μπορούμε να το μετακινήσουμε πολύ εύκολα. Πώς; Ανοίγοντας ξανά το «copyfile.desktop» και προσθέτοντας το X-KDE-Priority=TopLevel, πάλι στην ενότητα [Desktop Entry] και σε νέα γραμμή. Αυτό θα μεταφέρει το υπομενού μας (ή και μεμονωμένες ενέργειες φυσικά) στο πρώτο επίπεδο, δηλαδή θα φαίνεται κατευθείαν με το δεξί κλικ.

dolphin-menu3Θα συνεχίσουμε προσθέτοντας μια δεύτερη ενέργεια στο υπομενού «Αρχεία», η οποία θα επαναφέρει το αντιγραμμένο μας αρχείο. Ας την ονομάσουμε «restore». Ανοίγουμε το «copyfile.desktop», βρίσκουμε τη γραμμή Actions=copyfile; και προσθέτουμε χωρίς κενό το restore;. Κατόπιν θα δημιουργήσουμε την ενέργεια με μόλις τέσσερις γραμμές:

[Desktop Action restore]
Name=Επαναφορά
Icon=edit-paste
Exec=filename=%f; cp %f "${filename%.*}"

Άρα το πλήρες περιεχόμενο του αρχείου θα γίνει έτσι:

[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=all/all
Actions=copyfile;restore;
X-KDE-Submenu=Αρχεία
X-KDE-Priority=TopLevel

[Desktop Action copyfile]
Name=Αντίγραφο
Icon=edit-copy
Exec=cp -rf %f %f.copy

[Desktop Action restore]
Name=Επαναφορά
Icon=edit-paste
Exec=filename=%f; cp %f "${filename%.*}"

Η ενέργεια αυτή απλά αφαιρεί την κατάληξη (το «.copy» στη δική μας περίπτωση) από την ονομασία του αρχείου.

dolphin-menu4

Σημείωση
Το ; (αγγλική άνω τελεία και όχι ελληνικό ερωτηματικό) είναι απαραίτητο όταν υπάρχουν περισσότερες από μία εισαγωγές στην ίδια γραμμή.

Αν θέλουμε να υπάρχει διαχωριστικό μεταξύ των δύο ενεργειών, αρκεί να προσθέσουμε το _SEPARATOR_; ανάμεσά τους, μετατρέποντας το

Actions=copyfile;restore;

σε

Actions=copyfile;_SEPARATOR_;restore;

και θα δούμε να εμφανίζεται μια λεπτή γραμμή, όπως ακριβώς και στο υπόλοιπο μενού. Έτσι μπορούμε να φτιάχνουμε ομάδες ενεργειών στο μενού μας.

Πώς σας φάνηκε η όλη διαδικασία; Δεν είναι κάτι δύσκολο, ούτε παίρνει χρόνο, σωστά;

Σε περίπτωση που έχουμε κάποιο υπομενού το οποίο συνθέσαμε από ενέργειες σε διαφορετικά «*.desktop» αρχεία, μπορούμε να τις βάλουμε στη σειρά που επιθυμούμε και να το οργανώσουμε. Ανοίγουμε το εκάστοτε «*.desktop» και προσθέτουμε το InitialPreference=10 στην ενότητα [Desktop Entry]. Ενδεικτικά για το «copyfile.desktop» αυτή η ενότητα θα γίνει

[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=all/all
Actions=copyfile;_SEPARATOR_;restore;
X-KDE-Submenu=Αρχεία
X-KDE-Priority=TopLevel
InitialPreference=10

Εδώ ο αριθμός 10 σημαίνει «στην κορυφή του υπομενού» και ανάλογα μπορούμε να μετακινήσουμε τις ενέργειες πιο κάτω με 9, 8, 7 κ.ο.κ.

Δωράκι για το τέλος: για να βρίσκετε εύκολα το MimeType χρησιμοποιήστε την εντολή

file --mime-type -b xxx

αντικαθιστώντας το xxx με τη διαδρομή όποιου αρχείου θέλετε2.

Μοιραστείτε μαζί μας τις σκέψεις σας

avatar
  Εγγραφή  
Ειδοποίηση για

Σας ενημερώνουμε ότι η ιστοσελίδα μας ακολουθεί ειδικό πρόγραμμα διατροφής και μασουλάει φρεσκοψημένα cookies Καλά μωρέΘέλω να μάθω περισσότερα