<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="index" lang="el">
  <bookinfo>
    <title>Ενσωμάτωση υπάρχοντος λογισμικού στο GNOME</title>
    <subtitle>Οδηγός για ανεξάρτητους διανομείς λογισμικού</subtitle>
    <abstract role="description"><para>Οδηγός για ανεξάρτητους διανομείς λογισμικού</para></abstract>

    <authorgroup>
      <author>
	<firstname>Rosanna</firstname>
	<surname>Yuen</surname>
	<affiliation>
	  <address>
	    <email>zana@gnome.org</email>
	  </address>
	</affiliation>
      </author>
      <author role="maintainer">
	<firstname>Federico</firstname>
	<surname>Mena-Quintero</surname>
	<affiliation>
	  <address>
	    <email>federico@gnu.org</email>
	  </address>
	</affiliation>
      </author>
      <author>
	<firstname>Mike</firstname>
	<surname>Hearn</surname>
	<affiliation>
	  <address>
	    <email>mike@navi.cx</email>
	  </address>
	</affiliation>
      </author>
    </authorgroup>

    <copyright>
      <year>2005, 2006</year>
      <holder>Rosanna Yuen, Federico Mena-Quintero, Mike Hearn</holder>
    </copyright>

    <revhistory>
      <revision>
	<revnumber>0.6</revnumber>
	<date>19 Σεπτεμβρίου 2006</date>
	<revdescription>
	  <para>Επέκταση των κατευθυντήριων γραμμών για τα εικονίδια.</para>
	</revdescription>
      </revision>
 <revision>
	<revnumber>0.5</revnumber>
	<date>18 Σεπτεμβρίου 2006</date>
	<revdescription>
	  <para>Ενσωμάτωση του περιεχομένου του πρώτου άρθρου της Rosanna Yuen σχετικά με τα πρότυπα του freedesktop.org</para>
	</revdescription>
      </revision>
      <revision>
	<revnumber>0.0</revnumber>
	<date>Ιούνιος 2005</date>
	<revdescription>
	  <para>Αρχική έκδοση αυτού του εγγράφου.</para>
	</revdescription>
      </revision>
    </revhistory>
