# Ενσωμάτωση υπάρχοντος λογισμικού στο GNOME

Οδηγός για ανεξάρτητους διανομείς λογισμικού

Οδηγός για ανεξάρτητους διανομείς λογισμικού

Rosanna
Yuen

    	    zana@gnome.org

Federico
Mena-Quintero

    	    federico@gnu.org

Mike
Hearn

    	    mike@navi.cx

2005, 2006
Rosanna Yuen, Federico Mena-Quintero, Mike Hearn
0.6
19 Σεπτεμβρίου 2006

Επέκταση των κατευθυντήριων γραμμών για τα εικονίδια.

0.5
18 Σεπτεμβρίου 2006

Ενσωμάτωση του περιεχομένου του πρώτου άρθρου της Rosanna Yuen σχετικά με τα πρότυπα του freedesktop.org

0.0
Ιούνιος 2005

Αρχική έκδοση αυτού του εγγράφου.

Χορηγείται άδεια αντιγραφής, διανομής και/ή τροποποίησης του παρόντος εγγράφου υπό τους όρους της έκδοσης 1.1 της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL), ή οποιασδήποτε μεταγενέστερης έκδοσής αυτής από το Ίδρυμα Ελεύθερου Λογισμικού (FSF), χωρίς αμετάβλητες ενότητες, κείμενα εμπροσθοφύλλου και κείμενα οπισθοφύλλου. Αντίγραφο της άδειας GFDL είναι διαθέσιμο στον ακόλουθο σύνδεσμο, ή στο αρχείο COPYING-DOCS που διανέμεται μαζί με το παρόν εγχειρίδιο.

Αυτό το εγχειρίδιο αποτελεί μέρος της συλλογής εγχειριδίων του GNOME που διανέμονται υπό τους όρους της GFDL. Αν επιθυμείτε να διανείμετε το παρόν εγχειρίδιο ξεχωριστά από τη συλλογή, οφείλετε να προσθέσετε στο εγχειρίδιο αντίγραφο της άδειας χρήσης, όπως προβλέπεται στην ενότητα 6 της άδειας.

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

ΤΟ ΠΑΡΟΝ ΕΓΓΡΑΦΟ ΚΑΙ ΟΙ ΤΡΟΠΟΙΗΜΕΝΕΣ ΕΚΔΟΣΕΙΣ ΑΥΤΟΥ ΠΑΡΕΧΟΝΤΑΙ ΥΠΟ ΤΟΥΣ ΟΡΟΥΣ ΤΗΣ ΕΛΕΥΘΕΡΗΣ ΑΔΕΙΑΣ ΤΕΚΜΗΡΙΩΣΗΣ GNU (GFDL) ΚΑΙ ΜΕ ΤΗΝ ΠΕΡΑΙΤΕΡΩ ΔΙΕΥΚΡΙΝΙΣΗ ΟΤΙ:

1. ΤΟ ΠΑΡΟΝ ΕΓΓΡΑΦΟ ΠΑΡΕΧΕΤΑΙ "ΩΣ ΕΧΕΙ", ΧΩΡΙΣ ΟΠΟΙΑΔΗΠΟΤΕ ΑΛΛΗ ΕΓΓΥΗΣΗ, ΕΙΤΕ ΡΗΤΗ ΕΙΤΕ ΣΙΩΠΗΡΗ, ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΗΣ, ΧΩΡΙΣ ΠΕΡΙΟΡΙΣΜΟ, ΤΗΣ ΕΓΓΥΗΣΗΣ ΟΤΙ ΤΟ ΕΓΓΡΑΦΟ, Ή Η ΤΡΟΠΟΠΟΙΗΜΕΝΗ ΕΚΔΟΣΗ ΑΥΤΟΥ, ΕΙΝΑΙ ΕΜΠΟΡΕΥΣΙΜΟ, ΚΑΤΑΛΛΗΛΟ ΓΙΑ ΕΙΔΙΚΟ ΣΚΟΠΟ ΚΑΙ ΔΕΝ ΠΡΟΣΒΑΛΛΕΙ ΔΙΚΑΙΩΜΑΤΑ ΤΡΙΤΩΝ. Ο ΧΡΗΣΤΗΣ ΑΝΑΛΑΜΒΑΝΕΙ ΕΞ ΟΛΟΚΛΗΡΟΥ ΤΗΝ ΕΘΥΝΗ ΩΣ ΠΡΟΣ ΤΗΝ ΠΟΙΟΤΗΤΑ, ΤΗΝ ΑΚΡΙΒΕΙΑ ΚΑΙ ΤΗΝ ΧΡΗΣΗ ΤΟΥ ΕΓΓΡΑΦΟΥ Ή ΤΗΣ ΤΡΟΠΟΠΟΙΗΜΕΝΗΣ ΕΚΔΟΣΗΣ ΑΥΤΟΥ. ΣΕ ΠΕΡΙΠΤΩΣΗ ΠΟΥ ΟΠΟΙΟΔΗΠΟΤΕ ΕΓΓΡΑΦΟ Ή ΤΡΟΠΟΠΟΙΗΜΕΝΗ ΕΚΔΟΣΗ ΑΥΤΟΥ ΑΠΟΔΕΙΧΘΟΥΝ ΕΛΑΤΤΩΜΑΤΙΚΑ ΚΑΘ' ΟΙΟΝΔΗΠΟΤΕ ΤΡΟΠΟ, Ο ΧΡΗΣΤΗΣ (ΚΑΙ ΟΧΙ Ο ΑΡΧΙΚΟΣ ΣΥΓΓΡΑΦΕΑΣ, ΔΗΜΙΟΥΡΓΟΣ Ή ΟΠΟΙΟΣΔΗΠΟΤΕ ΣΥΝΤΕΛΕΣΤΗΣ) ΑΝΑΛΑΜΒΑΝΕΙ ΤΟ ΚΟΣΤΟΣ ΟΠΟΙΑΣΔΗΠΟΤΕ ΑΝΑΓΚΑΙΑΣ ΣΥΝΤΗΡΗΣΗΣ, ΕΠΙΣΚΕΥΗΣ Ή ΔΙΟΡΘΩΣΗΣ. Η ΠΑΡΟΥΣΑ ΑΠΟΠΟΙΗΣΗ ΕΓΓΥΗΣΗΣ ΑΠΟΤΕΛΕΙ ΑΝΑΠΟΣΠΑΣΤΟ ΜΕΡΟΣ ΤΗΣ ΑΔΕΙΑΣ. ΔΕΝ ΕΠΙΤΡΕΠΕΤΑΙ ΟΥΔΕΜΙΑ ΧΡΗΣΗ ΤΟΥ ΕΓΓΡΑΦΟΥ Ή ΤΡΟΠΟΠΟΙΗΜΕΝΩΝ ΕΚΔΟΣΕΩΝ ΑΥΤΟΥ ΣΥΜΦΩΝΑ ΜΕ ΤΟΥΣ ΟΡΟΥΣ ΤΗΣ ΠΑΡΟΥΣΑΣ, ΠΑΡΑ ΜΟΝΟ ΕΑΝ ΣΥΝΟΔΕΥΕΤΑΙ ΑΠΟ ΤΗΝ ΑΠΟΠΟΙΗΣΗ ΕΓΓΥΗΣΗΣ, ΚΑΙ

