Προσθέστε ενέργειες στο service μενού του Konqueror

Ανώνυμος (χωρίς επαλήθευση) | Τετ, 01/19/2011 - 10:25 | 3'

Αν χρησιμοποιείτε τον Konqueror για διαχείριση αρχείων, θα έχετε δει ότι έχει προρυθμισμένες μια σειρά από ενέργειες στα popup μενού του - αυτά που εμφανίζονται όταν κάνετε δεξί κλικ σε ένα αρχείο. Μπορείτε όμως εύκολα να προσθέσετε ακόμα περισσότερες ενέργειες.

Αυτά τα μενού, που λέγονται service menus, ορίζονται με αρχεία με κατάληξη .desktop που βρίσκονται στο φάκελο /usr/share/apps/konqueror/servicemenus είτε στο ~/.kde σας.

Για να φτιάξετε μια νέα ενέργεια, π.χ. για να αλλάζετε μέγεθος σε μια εικόνα JPG, δημιουργήστε το αρχείο shrinkImage.desktop σε έναν από τους παραπάνω φακέλους με τα εξής περιεχόμενα:
[Desktop Entry]
ServiceTypes=image/jpeg
Actions=shrinkImage

Με αυτόν τον τρόπο ορίζεται μια νέα εγγραφή στο μενού καθώς και τα είδη των αρχείων στα οποία θα εφαρμόζεται. Στο ServiceTypes μπορείτε να βάλετε image/* για όλα τα είδη εικόνας ή all/allfiles για κάθε αρχείο.

Έπειτα, στο ίδιο αρχείο, καθορίζετε την ενέργεια που θα εκτελείται όταν ο χρήστης επιλέξει την παραπάνω εγγραφή:

[Desktop Action shrinkImage]
Name=Shrink Image
Icon=showfoto
Exec=~/bin/shrinkimage.sh "%f" 

Το όνομα (shrinkImage) στο Desktop Action πρέπει να είναι το ίδιο με τη γραμμή Actions που είδαμε παραπάνω όταν προσθέσαμε την εγγραφή. Το Name ορίζει το όνομα που θα εμφανίζεται στο μενού, ενώ το εικονίδιο είναι προαιρετικό.

Η τελευταία γραμμή είναι το ζουμί: περνάει το όνομα του αρχείου (%f) σε ένα σκριπτάκι το οποίο θα καλεί την
εντολή convert (από το πακέτο ImageMagick). Να και το σκριπτάκι:

#!/bin/bash
convert -sample 800x600 -quality 70 "$1" "${1/.jpg/_small.jpg}" 

Το μόνο που κάνει είναι να παίρνει όποια εικόνα του δώσετε και να της σκαλάρει στα 800x600 px προσθέτοντας το _small στο όνομά της.

Φόρουμ
Δώσε αστέρια!