<!-- Added with permission of federico -->
<legalnotice id="legalnotice">
  <para>Χορηγείται άδεια αντιγραφής, διανομής και/ή τροποποίησης του παρόντος εγγράφου υπό τους όρους της έκδοσης 1.1 της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL), ή οποιασδήποτε μεταγενέστερης έκδοσής αυτής από το Ίδρυμα Ελεύθερου Λογισμικού (FSF), χωρίς αμετάβλητες ενότητες, κείμενα εμπροσθοφύλλου και κείμενα οπισθοφύλλου. Αντίγραφο της άδειας GFDL είναι διαθέσιμο στον ακόλουθο <ulink type="help" url="ghelp:fdl">σύνδεσμο</ulink>, ή στο αρχείο COPYING-DOCS που διανέμεται μαζί με το παρόν εγχειρίδιο.</para>
  <para>Αυτό το εγχειρίδιο αποτελεί μέρος της συλλογής εγχειριδίων του GNOME που διανέμονται υπό τους όρους της GFDL. Αν επιθυμείτε να διανείμετε το παρόν εγχειρίδιο ξεχωριστά από τη συλλογή, οφείλετε να προσθέσετε στο εγχειρίδιο αντίγραφο της άδειας χρήσης, όπως προβλέπεται στην ενότητα 6 της άδειας.</para>
  <para>Πολλές από τις ονομασίες που χρησιμοποιούνται από εταιρείες για την διαφοροποίηση των προϊόντων και υπηρεσιών τους έχουν καταχωρισθεί ως εμπορικά σήματα. Σε όποιο σημείο της τεκμηρίωσης GNOME τυχόν εμφανίζονται αυτές οι ονομασίες, και εφόσον τα μέλη του Έργου τεκμηρίωσης GNOME έχουν λάβει γνώση αυτών των εμπορικών σημάτων, οι ονομασίες ή τα αρχικά αυτών θα γράφονται με κεφαλαίους χαρακτήρες.</para>
  <para>ΤΟ ΠΑΡΟΝ ΕΓΓΡΑΦΟ ΚΑΙ ΟΙ ΤΡΟΠΟΙΗΜΕΝΕΣ ΕΚΔΟΣΕΙΣ ΑΥΤΟΥ ΠΑΡΕΧΟΝΤΑΙ ΥΠΟ ΤΟΥΣ ΟΡΟΥΣ ΤΗΣ ΕΛΕΥΘΕΡΗΣ ΑΔΕΙΑΣ ΤΕΚΜΗΡΙΩΣΗΣ GNU (GFDL) ΚΑΙ ΜΕ ΤΗΝ ΠΕΡΑΙΤΕΡΩ ΔΙΕΥΚΡΙΝΙΣΗ ΟΤΙ: <orderedlist>
      <listitem>
	<para>ΤΟ ΠΑΡΟΝ ΕΓΓΡΑΦΟ ΠΑΡΕΧΕΤΑΙ "ΩΣ ΕΧΕΙ", ΧΩΡΙΣ ΟΠΟΙΑΔΗΠΟΤΕ ΑΛΛΗ ΕΓΓΥΗΣΗ, ΕΙΤΕ ΡΗΤΗ ΕΙΤΕ ΣΙΩΠΗΡΗ, ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΗΣ, ΧΩΡΙΣ ΠΕΡΙΟΡΙΣΜΟ, ΤΗΣ ΕΓΓΥΗΣΗΣ ΟΤΙ ΤΟ ΕΓΓΡΑΦΟ, Ή Η ΤΡΟΠΟΠΟΙΗΜΕΝΗ ΕΚΔΟΣΗ ΑΥΤΟΥ, ΕΙΝΑΙ ΕΜΠΟΡΕΥΣΙΜΟ, ΚΑΤΑΛΛΗΛΟ ΓΙΑ ΕΙΔΙΚΟ ΣΚΟΠΟ ΚΑΙ ΔΕΝ ΠΡΟΣΒΑΛΛΕΙ ΔΙΚΑΙΩΜΑΤΑ ΤΡΙΤΩΝ. Ο ΧΡΗΣΤΗΣ ΑΝΑΛΑΜΒΑΝΕΙ ΕΞ ΟΛΟΚΛΗΡΟΥ ΤΗΝ ΕΘΥΝΗ ΩΣ ΠΡΟΣ ΤΗΝ ΠΟΙΟΤΗΤΑ, ΤΗΝ ΑΚΡΙΒΕΙΑ ΚΑΙ ΤΗΝ ΧΡΗΣΗ ΤΟΥ ΕΓΓΡΑΦΟΥ Ή ΤΗΣ ΤΡΟΠΟΠΟΙΗΜΕΝΗΣ ΕΚΔΟΣΗΣ ΑΥΤΟΥ. ΣΕ ΠΕΡΙΠΤΩΣΗ ΠΟΥ ΟΠΟΙΟΔΗΠΟΤΕ ΕΓΓΡΑΦΟ Ή ΤΡΟΠΟΠΟΙΗΜΕΝΗ ΕΚΔΟΣΗ ΑΥΤΟΥ ΑΠΟΔΕΙΧΘΟΥΝ ΕΛΑΤΤΩΜΑΤΙΚΑ ΚΑΘ' ΟΙΟΝΔΗΠΟΤΕ ΤΡΟΠΟ, Ο ΧΡΗΣΤΗΣ (ΚΑΙ ΟΧΙ Ο ΑΡΧΙΚΟΣ ΣΥΓΓΡΑΦΕΑΣ, ΔΗΜΙΟΥΡΓΟΣ Ή ΟΠΟΙΟΣΔΗΠΟΤΕ ΣΥΝΤΕΛΕΣΤΗΣ) ΑΝΑΛΑΜΒΑΝΕΙ ΤΟ ΚΟΣΤΟΣ ΟΠΟΙΑΣΔΗΠΟΤΕ ΑΝΑΓΚΑΙΑΣ ΣΥΝΤΗΡΗΣΗΣ, ΕΠΙΣΚΕΥΗΣ Ή ΔΙΟΡΘΩΣΗΣ. Η ΠΑΡΟΥΣΑ ΑΠΟΠΟΙΗΣΗ ΕΓΓΥΗΣΗΣ ΑΠΟΤΕΛΕΙ ΑΝΑΠΟΣΠΑΣΤΟ ΜΕΡΟΣ ΤΗΣ ΑΔΕΙΑΣ. ΔΕΝ ΕΠΙΤΡΕΠΕΤΑΙ ΟΥΔΕΜΙΑ ΧΡΗΣΗ ΤΟΥ ΕΓΓΡΑΦΟΥ Ή ΤΡΟΠΟΠΟΙΗΜΕΝΩΝ ΕΚΔΟΣΕΩΝ ΑΥΤΟΥ ΣΥΜΦΩΝΑ ΜΕ ΤΟΥΣ ΟΡΟΥΣ ΤΗΣ ΠΑΡΟΥΣΑΣ,  ΠΑΡΑ ΜΟΝΟ ΕΑΝ ΣΥΝΟΔΕΥΕΤΑΙ ΑΠΟ ΤΗΝ ΑΠΟΠΟΙΗΣΗ ΕΓΓΥΗΣΗΣ,  ΚΑΙ</para>
      </listitem>
      <listitem>
	<para>Ο ΔΗΜΙΟΥΡΓΟΣ, Ο ΑΡΧΙΚΟΣ ΣΥΓΓΡΑΦΕΑΣ, ΟΙ ΣΥΝΤΕΛΕΣΤΕΣ Ή ΟΙ ΔΙΑΝΟΜΕΙΣ ΤΟΥ ΕΓΓΡΑΦΟΥ Ή ΤΡΟΠΟΠΟΙΗΜΕΝΗΣ ΕΚΔΟΣΗΣ ΑΥΤΟΥ, ΚΑΘΩΣ ΚΑΙ ΟΙ ΠΡΟΜΗΘΕΥΤΕΣ ΟΠΟΙΩΝΔΗΠΟΤΕ ΕΚ ΤΩΝ ΠΡΟΑΝΑΦΕΡΟΜΕΝΩΝ ΜΕΡΩΝ, ΔΕΝ ΕΥΘΥΝΟΝΤΑΙ ΕΝΑΝΤΙ ΟΙΟΥΔΗΠΟΤΕ, ΣΕ ΚΑΜΙΑ ΠΕΡΙΠΤΩΣΗ ΚΑΙ ΥΠΟ ΚΑΜΙΑ ΕΡΜΗΝΕΙΑ ΝΟΜΟΥ, ΕΙΤΕ ΕΞ ΑΔΙΚΟΠΡΑΞΙΑΣ (ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΗΣ ΤΗΣ ΑΜΕΛΕΙΑΣ) ΕΙΤΕ ΣΤΟ ΠΛΑΙΣΙΟ ΣΥΜΒΑΤΙΚΗΣ Ή ΑΛΛΗΣ ΥΠΟΧΡΕΩΣΗΣ, ΓΙΑ ΤΥΧΟΝ ΑΜΕΣΕΣ, ΕΜΜΕΣΕΣ, ΕΙΔΙΚΕΣ, ΤΥΧΑΙΕΣ Ή ΣΥΝΕΠΑΚΟΛΟΥΘΕΣ ΖΗΜΙΕΣ ΟΠΟΙΑΣΔΗΠΟΤΕ ΜΟΡΦΗΣ, ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ, ΧΩΡΙΣ ΠΕΡΙΟΡΙΣΜΟ, ΖΗΜΙΩΝ ΛΟΓΩ ΑΠΩΛΕΙΑΣ ΦΗΜΗΣ ΚΑΙ ΠΕΛΑΤΕΙΑΣ, ΔΙΑΚΟΠΗΣ ΕΡΓΑΣΙΩΝ, ΔΥΣΛΕΙΤΟΥΡΓΙΑΣ Ή ΒΛΑΒΗΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ, Ή ΚΑΘΕ ΑΛΛΗΣ ΖΗΜΙΑΣ Ή ΑΠΩΛΕΙΑΣ ΠΟΥ ΟΦΕΙΛΕΤΑΙ Ή ΣΧΕΤΙΖΕΤΑΙ ΜΕ ΤΗΝ ΧΡΗΣΗ ΤΟΥ ΕΓΓΡΑΦΟΥ ΚΑΙ ΤΩΝ ΤΡΟΠΟΠΟΙΗΜΕΝΩΝ ΕΚΔΟΣΕΩΝ ΑΥΤΟΥ, ΑΚΟΜΑ ΚΑΙ ΑΝ ΤΑ ΩΣ ΑΝΩ ΜΕΡΗ ΕΙΧΑΝ ΛΑΒΕΙ ΓΝΩΣΗ ΤΗΣ ΠΙΘΑΝΟΤΗΤΑΣ ΠΡΟΚΛΗΣΗΣ ΤΕΤΟΙΩΝ ΖΗΜΙΩΝ.</para>
      </listitem>
    </orderedlist></para>