2. Ο ΔΗΜΙΟΥΡΓΟΣ, Ο ΑΡΧΙΚΟΣ ΣΥΓΓΡΑΦΕΑΣ, ΟΙ ΣΥΝΤΕΛΕΣΤΕΣ Ή ΟΙ ΔΙΑΝΟΜΕΙΣ ΤΟΥ ΕΓΓΡΑΦΟΥ Ή ΤΡΟΠΟΠΟΙΗΜΕΝΗΣ ΕΚΔΟΣΗΣ ΑΥΤΟΥ, ΚΑΘΩΣ ΚΑΙ ΟΙ ΠΡΟΜΗΘΕΥΤΕΣ ΟΠΟΙΩΝΔΗΠΟΤΕ ΕΚ ΤΩΝ ΠΡΟΑΝΑΦΕΡΟΜΕΝΩΝ ΜΕΡΩΝ, ΔΕΝ ΕΥΘΥΝΟΝΤΑΙ ΕΝΑΝΤΙ ΟΙΟΥΔΗΠΟΤΕ, ΣΕ ΚΑΜΙΑ ΠΕΡΙΠΤΩΣΗ ΚΑΙ ΥΠΟ ΚΑΜΙΑ ΕΡΜΗΝΕΙΑ ΝΟΜΟΥ, ΕΙΤΕ ΕΞ ΑΔΙΚΟΠΡΑΞΙΑΣ (ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΗΣ ΤΗΣ ΑΜΕΛΕΙΑΣ) ΕΙΤΕ ΣΤΟ ΠΛΑΙΣΙΟ ΣΥΜΒΑΤΙΚΗΣ Ή ΑΛΛΗΣ ΥΠΟΧΡΕΩΣΗΣ, ΓΙΑ ΤΥΧΟΝ ΑΜΕΣΕΣ, ΕΜΜΕΣΕΣ, ΕΙΔΙΚΕΣ, ΤΥΧΑΙΕΣ Ή ΣΥΝΕΠΑΚΟΛΟΥΘΕΣ ΖΗΜΙΕΣ ΟΠΟΙΑΣΔΗΠΟΤΕ ΜΟΡΦΗΣ, ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ, ΧΩΡΙΣ ΠΕΡΙΟΡΙΣΜΟ, ΖΗΜΙΩΝ ΛΟΓΩ ΑΠΩΛΕΙΑΣ ΦΗΜΗΣ ΚΑΙ ΠΕΛΑΤΕΙΑΣ, ΔΙΑΚΟΠΗΣ ΕΡΓΑΣΙΩΝ, ΔΥΣΛΕΙΤΟΥΡΓΙΑΣ Ή ΒΛΑΒΗΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ, Ή ΚΑΘΕ ΑΛΛΗΣ ΖΗΜΙΑΣ Ή ΑΠΩΛΕΙΑΣ ΠΟΥ ΟΦΕΙΛΕΤΑΙ Ή ΣΧΕΤΙΖΕΤΑΙ ΜΕ ΤΗΝ ΧΡΗΣΗ ΤΟΥ ΕΓΓΡΑΦΟΥ ΚΑΙ ΤΩΝ ΤΡΟΠΟΠΟΙΗΜΕΝΩΝ ΕΚΔΟΣΕΩΝ ΑΥΤΟΥ, ΑΚΟΜΑ ΚΑΙ ΑΝ ΤΑ ΩΣ ΑΝΩ ΜΕΡΗ ΕΙΧΑΝ ΛΑΒΕΙ ΓΝΩΣΗ ΤΗΣ ΠΙΘΑΝΟΤΗΤΑΣ ΠΡΟΚΛΗΣΗΣ ΤΕΤΟΙΩΝ ΖΗΜΙΩΝ.

