Μπορούμε να καθορίσουμε την εμβέλεια που θα έχει η τιμή ενός 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 εκείνα για τα οποία δεν έχουν γίνει ειδικότεροι ορισμοί είτε με κλάσεις είτε με ονόματα.