Αρχεία ορισμού μενού

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

Τα αρχεία μενού πρέπει να βρίσκονται στο $XDG_CONFIG_DIRS/menus/applications.menu. Αν δεν έχει οριστεί τιμή για το $XDG_CONFIG_DIRS1, χρησιμοποιείται η προεπιλεγμένη τιμή /etc/xdg. Παράλληλα, μπορεί να υπάρχει μια προσωπική εκδοχή του χρήστη στο $XDG_CONFIG_HOME/menus/applications.menu, που είναι η πρώτη διαδρομή που θα εξεταστεί. Αν δεν έχει οριστεί τιμή για το $XDG_CONFIG_HOME, χρησιμοποιείται η προεπιλεγμένη διαδρομή ~/.config. Όταν υπάρχουν περισσότερα από ένα αρχεία applications.menu, οι κατάλογοι που εμφανίζονται πρώτοι στο $XDG_CONFIG_DIRS έχουν προτεραιότητα. Χρησιμοποιείται το πρώτο αρχείο και τα επόμενα αγνοούνται.

Αν δεν καταλαβαίνετε με ποια σειρά γίνεται η αναζήτηση στις διάφορες διαδρομές, χρησιμοποιήστε την απλή λίστα που ακολουθεί για να προσδιορίσετε την τοποθεσία του applications.menu:

  1. Αναζητήστε το menus/applications.menu σε όλους τους υποκαταλόγους του $XDG_CONFIG_HOME. Αν δεν έχει οριστεί τιμή για το $XDG_CONFIG_HOME, χρησιμοποιείται ο προεπιλεγμένος κατάλογος ~/.config/.
  2. Αναζητήστε το menus/applications.menu σε όλους τους υποκαταλόγους του $XDG_CONFIG_DIRS. Αν δεν έχει οριστεί τιμή για το $XDG_CONFIG_DIRS, χρησιμοποιείται ο προεπιλεγμένος κατάλογος /etc/xdg/.
  3. Χρησιμοποιήστε το πρώτο αρχείο applications.menu που βρήκατε.

Μπορείτε να δείτε ένα παράδειγμα αρχείου .menu στο Παράδειγμα 2-1. Σε αυτό το παράδειγμα, το μενού στο ανώτατο επίπεδο ονομάζεται Applications (ορίζεται από το στοιχείο <Name>). Το μενού Applications περιέχει μόνο ένα υπομενού, αν και επιτρέπονται περισσότερα. Κάθε υπομενού μπορεί, επίσης, να περιέχει και ένα στοιχείο <Include>. Ο σκοπός του στοιχείου <Include> είναι να λειτουργεί ως φίλτρο για τις διαθέσιμες εγγραφές της επιφάνειας εργασίας, χρησιμοποιώντας συγκεκριμένους κανόνες αντιστοίχισης.

Για παράδειγμα, το στοιχείο <Category> είναι ένας βασικός κανόνας αντιστοίχισης, που επιλέγει μία εγγραφή επιφάνειας εργασίας μόνο αν το κλειδί Categories περιλαμβάνει τα περιεχόμενα του στοιχείου <Category>. Στο συγκεκριμένο παράδειγμα, το μενού Accessories θα περιλαμβάνει μια εγγραφή επιφάνειας εργασίας μόνο αν περιέχει τον όρο “Utility” χωρίς τον όρο “System” στο κλειδί Categories. Για περισσότερες πληροφορίες σχετικά με το κλειδί Categories, δείτε Ενότητα 2.3 ― Αρχεία εγγραφών επιφάνειας εργασίας.

Παράδειγμα 2-1Παράδειγμα αρχείου .menu

<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
 "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<Menu>
  <Name>Applications</Name>
  <Directory>Applications.directory</Directory>

  <!-- Read standard .directory and .desktop file locations -->
  <DefaultAppDirs/>
  <DefaultDirectoryDirs/>

  <!-- Accessories submenu -->
  <Menu>
    <Name>Accessories</Name>
    <Directory>Accessories.directory</Directory>
    <Include>
      <And>
        <Category>Utility</Category>
        <Not>
          <Category>System</Category>
        </Not>
      </And>
    </Include>
  </Menu> <!-- End Accessories -->

  <!-- possibly more submenus -->

</Menu> <!-- End Applications -->