## Πρόλογος

Το GNOME είναι ένα έργο με στόχο τη δημιουργία μιας πλήρους επιφάνειας εργασίας και μιας πλατφόρμας ανάπτυξης που βασίζεται πλήρως σε ελεύθερο λογισμικό. Πολλές εταιρείες, κυβερνήσεις, σχολεία, οργανισμοί και ιδιώτες έχουν εγκαταστήσει το περιβάλλον επιφάνειας εργασίας GNOME στους υπολογιστές τους. Αν αναπτύσσετε λογισμικό τρίτων ("Διανομέας Ανεξάρτητου Λογισμικού" (ΔΑΛ), ή "Προγραμματιστής Ανεξάρτητου Λογισμικού" (ΠΑΛ) όταν δεν το κάνετε για εμπορικούς σκοπούς), τότε ίσως σας ενδιαφέρει να διασφαλίσετε ότι το υπάρχον λογισμικό σας θα εκτελείται χωρίς προβλήματα στο GNOME. Αυτός ο οδηγός εξηγεί πώς θα ενσωματώσετε υπάρχον λογισμικό στο GNOME, χωρίς να το ξαναγράψετε ειδικά για χρήση με τις βιβλιοθήκες και τα εργαλεία ανάπτυξης του GNOME.

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

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

- Είστε διαχειριστής συστημάτων σε μία εταιρεία που έχει υλοποιήσει επιφάνειες εργασίας GNOME για τους χρήστες της. Παράλληλα, διαχειρίζεστε εφαρμογές σχεδιασμένες για τα παλαιότερα συστήματα ή ενδοεταιρικές εφαρμογές, και θέλετε οι χρήστες του GNOME να μπορούν να χρησιμοποιούν άνετα αυτές τις εφαρμογές.

- Δημιουργείτε μια εφαρμογή ειδικά για το GNOME και θέλετε μια λίστα αξιολόγησης με τα βασικά πράγματα που πρέπει να κάνετε για να διασφαλίσετε ότι η εφαρμογή σας θα ενσωματωθεί χωρίς προβλήματα στην υπόλοιπη επιφάνεια εργασίας GNOME.

Γενικά, αυτός ο οδηγός αφορά την ενσωμάτωση υπάρχοντος λογισμικού στην επιφάνεια εργασίας GNOMΕ. Αν λοιπόν σκέφτεστε να γράψετε καινούριο λογισμικό, σας προτείνουμε να το γράψετε εξ ολοκλήρου για την πλατφόρμα GNOME. Παρακαλούμε δείτε τον Ιστότοπο προγραμματιστών του GNOME για περισσότερες πληροφορίες.

Ένα από τα κύρια ενδιαφέροντα του GNOME είναι η εμπειρία του χρήστη. Οι χρήστες πρέπει να διαθέτουν ένα άνετο περιβάλλον υπολογιστή: αυτό περιλαμβάνει μια πλήρη επιφάνεια εργασίας και ένα σύνολο από εφαρμογές που να λειτουργούν μαζί με συνεπή τρόπο. Με σχετικά μικρή προσπάθεια, εφαρμογές που δεν γράφτηκαν ειδικά για το GNOME μπορούν να τρέξουν άνετα στο περιβάλλον επιφάνειας εργασίας GNOME.

### Δομή αυτού του οδηγού

Αυτός ο οδηγός έχει τη δομή μιας λίστας από στόχους που πρέπει να επιτύχετε για να ενσωματώσετε ένα υπάρχον λογισμικό στο GNOME. Σε γενικές γραμμές, ο οδηγός παρουσιάζει αυτούς τους στόχους κατά σειρά σημασίας. Για παράδειγμα, η προσθήκη της εφαρμογής σας στο μενού του GNOME εμφανίζεται πριν την προσθήκη της υποστήριξης για σύρσιμο. Επίσης, αυτός ο οδηγός παρέχει ένα παράρτημα με λίστα αξιολόγησης της ενσωμάτωσης για να σας βοηθήσει στην αξιολόγηση του έργου σας.

### Πρότυπα και το freedesktop.org

Πολλά από τα στοιχεία ενσωμάτωσης σε αυτόν τον οδηγό βασίζονται σε πρότυπα που ισχύουν και πέρα από το GNOME. Αυτά τα πρότυπα χρησιμοποιούνται και από άλλα έργα επιφάνειας εργασίας, όπως το K Desktop Environment. Επομένως, αν ενσωματώσετε την εφαρμογή σας στο GNOME, θα χρειαστεί λίγη ή και καθόλου επιπλέον εργασία για να λειτουργήσουν και σε εκείνα τα περιβάλλοντα.