</legalnotice>
  </bookinfo>

  <preface id="preface">
    <title>Πρόλογος</title>

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

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

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

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

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

    <para>Γενικά, αυτός ο οδηγός αφορά την ενσωμάτωση υπάρχοντος λογισμικού στην επιφάνεια εργασίας GNOMΕ. Αν λοιπόν σκέφτεστε να γράψετε καινούριο λογισμικό, σας προτείνουμε να το γράψετε εξ ολοκλήρου για την πλατφόρμα GNOME. Παρακαλούμε δείτε τον <ulink url="http://developer.gnome.org">Ιστότοπο προγραμματιστών του GNOME</ulink> για περισσότερες πληροφορίες.</para>

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

    <section id="structure">
      <title>Δομή αυτού του οδηγού</title>

      <para>Αυτός ο οδηγός έχει τη δομή μιας λίστας από στόχους που πρέπει να επιτύχετε για να ενσωματώσετε ένα υπάρχον λογισμικό στο GNOME. Σε γενικές γραμμές, ο οδηγός παρουσιάζει αυτούς τους στόχους κατά σειρά σημασίας. Για παράδειγμα, η προσθήκη της εφαρμογής σας στο μενού του GNOME εμφανίζεται πριν την προσθήκη της υποστήριξης για σύρσιμο. Επίσης, αυτός ο οδηγός παρέχει ένα <link linkend="apx-integration-checklist">παράρτημα με λίστα αξιολόγησης της ενσωμάτωσης</link> για να σας βοηθήσει στην αξιολόγηση του έργου σας.</para>
    </section>

    <section id="standards">
      <title>Πρότυπα και το freedesktop.org</title>

      <para>Πολλά από τα στοιχεία ενσωμάτωσης σε αυτόν τον οδηγό βασίζονται σε πρότυπα που ισχύουν και πέρα από το GNOME. Αυτά τα πρότυπα χρησιμοποιούνται και από άλλα έργα επιφάνειας εργασίας, όπως το <ulink url="http://www.kde.org">K Desktop Environment</ulink>. Επομένως, αν ενσωματώσετε την εφαρμογή σας στο GNOME, θα χρειαστεί λίγη ή και καθόλου επιπλέον εργασία για να λειτουργήσουν και σε εκείνα τα περιβάλλοντα.</para>

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

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

  <chapter id="basic-integration">
    <title>Βασική ενσωμάτωση</title>

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

    <itemizedlist>
      <listitem>
	<para>Πώς θα επιτρέψετε στο χρήστη να εκκινεί την εφαρμογή σας, αναγκάζοντας την εφαρμογή να εμφανίζεται στα μενού των πινάκων εφαρμογών ή άλλων μηχανισμών εκκίνησης που χρησιμοποιεί η επιφάνεια εργασίας.</para>
      </listitem>
      <listitem>
	<para>Πώς θα ενημερώσετε την επιφάνεια εργασίας για τους τύπους αρχείων χρήστη που απαιτούν την εκκίνηση της εφαρμογής σας.</para>
      </listitem>
      <listitem>
	<para>Πώς θα ενημερώσετε την επιφάνεια εργασίας για τα εικονίδια που αντιστοιχούν στην εφαρμογή σας και στα αρχεία που δημιουργεί.</para>
      </listitem>
    </itemizedlist>

    <section id="desktop-files">
      <title>Αρχεία επιφάνειας εργασίας: ένταξη της εφαρμογής σας στα μενού της επιφάνειας εργασίας</title>

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

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

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

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

      <itemizedlist>
	<listitem>
	  <para>
	    put the application in the <guimenu>Main Menu</guimenu>. To find a list of
            valid categories, take a look into FreeDesktop.org's
	    <ulink url="http://standards.freedesktop.org/menu-spec/latest/">Desktop
	    Menu Specification</ulink>.
	  </para>
	</listitem>
	<listitem>
	  <para>καταχωρήσει την εφαρμογή στο διάλογο <application>Εκτέλεση εφαρμογής...</application>.</para>
	</listitem>
	<listitem>
	  <para>δημιουργήσει τους κατάλληλους εκκινητές στο μενού ή την επιφάνεια εργασίας.</para>
	</listitem>
	<listitem>
	  <para>αντιστοιχίσει το όνομα και την περιγραφή της εφαρμογής.</para>
	</listitem>
	<listitem>
	  <para>χρησιμοποιήσει το κατάλληλο εικονίδιο.</para>
	</listitem>
	<listitem>
	  <para>αναγνωρίσει τους τύπους ΜΙΜΕ των οποίων το άνοιγμα υποστηρίζει.</para>
	</listitem>
      </itemizedlist>

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

      <programlisting><![CDATA[
	[Desktop Entry]
	Name=FooCorp Painter Pro
	Exec=foocorp-painter-pro
	Icon=foocorp-painter-pro
	Type=Application
	Categories=GTK;GNOME;Utility;
	]]></programlisting>

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

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

	  <para>Σημειώστε ότι η επιφάνεια εργασίας KDE απαιτεί την εκτέλεση του <command>kbuildsycoca</command> για την ανανέωση των μενού.</para>

	
	</footnote></para>

      <para>Όλα τα έγκυρα αρχεία επιφάνειας εργασίας οφείλουν να έχουν την ίδια μορφή. Ένα απλοποιημένο παράδειγμα αρχείου επιφάνειας εργασίας φαίνεται στο  <xref linkend="ex-sample-desktop-file"/>. Το αρχείο χωρίζεται σε ενότητες και κάθε ενότητα ξεκινά με τον περιγραφέα της εντός αγκυλών. Σε αυτό το παράδειγμα βλέπετε μόνο μία ενότητα, που είναι και η βασική για την ενσωμάτωση της εφαρμογής σας. Σε κάθε ενότητα, το τμήμα της γραμμής πριν από το ίσον είναι το <firstterm>κλειδί</firstterm>, ενώ το δεύτερο τμήμα είναι η <firstterm>τιμή</firstterm>. Μπορείτε να δείτε μια επεξήγηση κάθε γραμμής στο <xref linkend="tb-desktop-file"/>.</para>

      <note>
	<para>Πέρα από την πρώτη γραμμή που είναι αυτή που ταυτοποιεί το αρχείο επιφάνειας εργασίας, η σειρά των γραμμών δεν έχει σημασία. Στο <xref linkend="ex-sample-desktop-file"/> η γραμμή <command>Type=Application</command> θα μπορούσε να βρίσκεται στη δεύτερη, την πέμπτη, ή την τελευταία γραμμή, χωρίς αυτό να επηρεάζει τα αποτελέσματα.</para>

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

      <example id="ex-sample-desktop-file">
	<title>Υπόδειγμα αρχείου επιφάνειας εργασίας</title>