Ο Πίνακας 2-1 καταγράφει ορισμένα από τα στοιχεία των αρχείων .menu. Για μια πιο λεπτομερή περιγραφή, δείτε τις XDG menu specification.

Table 2-1Στοιχεία αρχείων ορισμού μενού
Στοιχείο Περιγραφή
<Menu> Το ριζικό στοιχείο, το οποίο μπορεί να περιλαμβάνει εμφωλευμένα στοιχεία <Menu> που θα ορίζουν υπομενού. Το πώς εμφωλεύονται αυτά τα στοιχεία καθορίζει τη δομή του μενού.
<Name> Καθορίζει το όνομα του μενού. Κάθε στοιχείο <Menu> περιέχει υποχρεωτικά το στοιχείο <Name>.
<Directory>

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

Η προεπιλεγμένη τοποθεσία για τα αρχεία .directory είναι η $XDG_DATA_DIRS/desktop-directories/, όπως προβλέπεται από τις XDG menu specification.

<DefaultAppDirs> Δίνει οδηγία να σαρωθούν όλες οι διαθέσιμες εγγραφές επιφάνειας εργασίας στο $XDG_DATA_DIRS/applications/. Όταν απουσιάζει η συγκεκριμένη οδηγία, δεν γίνεται σάρωση των τοποθεσιών αυτών.
<DefaultDirectoryDirs> Δίνει οδηγία να σαρωθούν όλες οι διαθέσιμες εγγραφές καταλόγου στο $XDG_DATA_DIRS/desktop-directories/. Όταν απουσιάζει η συγκεκριμένη οδηγία, δεν γίνεται σάρωση των τοποθεσιών αυτών.
<Include> Περιέχει λίστα κανόνων αντιστοίχισης, σύμφωνα με τους οποίους καθορίζονται τα περιεχόμενα του μενού. Μπορεί να περιλαμβάνει τους κανόνες αντιστοίχισης <Filename>, <Category>, <And>, <Or>, <Not> ή <All>. Αν περιέχονται περισσότεροι από ένας κανόνες, χρησιμοποιείται το λογικό OR, ώστε να συμπεριλαμβάνονται όλες οι εγγραφές επιφάνειας εργασίας που αντιστοιχούν σε έναν τουλάχιστον κανόνα.
<Exclude> Το αντίθετο του <Include>. Όλες οι εγγραφές επιφάνειας εργασίας, οι οποίες αντιστοιχίζονται με βάση αυτό το στοιχείο, εξαιρούνται από την προηγούμενη ομάδα συμπεριλαμβανομένων στοιχείων. Για το λόγο αυτό, το συγκεκριμένο στοιχείο πρέπει να εμφανίζεται μετά από το στοιχείο <Include>.
<Filename> Κανόνας αντιστοίχισης που επιλέγει μια εγγραφή επιφάνειας εργασίας όταν το Id του αρχείου επιφάνειας εργασίας ταυτίζεται με τα περιεχόμενα του στοιχείου <Filename>.
<Category> Κανόνας αντιστοίχισης που επιλέγει μια εγγραφή επιφάνειας εργασίας όταν κλειδί Categories ταυτίζεται με τα περιεχόμενα του στοιχείου <Category>.
<And> Κανόνας αντιστοίχισης που επιλέγει μια εγγραφή επιφάνειας εργασίας, όταν αυτή έχει επιλεχθεί από όλους τους εμφωλευμένους κανόνες αντιστοίχισης στο στοιχείο <And>.
<Or> Κανόνας αντιστοίχισης που επιλέγει μια εγγραφή επιφάνειας εργασίας, όταν αυτή έχει επιλεχθεί από οποιονδήποτε από τους εμφωλευμένους κανόνες αντιστοίχισης στο στοιχείο <Or>.
<Not> Κανόνας αντιστοίχισης που δεν επιλέγει μια εγγραφή επιφάνειας εργασίας, όταν αυτή έχει επιλεχθεί από οποιονδήποτε από τους εμφωλευμένους κανόνες αντιστοίχισης στο στοιχείο <Not>.
<All> Κανόνας αντιστοίχισης που επιλέγει όλες τις εγγραφές επιφάνειας εργασίας.
1

Το $XDG_CONFIG_DIRS είναι η μεταβλητή του περιβάλλοντος που ορίζεται στις XDG base directory specification.