Δεν υπάρχει τίποτε καλύτερο από το συναίσθημα ότι δημιουργήσατε την τέλεια εφαρμογή. Είτε είναι μικρή είτε μεγάλη, θέλετε η εφαρμογή σας να αναγνωρίζεται από την επιφάνεια εργασίας και να αλληλεπιδρά μαζί της. Επειδή πλέον διατίθενται πολλές επιφάνειες εργασίας, σας συμφέρει να προσπαθήσετε να ενσωματώσετε την εφαρμογή σας σε όσες περισσότερες μπορείτε. Παρόλο που δεν υπάρχουν επίσημοι κανόνες, στο freedesktop.org μπορείτε να βρείτε ένα σχετικό σύνολο προδιαγραφών.

Αν και δεν είναι επίσημος οργανισμός προτυποποίησης, το freedesktop.org διατηρεί ένα σύνολο από άτυπες μεν, αλλά κοινώς αποδεκτές, κατευθυντήριες γραμμές. Αν ακολουθήσετε αυτές τις κατευθυντήριες γραμμές, θα επιτύχετε την ενσωμάτωση των εφαρμογών σας στις σύμμορφες επιφάνειες εργασίας.

## Βασική ενσωμάτωση

Αυτό το κεφάλαιο περιέχει πληροφορίες για τα βασικότερα βήματα που απαιτούνται για την ενσωμάτωση ενός προγράμματος στην επιφάνεια εργασίας GNOME. Πρόκειται για τα ακόλουθα:

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

- Πώς θα ενημερώσετε την επιφάνεια εργασίας για τους τύπους αρχείων χρήστη που απαιτούν την εκκίνηση της εφαρμογής σας.

- Πώς θα ενημερώσετε την επιφάνεια εργασίας για τα εικονίδια που αντιστοιχούν στην εφαρμογή σας και στα αρχεία που δημιουργεί.

### Αρχεία επιφάνειας εργασίας: ένταξη της εφαρμογής σας στα μενού της επιφάνειας εργασίας

Για να εκτελέσουν εφαρμογές στο GNOME, οι χρήστες πρέπει να κάνουν κλικ σε ένα εικονίδιο της επιφάνειας εργασίας, ή να επιλέξουν την κατάλληλη εφαρμογή από ένα μενού. Επομένως, το πρώτο βήμα για την ενσωμάτωση ενός υπάρχοντος προγράμματος στο GNOME είναι η καταχώρησή του στη λίστα των εφαρμογών που μπορεί να εκτελεί ο χρήστης.

Σε αντίθεση με τα Windows ή το MacOS, στο GNOME τα μενού των χρηστών δημιουργούνται αυτόματα από τη λίστα των καταχωρημένων εφαρμογών.

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

Στο GNOME και άλλες επιφάνειες εργασίας σύμμορφες με το freedesktop.org, η εφαρμογή καταχωρείται στα μενού της επιφάνειας εργασίας μέσω μιας εγγραφής επιφάνειας εργασίας, που είναι ένα αρχείο κειμένου με την επέκταση `.desktop`. Αυτό το αρχείο περιέχει μία λίστα ρυθμίσεων για την εφαρμογή σας. Η επιφάνεια εργασίας χρησιμοποιεί τις πληροφορίες αυτού του αρχείου για να:

- τοποθετήσει την εφαρμογή στο Κύριο μενού.

- καταχωρήσει την εφαρμογή στο διάλογο Εκτέλεση εφαρμογής....

- δημιουργήσει τους κατάλληλους εκκινητές στο μενού ή την επιφάνεια εργασίας.

- αντιστοιχίσει το όνομα και την περιγραφή της εφαρμογής.

- χρησιμοποιήσει το κατάλληλο εικονίδιο.

- αναγνωρίσει τους τύπους ΜΙΜΕ των οποίων το άνοιγμα υποστηρίζει.

Για να προσθέσετε ένα στοιχείο μενού για την εφαρμογή σας, δημιουργήστε ένα αρχείο επιφάνειας εργασίας. Θα πρέπει να περιέχει ένα μοναδικό όνομα αρχείου. Επίσης, δεν υπάρχουν περιορισμοί μήκους, οπότε αποφύγετε τις συντμήσεις, και φυσικά μη διστάσετε να χρησιμοποιήσετε εμπορικές ονομασίες. Παρόλα αυτά, αποφύγετε τα διαστήματα και τους διεθνείς χαρακτήρες. Έτσι, ένα καλό όνομα αρχείου θα ήταν το "foocorp-painter-pro.desktop", αλλά το "fcpp.desktop" ή το "FooCorp Painter Pro.desktop" θα ήταν κακές επιλογές. Το αρχείο πρέπει να διαθέτει κωδικοποίηση UTF-8 και να συμβαδίζει με το ακόλουθο πρότυπο:

    	[Desktop Entry]
    	Encoding=UTF-8
    	Name=FooCorp Painter Pro
    	Exec=foocorp-painter-pro
    	Icon=foocorp-painter-pro
    	Type=Application
    	Categories=Application;

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