<screen>
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Sample Application Name
Comment=A sample application
Exec=application
Icon=application.png
Terminal=false
</screen>
      </example>

      <table id="tb-desktop-file">
	<title>Επεξήγηση γραμμή προς γραμμή</title>
	<tgroup cols="2">
	  <colspec colnum="1" colname="line" colwidth="1"/>
	  <colspec colnum="2" colname="desc" colwidth="1"/>

	  <thead>
	    <row>
	      <entry>Γραμμή</entry>
	      <entry>Περιγραφή</entry>
	    </row>
	  </thead>

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

	</tgroup>
      </table>

      <section id="commandline">
	<title>Εκκίνηση της εφαρμογής σας</title>
	<para>Αν η εφαρμογή σας δέχεται ορίσματα από τη γραμμή εντολών, μπορείτε να τα προσδιορίσετε στα κατάλληλα πεδία, όπως φαίνεται στο <xref linkend="tb-exec-params"/>.</para>

	<table id="tb-exec-params">
	  <title>Μεταβλητές εκτέλεσης</title>
	  <tgroup cols="2">
	    <colspec colnum="1" colname="line" colwidth="1"/>
	    <colspec colnum="2" colname="desc" colwidth="1"/>

	    <thead>
	      <row>
		<entry>Προσθέστε...</entry>
		<entry>Δέχεται...</entry>
	      </row>
	    </thead>

	    <tbody>
	      <row>
		<entry><command>%f</command></entry>
		<entry>ένα όνομα αρχείου.</entry>
	      </row>
	      <row>
		<entry><command>%F</command></entry>
		<entry>πολλαπλά ονόματα αρχείων.</entry>
	      </row>
	      <row>
		<entry><command>%u</command></entry>
		<entry>ένα URL.</entry>
	      </row>
	      <row>
		<entry><command>%U</command></entry>
		<entry>πολλαπλά URL.</entry>
	      </row>
	      <row>
		<entry><command>%d</command></entry>
		<entry>έναν κατάλογο. Χρησιμοποιείται μαζί με το <command>%f</command> για τον εντοπισμό ενός αρχείου.</entry>
	      </row>
	      <row>
		<entry><command>%D</command></entry>
		<entry>πολλαπλούς καταλόγους. Χρησιμοποιείται μαζί με το <command>%F</command> για τον εντοπισμό αρχείων.</entry>
	      </row>
	      <row>
		<entry><command>%n</command></entry>
		<entry>ένα όνομα αρχείου χωρίς διαδρομή.</entry>
	      </row>
	      <row>
		<entry><command>%N</command></entry>
		<entry>πολλαπλά ονόματα αρχείων χωρίς διαδρομές.</entry>
	      </row>
	      <row>
		<entry><command>%k</command></entry>
		<entry>ένα URI ή τοπικό όνομα αρχείου για την τοποθεσία του αρχείου επιφάνειας εργασίας.</entry>
	      </row>
	      <row>
		<entry><command>%v</command></entry>
		<entry>το όνομα της εγγραφής μιας συσκευής.</entry>
	      </row>
	    </tbody>
	  </tgroup>
	</table>

      </section>

      <section id="internationalization">
	<title>Ξένες γλώσσες</title>

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

	<para>
	  <command>Comment[sv]=Exempelprogramnamn</command>
	</para>

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

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

      </section>

      <section id="desktop-references">
	<title>Παραπομπές</title>

	<para><ulink url="http://standards.freedesktop.org/desktop-entry-spec/latest/index.html">Desktop Entry Specification</ulink> — Προδιαγραφές για τη δημιουργία αρχείων επιφάνειας εργασίας.</para>
      </section>
    </section>

    <section id="icons">
      <title>Εγκατάσταση εικονιδίων</title>

      <para>Στο <xref linkend="ex-sample-desktop-file"/>, καθορίσαμε ότι το εικονίδιο της εφαρμογής θα είναι το <filename><replaceable>εφαρμογή.png</replaceable></filename>. Ωστόσο, για να εμφανιστεί το εικονίδιο, θα πρέπει να τοποθετήσουμε το αρχείο του στον κατάλληλο κατάλογο.</para>

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

      <para>Για να βελτιώσετε την εμφάνιση της εφαρμογής σας στην επιφάνεια εργασίας GNOME, διατηρώντας παράλληλα την εγγενή της εμφάνιση στα KDE, Windows XP ή Mac OS X, ακολουθήστε τις <ulink url="http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines">Κατευθυντήριες γραμμές στυλ Tango</ulink> για τη σχεδίαση των γραφικών σας. Σε αυτό το έγγραφο περιέχονται επεξηγήσεις για διάφορες πτυχές της σχεδίασης εικονιδίων, όπως τα χρώματα, ο φωτισμός και τα μεγέθη. Επίσης, περιέχονται ορισμένα τυπικά παραδείγματα ροής εργασιών, καθώς και βίντεο εκμάθησης.</para>


      <section id="icons-references">
	<title>Παραπομπές</title>

	<para><ulink url="http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html">Icon Theme Specification</ulink> — Περιγράφει τον τρόπο εγκατάστασης και αναζήτησης εικονιδίων έτσι ώστε να είναι προσαρμόσιμα.</para>

	<para><ulink url="http://standards.freedesktop.org/icon-naming-spec/latest/">Icon Naming Specification</ulink> — Παρέχει κανονικοποιημένες προδιαγραφές ονοματοδοσίας για τα αρχεία εικονιδίων.</para>

	<para><ulink url="http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines">Tango Style Guidelines</ulink> — Περιγράφει πώς να σχεδιάζετε καθαρά εικονίδια για χρήση σε 'πολλαπλές πλατφόρμες'.</para>
      </section>
    </section>

    <section id="mime">
      <title>Προσθήκη τύπων MIME</title>

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

      <para>
	<screen>MimeType=image/png</screen>
      </para>

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

      <para>Το σύστημα αναγνωρίζει ήδη έναν μεγάλο αριθμό τύπων MIME. Αν παρόλα αυτά σκοπεύετε να δημιουργήσετε δικούς σας τύπους, θα πρέπει να τους καταχωρήσετε στη βάση δεδομένων MIME. Για το σκοπό αυτό, στον κατάλογο <filename>/usr/share/mime/packages/</filename>, δημιουργήστε ένα αρχείο <acronym>XML</acronym> με τη μορφή που περιγράφεται στο <xref linkend="ex-mime-xml"/>.</para>

      <example id="ex-mime-xml">
	<title>Υπόδειγμα αρχείου καταχώρησης νέου τύπου MIME</title>
