2.3.2 Η ΕΜΒΕΛΕΙΑ ΤΩΝ RESOURCES - ΚΛΑΣΕΙΣ ΚΑΙ ΟΝΟΜΑΤΑ (CLASSES - NAMES)


Μπορούμε να καθορίσουμε την εμβέλεια που θα έχει η τιμή ενός resource. Δηλαδή μπορούμε να ορίσουμε ένα resource που να ισχύει για κάθε πελάτη των X Windows, για μία συγκεκριμένη ομάδα πελατών ή για ένα και μόνο πελάτη. Αυτό επιτυγχάνεται με την χρήση των κλάσεων και των ονομάτων των πελατών και των resources.

Ειδικότερα κάθε πελάτης των X Windows έχει το δικό του όνομα και επιπλέον ανήκει σε μία ευρύτερη κατηγορία, μία κλάση. Το όνομα του πελάτη είναι αυτό με το οποίο τον καλούμε πχ. xclock ενώ η κλάση του ονομάζεται συνήθως με το ίδιο όνομα αλλά με κεφαλαίο το πρώτο γράμμα δηλαδή Xclock. Μπορούμε να δώσουμε σε ένα πελάτη ένα συγκεκριμένο όνομα όταν τον ξεκινάμε. Το όνομα αυτό θα προδιορίζει το συγκεκριμένο και μόνο πρόγραμμα που τρέχουμε την στιγμή εκείνη. Με τον τρόπο αυτό μπορούμε να ορίσουμε resources τα οποία θα ισχύουν μόνο για αυτό ενώ ταυτόχρονα θα ισχύουν και resources της κλάσης στην οποία ανήκει το πρόγραμμα. Σημειώνεται ότι οι ορισμοί των resources χρησιμοποιώντας το όνομα υπερισχύουν των ίδιων ορισμών που χρησιμοποιούν την κλάση. Για να δώσουμε ένα συγκεκριμένο όνομα σε ένα πελάτη των X Windows τον ξεκινάμε χρησιμοποιώντας την επιλογή -name {όνομα}. Για παράδειγμα η εντολή:

	xterm -name Console &
ανοίγει ένα παράθυρο τερματικό με το όνομα "Console". Το παράθυρο αυτό θα κληρονομήσει τόσο τα resources της κλάσης Xterm όσο και τυχόν resources που αναφέρονται με το όνομα Console.

Ομοίως με τους πελάτες των X Windows και τα ίδια τα resources έχουν το όνομά τους και ανήκουν σε κλάσεις. Τα ονόματα των resources αρχίζουν από μικρά γράμματα ενώ οι κλάσεις από κεφαλαία. Με το όνομα ορίζεται ένα συγκεκριμένο resource, για παράδειγμα με:

	XTerm*foreground : white
ορίζουμε ότι το χρώμα με το οποίο θα σχεδιαστεί το παράθυρο του xterm θα είναι άσπρο. Αν όμως ορίσουμε:

	XTerm*Foregroung : white
τότε όλη η κλάση Foreground του xterm θα σχεδιαστεί με άσπρο χρώμα. Η κλάση Foreground περιλαμβάνει εκτός από το resource foreground και άλλα resources όπως τα cursorColor (το χρώμα του κέρσορα) και pointerColor (το χρώμα του δείκτη του ποντικιού).

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

	*resource : value
Για παράδειγμα:

	*foreground : white
Ο παραπάνω ορισμός θα ισχύει για τα resources εκείνα για τα οποία δεν έχουν γίνει ειδικότεροι ορισμοί είτε με κλάσεις είτε με ονόματα.


[prev] [up] [next] [contents] [index]