Τοποθετήστε το αρχείο επιφάνειας εργασίας στον κατάλογο `/usr/share/applications` για να είναι διαθέσιμο σε όλους τους χρήστες, ή στον κατάλογο `~/.local/share/applications` αν θέλετε να είναι διαθέσιμο μόνο σε ένα χρήστη. Η τοποθεσία που θα επιλέξετε εξαρτάται από το αν η εφαρμογή εγκαθίσταται στο σύστημα αρχείων ή στον αρχικό κατάλογο του χρήστη. Το GNOME παρακολουθεί αυτούς τους καταλόγους και αντιλαμβάνεται τυχόν αλλαγές, άρα η απλή αντιγραφή του αρχείου στην κατάλληλη τοποθεσία αρκεί για την καταχώρησή του στην επιφάνεια εργασίας. Σημειώστε ότι η τοποθεσία `~/.local/share/applications` δεν παρακολουθείται από εκδόσεις του GNOME προγενέστερες της 2.10 ούτε και από εκδόσεις του Fedora Core Linux προγενέστερες της 2.8. Αυτές οι εκδόσεις του GNOME συμμορφώνονται με το υπό κατάργηση πρότυπο vfolder, και άρα τα αρχεία επιφάνειας εργασίας για αυτές τις εκδόσεις πρέπει να εγκαθίστανται στο `~/.gnome2/vfolders/applications`. Αυτή η τοποθεσία δεν υποστηρίζεται από το GNOME 2.8 στο Fedora Core ή από το GNOME 2.10 και έπειτα, οπότε για μέγιστη συμβατότητα, καλό είναι να τοποθετήσετε το αρχείο και στις δύο τοποθεσίες. Σημειώστε ότι η επιφάνεια εργασίας KDE απαιτεί την εκτέλεση του `kbuildsycoca` για την ανανέωση των μενού.

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

Πέρα από την πρώτη γραμμή που είναι αυτή που ταυτοποιεί το αρχείο επιφάνειας εργασίας, η σειρά των γραμμών δεν έχει σημασία. Στο η γραμμή `Type=Application` θα μπορούσε να βρίσκεται στη δεύτερη, την πέμπτη, ή την τελευταία γραμμή, χωρίς αυτό να επηρεάζει τα αποτελέσματα.

Ωστόσο, τα κλειδιά κάνουν διάκριση μεταξύ πεζών και κεφαλαίων. Το `Type=Application` δεν είναι το ίδιο με το `type=Application` ή το `TYPE=Application`.

#### Υπόδειγμα αρχείου επιφάνειας εργασίας

    [Desktop Entry]
    Type=Application
    Encoding=UTF-8
    Name=Sample Application Name
    Comment=A sample application
    Exec=application
    Icon=application.png
    Terminal=false

#### Επεξήγηση γραμμή προς γραμμή

Γραμμή | Περιγραφή
--- | ---
`[Desktop Entry]` | Η πρώτη γραμμή κάθε αρχείου επιφάνειας εργασίας. Αποτελεί την κεφαλίδα της ενότητας με τα βασικότερα κλειδιά. Η ύπαρξή της είναι απαραίτητη προκειμένου η επιφάνεια εργασίας να είναι σε θέση να αναγνωρίσει σωστά το αρχείο.
`Type=Application` | Ενημερώνει την επιφάνεια εργασίας ότι αυτό το αρχείο επιφάνειας εργασίας ανήκει σε εφαρμογή. Άλλες έγκυρες τιμές για αυτό το κλειδί είναι οι `Link` (σύνδεσμος) και `Directory` (κατάλογος).
`Encoding=UTF-8` | Περιγράφει την κωδικοποίηση των εγγραφών του αρχείου.
`Name=Όνομα Εφαρμογής` | Το όνομα της εφαρμογής σας όπως θα εμφανίζεται στο κύριο μενού και τυχόν εκκινητές.
`Comment=Υπόδειγμα εφαρμογής` | Περιγράφει την εφαρμογή. Εμφανίζεται ως συμβουλής οθόνης.
`Exec=εφαρμογή` | Η εντολή που εκκινεί την εφαρμογή από κέλυφος. Μπορεί να συνοδεύεται από ορίσματα.
`Icon=εφαρμογή.png` | Το εικονίδιο που αντιστοιχεί στην εφαρμογή.
`Terminal=false` | Καθορίζει το αν επιτρέπεται να εκτελείται σε τερματικό η εφαρμογή.

#### Εκκίνηση της εφαρμογής σας

Αν η εφαρμογή σας δέχεται ορίσματα από τη γραμμή εντολών, μπορείτε να τα προσδιορίσετε στα κατάλληλα πεδία, όπως φαίνεται στο .

##### Μεταβλητές εκτέλεσης

Προσθέστε... | Δέχεται...
--- | ---
`%f` | ένα όνομα αρχείου.
`%F` | πολλαπλά ονόματα αρχείων.
`%u` | ένα URL.
`%U` | πολλαπλά URL.
`%d` | έναν κατάλογο. Χρησιμοποιείται μαζί με το `%f` για τον εντοπισμό ενός αρχείου.
`%D` | πολλαπλούς καταλόγους. Χρησιμοποιείται μαζί με το `%F` για τον εντοπισμό αρχείων.
`%n` | ένα όνομα αρχείου χωρίς διαδρομή.
`%N` | πολλαπλά ονόματα αρχείων χωρίς διαδρομές.
`%k` | ένα URI ή τοπικό όνομα αρχείου για την τοποθεσία του αρχείου επιφάνειας εργασίας.
`%v` | το όνομα της εγγραφής μιας συσκευής.