<screen>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"&gt;
   &lt;mime-type type="application/x-<replaceable>παράδειγμα</replaceable>"&gt;
     &lt;comment&gt;Example file type &lt;/comment&gt;
     &lt;magic priority="50"&gt;
       &lt;match value="<replaceable>αλφαριθμητικό-αναζήτησης</replaceable>" type="string" offset="10:140"/&gt;
     &lt;/magic&gt;
     &lt;glob pattern="*.<replaceable>νέαεπέκταση</replaceable>"/&gt;
   &lt;/mime-type&gt;
&lt;/mime-info&gt;
</screen>
      </example>

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

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

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

      <para>
	<screen>update-mime-database /usr/share/mime</screen>
      </para>

      <tip>
	<para>Για περισσότερες πληροφορίες σχετικά με την επιλογή εύστοχων επεκτάσεων MIME και την καταχώρηση των τύπων MIME, δείτε τον ιστότοπο του <ulink url="http://www.iana.org/cgi-bin/mediatypes.pl">IANA</ulink>.</para>
      </tip>

      <section id="mime-references">
	<title>Παραπομπές</title>

	<para><ulink url="http://standards.freedesktop.org/shared-mime-info-spec/latest/">Shared MIME Info Specification</ulink> —Περιγράφει εκτενώς το σύστημα καταχώρησης MIME.</para>
      </section>

    </section>

  </chapter>

  <chapter id="deeper-integration">
    <title>Αυξημένη ενσωμάτωση στην επιφάνεια εργασίας</title>

    <para>Αυτό το κεφάλαιο περιέχει μία σειρά από πράγματα που μπορείτε να κάνετε για να επιτύχετε κάτι παραπάνω από την ελάχιστη ενσωμάτωση της εφαρμογής σας στην επιφάνεια εργασίας GNOME. Για παράδειγμα, το GNOME μπορεί να εμφανίζει πληροφορίες κατά την εκκίνηση μιας εφαρμογής. Πληροφορίες για την ενεργοποίηση αυτής της λειτουργίας θα βρείτε στο <xref linkend="startup-notification"/>. Επίσης, αν το λογισμικό σας παράγει έγγραφα ή άλλα "εκτυπώσιμα" δεδομένα, μπορείτε να εγκαταστήσετε μια εφαρμογή δημιουργίας μικρογραφιών που θα επιτρέπει στο διαχειριστή αρχείων του GNOME να δημιουργεί μικρογραφίες εξειδικευμένες για το πρόγραμμά σας.</para>

    <section id="startup-notification">
      <title>Ειδοποίηση εκκίνησης</title>

      <para>Παρόλο που τα πεδία που περιγράφονται στο <xref linkend="desktop-files"/> παρέχουν επαρκείς πληροφορίες για την αναγνώριση της εφαρμογής σας από την επιφάνεια εργασίας, υπάρχουν και άλλα πεδία που μπορεί να σας φανούν χρήσιμα. Ένα από αυτά είναι η <firstterm>ειδοποίηση εκκίνησης</firstterm>.</para>

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

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

      <para>
	<command>StartupNotify=true</command>
      </para>

      <para>Αυτή η εντολή επιτρέπει στην επιφάνεια εργασίας να χρησιμοποιήσει το σύστημα ειδοποίησης εκκίνησης που περιλαμβάνεται στην εφαρμογή σας ή στο toolkit σας. Τα περισσότερα σύγχρονα toolkit συνεργάζονται άψογα με το σύστημα ειδοποίησης εκκίνησης. Αν δεν χρησιμοποιείτε σύγχρονο toolkit, μπορείτε να ανατρέξετε στο <ulink url="http://freedesktop.org/wiki/Standards_2fstartup_2dnotification_2dspec">Startup Notification Spec</ulink> για πληροφορίες σχετικά με το πώς μπορείτε να υλοποιήσετε μόνοι σας αυτή τη λειτουργία.</para>

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

      <section id="startup-notification-references">
	<title>Παραπομπές</title>

	<para><ulink url="http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt">Startup Notification Protocol</ulink> — Περιγράφει αναλυτικά την υλοποίηση της ειδοποίησης εκκίνησης στο σύστημα παραθύρων X.</para>
      </section>
    </section>

    <section id="thumbnailer">
      <title>Εγκατάσταση εφαρμογής μικρογραφιών</title>

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

      <!-- FIXME: screenshot of Nautilus showing thumbnails -->

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

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

      <variablelist>
	<varlistentry>
	  <term><literal>/desktop/gnome/thumbnailers/<replaceable>application@x-foo</replaceable>/enable</literal></term>
	  <listitem>
	    <para>Τύπος: λογικό. Καθορίζει αν θα εκτελεστεί η εφαρμογή μικρογραφιών. Μπορείτε να ενεργοποιείτε ή να απενεργοποιείτε κάθε εφαρμογή μικρογραφιών ξεχωριστά. Βεβαίως, όταν εγκαθιστάτε νέα εφαρμογή μικρογραφιών, θα πρέπει να φροντίσετε η τιμή του κλειδιού να είναι <symbol>true</symbol>.</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>/desktop/gnome/thumbnailers/<replaceable>application@x-foo</replaceable>/command</literal></term>
	  <listitem>
	    <para>Τύπος: αλφαριθμητικό. Η εντολή που θα χρησιμοποιήσει το GNOME όταν θα χρειαστεί να δημιουργήσει μικρογραφία για αρχείο του τύπου <replaceable>application@x-foo</replaceable>. Για παράδειγμα, η τιμή θα μπορούσε να είναι "<literal>application-x-foo-thumbnailer %i %o %s</literal>".  Δείτε παρακάτω για επεξήγηση των συμβόλων %.</para>
	  </listitem>
	</varlistentry>
      </variablelist>

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

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

      <informaltable frame="none">
	<tgroup cols="2">
	  <tbody valign="top">
	    <row>
	      <entry><literal>%i</literal></entry>
	      <entry>Όνομα αρχείου εισόδου. Πρόκειται για το αρχείο που πρέπει να διαβάσει η εφαρμογή μικρογραφιών.</entry>
	    </row>
	    <row>
	      <entry><literal>%u</literal></entry>
	      <entry>URI εισόδου. Αν η εφαρμογή μικρογραφιών χειρίζεται και URI εκτός από απλά ονόματα αρχείων, χρησιμοποιήστε το <literal>%u</literal> αντί του <literal>%i</literal>.</entry>
	    </row>
	    <row>
	      <entry><literal>%o</literal></entry>
	      <entry>Όνομα αρχείου εξόδου. Πρόκειται για το αρχείο όπου η εφαρμογή μικρογραφιών εγγράφει την εικόνα της μικρογραφίας σε μορφή PNG.</entry>
	    </row>
	    <row>
	      <entry><literal>%s</literal></entry>
	      <entry>Μέγεθος της μικρογραφίας, με τη μορφή ενός μόνο ακεραίου. Για παράδειγμα, αν χρησιμοποιηθεί το <literal>128</literal>, η εφαρμογή μικρογραφιών θα δημιουργήσει μία εικόνα που δεν θα υπερβαίνει τα 128×128 εικονοστοιχεία.</entry>
	    </row>
	  </tbody>
	</tgroup>
      </informaltable>

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

      <section>
	<title>Πρόσθετες πληροφορίες</title>

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

      <!-- FIXME: we mentioned the GConf keys, but not how to set them
      globally.  Do we need to describe how to install
      schemas/defaults? -->
    </section>

  </chapter>

  <appendix id="apx-integration-checklist">
    <title>Λίστα αξιολόγησης ενσωμάτωσης</title>

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

    <orderedlist>
      <listitem>
	<para>Η εφαρμογή σας εμφανίζεται στα μενού των πινάκων εφαρμογών του GNOME;</para>
      </listitem>
      <listitem>
	<para>Η εφαρμογή σας διαθέτει εικονίδιο για τα μενού των πινάκων εφαρμογών και την επιφάνεια εργασίας; Αν ναι, διαθέτει εικονίδια σε πολλαπλά προκαθορισμένα μεγέθη, καθώς και σε κλιμακώσιμη μορφή <acronym>SVG</acronym>;</para>
      </listitem>
      <listitem>
	<para>Αν η εφαρμογή σας μπορεί να φορτώνει και να αποθηκεύει αρχεία, καταχωρεί τους τύπους MIME που μπορεί να χειριστεί;</para>
      </listitem>
      <listitem>
	<para>Η εφαρμογή σας παρέχει εικονίδια MIME για το διαχειριστή αρχείων;</para>
      </listitem>
      <listitem>
	<para>Η εφαρμογή σας υποστηρίζει ειδοποιήσεις εκκίνησης, έτσι ώστε να επιτρέπει στο GNOME να εμφανίζει στο χρήστη πληροφορίες κατά την εκκίνησή της;</para>
      </listitem>
      <listitem>
	<para>Αν η εφαρμογή σας δημιουργεί "εκτυπώσιμα" έγγραφα, εγκαθιστά πρόγραμμα  μικρογραφιών για χρήση από το διαχειριστή αρχείων;</para>
      </listitem>
    </orderedlist>
  </appendix>

  <appendix id="apx-acknowledgments">
    <title>Ευχαριστίες</title>

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

</book>