#### Ξένες γλώσσες

Για να παρέχετε τοπικοποιημένα ονόματα και σχόλια, πρέπει να προσθέσετε επιπλέον γραμμές για κάθε νέα τοπικοποίηση. Για παράδειγμα, για να προσθέσετε μια εκδοχή του σχολίου στα Σουηδικά, προσθέστε την ακόλουθη γραμμή:

`Comment[sv]=Exempelprogramnamn`

Δεν υπάρχει περιορισμός στον αριθμό των μεταφράσεων που μπορούν να περιέχονται στο αρχείο.

Επειδή η συντήρηση μιας μακροσκελούς λίστας μεταφράσεων δεν είναι εύκολη, ένας καλύτερος τρόπος για τη δημιουργία αυτών των μεταφράσεων είναι να χρησιμοποιήσετε το πακέτο intltool. Δείτε τις σελίδες man του intltool-extract και του intltool-merge για περισσότερες πληροφορίες.

#### Παραπομπές

Desktop Entry Specification — Προδιαγραφές για τη δημιουργία αρχείων επιφάνειας εργασίας.

### Εγκατάσταση εικονιδίων

Στο , καθορίσαμε ότι το εικονίδιο της εφαρμογής θα είναι το `εφαρμογή.png`. Ωστόσο, για να εμφανιστεί το εικονίδιο, θα πρέπει να τοποθετήσουμε το αρχείο του στον κατάλληλο κατάλογο.

Η επιφάνεια εργασίας αναζητά τα κατάλληλα εικονίδια στον κατάλογο του επιλεγμένου θέματος εντός του `/usr/share/icons/`. Τα εικονίδια εφαρμογών θα πρέπει να διατίθενται τουλάχιστον σε ανάλυση 48x48 εικονοστοιχείων. Τοποθετήστε το εικονίδιο στον κατάλογο `/usr/share/icons/hicolor/48x48/apps/`. Αυτός είναι ο κατάλογος που ελέγχει η επιφάνεια εργασίας, αν δεν βρει εικονίδιο για την εφαρμογή σας στο επιλεγμένο θέμα. Αν χρησιμοποιείτε προσαρμόσιμα εικονίδια, τοποθετήστε τα στους κατάλληλους καταλόγους.

Για να βελτιώσετε την εμφάνιση της εφαρμογής σας στην επιφάνεια εργασίας GNOME, διατηρώντας παράλληλα την εγγενή της εμφάνιση στα KDE, Windows XP ή Mac OS X, ακολουθήστε τις Κατευθυντήριες γραμμές στυλ Tango για τη σχεδίαση των γραφικών σας. Σε αυτό το έγγραφο περιέχονται επεξηγήσεις για διάφορες πτυχές της σχεδίασης εικονιδίων, όπως τα χρώματα, ο φωτισμός και τα μεγέθη. Επίσης, περιέχονται ορισμένα τυπικά παραδείγματα ροής εργασιών, καθώς και βίντεο εκμάθησης.

#### Παραπομπές

Icon Theme Specification — Περιγράφει τον τρόπο εγκατάστασης και αναζήτησης εικονιδίων έτσι ώστε να είναι προσαρμόσιμα.

Icon Naming Specification — Παρέχει κανονικοποιημένες προδιαγραφές ονοματοδοσίας για τα αρχεία εικονιδίων.

Tango Style Guidelines — Περιγράφει πώς να σχεδιάζετε καθαρά εικονίδια για χρήση σε 'πολλαπλές πλατφόρμες'.

### Προσθήκη τύπων MIME

Αν η εφαρμογή σας μπορεί να ανοίγει αρχεία συγκεκριμένων τύπων MIME, θα πρέπει να τα συμπεριλάβετε στο αρχείο επιφάνειας εργασίας. Για παράδειγμα, αν η εφαρμογή σας δέχεται αρχεία PNG, προσθέστε την ακόλουθη γραμμή στο αρχείο σας:

    MimeType=image/png

Μπορείτε να προσθέσετε πολλαπλούς τύπους MIME, αρκεί να τους διαχωρίζετε με ερωτηματικά (;).

Το σύστημα αναγνωρίζει ήδη έναν μεγάλο αριθμό τύπων MIME. Αν παρόλα αυτά σκοπεύετε να δημιουργήσετε δικούς σας τύπους, θα πρέπει να τους καταχωρήσετε στη βάση δεδομένων MIME. Για το σκοπό αυτό, στον κατάλογο `/usr/share/mime/packages/`, δημιουργήστε ένα αρχείο XML με τη μορφή που περιγράφεται στο .

#### Υπόδειγμα αρχείου καταχώρησης νέου τύπου MIME

    <?xml version="1.0" encoding="UTF-8"?>
    <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
       <mime-type type="application/x-παράδειγμα">
         <comment>Example file type </comment>
         <magic priority="50">
           <match value="αλφαριθμητικό-αναζήτησης" type="string" offset="10:140"/>
         </magic>
         <glob pattern="*.νέαεπέκταση"/>
       </mime-type>
    </mime-info>

Σε αυτό το παράδειγμα, αντικαταστήστε το παράδειγμα τύπου MIME με το όνομα του δικού σας τύπου MIME. Η ενότητα magic αναζητά το αλφαριθμητικό αναζήτησης στα διάφορα αρχεία προκειμένου να τα αντιστοιχίσει με τύπους MIME. Η γραμμή glob χρησιμοποιεί την επέκταση των ονομάτων των αρχείων για τον ίδιο σκοπό.

Επειδή η εντολή `magic` αναγκάζει τον υπολογιστή να ανοίγει τα αρχεία και να αναζητά το αλφαριθμητικό, προτιμάται η χρήση της εντολής `glob`.

Αφού περιγράψετε ικανοποιητικά το νέο τύπο MIME στο αρχείο, εκτελέστε την παρακάτω εντολή σε κέλυφος:

    update-mime-database /usr/share/mime

Για περισσότερες πληροφορίες σχετικά με την επιλογή εύστοχων επεκτάσεων MIME και την καταχώρηση των τύπων MIME, δείτε τον ιστότοπο του IANA.

#### Παραπομπές

Shared MIME Info Specification —Περιγράφει εκτενώς το σύστημα καταχώρησης MIME.

## Αυξημένη ενσωμάτωση στην επιφάνεια εργασίας

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

### Ειδοποίηση εκκίνησης

Παρόλο που τα πεδία που περιγράφονται στο παρέχουν επαρκείς πληροφορίες για την αναγνώριση της εφαρμογής σας από την επιφάνεια εργασίας, υπάρχουν και άλλα πεδία που μπορεί να σας φανούν χρήσιμα. Ένα από αυτά είναι η ειδοποίηση εκκίνησης.

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

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

`StartupNotify=true`

Αυτή η εντολή επιτρέπει στην επιφάνεια εργασίας να χρησιμοποιήσει το σύστημα ειδοποίησης εκκίνησης που περιλαμβάνεται στην εφαρμογή σας ή στο toolkit σας. Τα περισσότερα σύγχρονα toolkit συνεργάζονται άψογα με το σύστημα ειδοποίησης εκκίνησης. Αν δεν χρησιμοποιείτε σύγχρονο toolkit, μπορείτε να ανατρέξετε στο Startup Notification Spec για πληροφορίες σχετικά με το πώς μπορείτε να υλοποιήσετε μόνοι σας αυτή τη λειτουργία.

Ανεξάρτητα από το toolkit που χρησιμοποιείτε, υπάρχει ένας τύπος εφαρμογών για τον οποίο η ειδοποίηση εκκίνησης πρέπει να ρυθμιστεί χειροκίνητα. Οι εφαρμογές με απομακρυσμένες δυνατότητες (όπου, αντί να εκκινήσετε νέα διεργασία, ζητάτε από μία υφιστάμενη διεργασία να ανοίξει νέο παράθυρο) δεν μπορούν να χρησιμοποιήσουν τον αυτόματο μηχανισμό. Η εφαρμογή σας πρέπει να περασεί την τιμή του περιβάλλοντος DESKTOP_LAUNCH_ID και να το αναγκάσει να ενημερώσει το σύστημα εκκίνησης του νέου παραθύρου. Αν χρησιμοποιείτε GTK+,η τεκμηρίωση του `gdk_notify_startup_complete()` περιέχει ορισμένες επιπλέον πληροφορίες σχετικά.

#### Παραπομπές

Startup Notification Protocol — Περιγράφει αναλυτικά την υλοποίηση της ειδοποίησης εκκίνησης στο σύστημα παραθύρων X.

### Εγκατάσταση εφαρμογής μικρογραφιών

Ο διαχειριστής αρχείων του GNOME, ο Ναυτίλος, μπορεί να εμφανίζει εξατομικευμένες μικρογραφίες για κάθε αρχείο, αντί για τα εικονίδια των γενικών μορφών. Για παράδειγμα, ένα έγγραφο επεξεργαστή κειμένου μπορεί να εμφανίζεται ως μικρογραφία της πρώτης σελίδας του. Αυτή η δυνατότητα είναι χρήσιμη γιατί οι χρήστες βλέπουν κάποια από τα δεδομένα των αρχείων τους και μπορούν να θυμηθούν πιο εύκολα το αρχείο που ψάχνουν. Μπορείτε να επιτρέψετε στην εφαρμογή σας να δημιουργεί τέτοιου είδους μικρογραφίες, ακολουθώντας ορισμένα απλά βήματα:

Μια εφαρμογή μικρογραφιών είναι ένα πρόγραμμα χωρίς διεπαφή χρήστη που παίρνει ως είσοδο ένα αρχείο και ένα μέγεθος σε εικονοστοιχεία και παράγει μια μικρογραφία για το αρχείο. Το GNOME αποφασίζει ποια εφαρμογή μικρογραφιών θα χρησιμοποιηθεί με βάση τον τύπο MIME του αρχείου για το οποίο πρόκειται να δημιουργηθεί μικρογραφία. Η αντιστοιχίες μεταξύ τύπων MIME και εφαρμογών μικρογραφιών είναι αποθηκευμένες σε μια σειρά από κλειδιά GConf.

Για κάθε τύπο MIME που σας ενδιαφέρει, θα πρέπει να δημιουργήσετε δύο κλειδιά GConf:

`/desktop/gnome/thumbnailers/application@x-foo/enable`

  Τύπος: λογικό. Καθορίζει αν θα εκτελεστεί η εφαρμογή μικρογραφιών. Μπορείτε να ενεργοποιείτε ή να απενεργοποιείτε κάθε εφαρμογή μικρογραφιών ξεχωριστά. Βεβαίως, όταν εγκαθιστάτε νέα εφαρμογή μικρογραφιών, θα πρέπει να φροντίσετε η τιμή του κλειδιού να είναι true.

`/desktop/gnome/thumbnailers/application@x-foo/command`

  Τύπος: αλφαριθμητικό. Η εντολή που θα χρησιμοποιήσει το GNOME όταν θα χρειαστεί να δημιουργήσει μικρογραφία για αρχείο του τύπου application@x-foo. Για παράδειγμα, η τιμή θα μπορούσε να είναι "`application-x-foo-thumbnailer %i %o %s`". Δείτε παρακάτω για επεξήγηση των συμβόλων %.

Ουσιαστικά, κάθε τύπος MIME απαιτεί δύο κλειδιά GConf (`enable` and `command`) στην ίδια διαδρομή. Το όνομα της διαδρομής προκύπτει από το όνομα του τύπου MIME αν αντικαταστήσετε το "`/`" με "`@`". Για παράδειγμα, μια εφαρμογή μικρογραφιών για `image/x-my-format` θα απαιτούσε δύο κλειδιά: `/desktop/gnome/thumbnailers/image@x-my-format/enable` και `/desktop/gnome/thumbnailers/image@x-my-format/command`.

Στο κλειδί `command`, το GNOME ψάχνει για συνδυασμούς με το σύμβολο % και τους υποκαθιστά με πραγματικές τιμές ως εξής:

`%i` | Όνομα αρχείου εισόδου. Πρόκειται για το αρχείο που πρέπει να διαβάσει η εφαρμογή μικρογραφιών.
`%u` | URI εισόδου. Αν η εφαρμογή μικρογραφιών χειρίζεται και URI εκτός από απλά ονόματα αρχείων, χρησιμοποιήστε το `%u` αντί του `%i`.
`%o` | Όνομα αρχείου εξόδου. Πρόκειται για το αρχείο όπου η εφαρμογή μικρογραφιών εγγράφει την εικόνα της μικρογραφίας σε μορφή PNG.
`%s` | Μέγεθος της μικρογραφίας, με τη μορφή ενός μόνο ακεραίου. Για παράδειγμα, αν χρησιμοποιηθεί το `128`, η εφαρμογή μικρογραφιών θα δημιουργήσει μία εικόνα που δεν θα υπερβαίνει τα 128×128 εικονοστοιχεία.

Είτε το `%i` είτε το `%u` θα πρέπει να περιέχονται στην εντολή σας, ενώ υποχρεωτικό είναι και το `%o`. Το `%s` είναι προαιρετικό, αλλά συνιστούμε να το προσέξετε.

#### Πρόσθετες πληροφορίες

Ως πρόσθετη παράμετρο ρύθμισης, μπορείτε να ορίσετε ως αληθές το λογικό κλειδί `/desktop/gnome/thumbnailers/disable_all` για να απενεργοποιήσετε πλήρως τη δημιουργία μικρογραφιών.

## Λίστα αξιολόγησης ενσωμάτωσης

Αυτό το παράρτημα περιέχει μία λίστα αξιολόγησης με τις διάφορες ενέργειες που περιγράφονται σε αυτόν τον οδηγό. Μπορείτε να τη χρησιμοποιήσετε για να διασφαλίσετε ότι το λογισμικό σας ενσωματώνεται στο GNOME ως προς τα βασικά στοιχεία του, ή για να σχεδιάσετε τις μελλοντικές σας εργασίες ενσωμάτωσης.

1. Η εφαρμογή σας εμφανίζεται στα μενού των πινάκων εφαρμογών του GNOME;

2. Η εφαρμογή σας διαθέτει εικονίδιο για τα μενού των πινάκων εφαρμογών και την επιφάνεια εργασίας; Αν ναι, διαθέτει εικονίδια σε πολλαπλά προκαθορισμένα μεγέθη, καθώς και σε κλιμακώσιμη μορφή SVG;

3. Αν η εφαρμογή σας μπορεί να φορτώνει και να αποθηκεύει αρχεία, καταχωρεί τους τύπους MIME που μπορεί να χειριστεί;

4. Η εφαρμογή σας παρέχει εικονίδια MIME για το διαχειριστή αρχείων;

5. Η εφαρμογή σας υποστηρίζει ειδοποιήσεις εκκίνησης, έτσι ώστε να επιτρέπει στο GNOME να εμφανίζει στο χρήστη πληροφορίες κατά την εκκίνησή της;

6. Αν η εφαρμογή σας δημιουργεί "εκτυπώσιμα" έγγραφα, εγκαθιστά πρόγραμμα μικρογραφιών για χρήση από το διαχειριστή αρχείων;

## Ευχαριστίες

Θερμές ευχαριστίες στον Jakub Steiner για το υπέροχο φύλλο στυλ CSS της έκδοσης HTML αυτού του οδηγού!