Ανάμεσα στα διάφορα είδη resources υπάρχουν και ορισμένες χαρακτηριστικές ομάδες οι οποίες συναντώνται σχεδόν σε κάθε πελάτη των X Windows και προσδιορίζουν συγκεκριμένες ιδιότητές του. Στη συνέχεια αναλύονται τα resources που αφορούν τα χρώματα, τη γεωμετρία και τις γραμματοσειρές (fonts) των πελατών των X Windows.
Α. Resources χρωμάτων (Color Resources)
Οι πελάτες των X Windows δίνουν την δυνατότητα στον χρήστη να επιλέξει τα
χρώματα για τα διάφορα στοιχεία των παραθύρων τους. `Ολα σχεδόν τα
προγράμματα προσφέρουν resources όπως τα foreground
και background
για τον
καθορισμό των χρωμάτων σχεδίασης και φόντου ή τα cursorColor
και
pointerColor
που αναφέρθηκαν παραπάνω.
Επιπλέον ορισμένα προγράμματα διαθέτουν resources για τον προσδιορισμό του χρώματος συγκεκριμένων τμημάτων των παραθύρων τους. Για παράδειγμα στο πρόγραμμα xterm μπορούν να καθοριστούν τα χρώματα της μπάρας που διαθέτει:
XTerm*scrollBar*foreground : yellow XTerm*scrollBar*background : redΟι τιμές των resources για τα χρώματα μπορούν να είναι είτε κάποια από τα καθορισμένα ονόματα χρωμάτων είτε
RGB
αριθμητικές τιμές. Τα ονόματα και οι
ακριβείς RGB
τιμές των χρωμάτων που χρησιμοποιεί ο εξυπηρετητής βρισκονται
στο αρχείο /usr/lib/X11/rgb.txt
με την μορφή:
... ... ... 255 255 255 white 0 0 0 black 0 255 127 spring green 205 92 92 indian red ... ... ... ... ... ...Η κάθε γραμμή αποτελείται από τρείς δεκαδικούς αριθμούς και ένα όνομα. Οι τρεις αριθμοί αντιστοιχούν στο κόκκινο το πράσινο και το μπλε, σύμφωνα με το σύστημα
RGB
(red, gren , blue)
. Οι τιμές που μπορούν να λάβουν εξαρτώνται
από το μέγεθος της παλέτας, δηλαδή του πλήθους των χρωμάτων που προσφέρει ο
υπολογιστής. Η πιο συνηθισμένη τιμή για τα έγχρωμα συστήματα είναι περίπου
δεκαέξι εκατομύρια χρώματα οπότε και οι τιμές για το RGB
σύστημα κυμαίνονται
από 0 εώς 255 (256x256x256 διαφορετικές τιμές). Στο αρχείο rgb.txt
οι τιμές
δίνονται σε δεκαδική μορφή. Κάθε rgb
τριάδα ακολουθείται από ένα όνομα που
την χαρακτηρίζει και δίνει την δυνατότητα να αναφερόμαστε στο συγκεκριμένο
χρώμα με αυτό και όχι κατ' ανάγκην με την αριθμητική του τιμή. Στην
περίπτωση που θέλουμε να αναφερθούμε σε ένα χρώμα με την αριθμητική του τιμή
για να το προσδιορίσουμε ακριβέστερα χρησιμοποιούμε την σύνταξη:
#RedGreenBlueόπου οι τιμές δίνονται σε δεκαεξαδική μορφή. Για παράδειγμα:
XTerm*scrollBar*background : #ff0000 (κόκκινο)Σε περίπτωση που το σύστημα που χρησιμοποιούμε είναι ασπρόμαυρο τα χρώματα μετατρέπονται άσπρο ή μαύρο με βάση συγκεκριμένα κριτήρια και δεν δημιουργείται πρόβλημα παρά μόνο, ίσως, οπτικό. Για τις περιπτώσεις που το σύστημα στο οποίο εργαζόμαστε διαθέτει τόσο έγχρωμες όσο και ασπρόμαυρες μονάδες είναι βολικό στα διάφορα αρχεία που περιέχουν resources να κάνουμε χρήση των δυνατοτήτων που προσφέρει ο προεπεξεργαστής της C. Μπορούμε δηλαδή να χρησιμοποιούμε συνθήκες της μορφής:
#ifdef COLOR resources για έγχρωμες οθόνες ... #else resources για ασπρόμαυρες οθόνες ... #endifΒ. Resources γεωμετρίας (Geometry Resources) Στα resources αυτά περιλαμβάνονται τα resources που καθορίζουν το μέγεθος και την θέση των παραθύρων των πελατών των X Windows. Το όνομα που χρησιμοποιούν είναι
geometry
και η σύνταξή της τιμής τους γίνεται ως εξής:
[ [WidthxHeight] [{+-}column {+-}row] ]όπου:
font
για την κανονική γραφή και το boldfont
για την έντονη γραφή.
Οι σύνταξή τους είναι ίδια με αυτή των υπολοίπων resources δηλαδή, για
παράδειγμα:
Xterm*font: 9x15Οι γραμματοσειρές που χρησιμοποιούν τα X Windows βρίσκονται σε συγκεκριμένα directories. Τα βασικά directories είναι τα:
(cursor.font)
, καθώς και γραμματοσειρές
σταθερού πλάτους (fixed-width fonts)
.
(displays)
που
έχουν ανάλυση 75 σημείων ανά ίντσα (points per inch)
.
75dpi
αλλά για
ανάλυση 100 σημείων ανά ίντσα.
/usr/lib/X11/
είτε στο /usr/lib/X11/fonts
που να περιέχουν
γραμματοσειρές οι οποίες χρησιμοποιούνται από συγκεκριμένους πελάτες των X
Windows.
Για να μπορεί ο εξυπηρετητής των X Windows να βρεί τις αναγκαίες
γραμματοσειρές πρέπει ο χρήστης να τις προσθέσει να προσθέσει τα αντίστοιχα
directories που τις περιέχουν σε μία λίστα παρόμοια με την μεταβλητή path
. Η
λίστα αυτή ονομάζεται font path
και την χειρίζεται το πρόγραμμα xset
. Το
xset
λειτουργεί ως εξής:
xset q :
τυπώνει το font path
xset +fp path [, path...] :
προσθέτει directories στην αρχή του ήδη
υπάρχοντος font path
(με fp+
τα προσθέτει στο τέλος).
xset -fp path [, path...] :
αφαιρεί directories από την αρχή του ήδη
υπάρχοντος font path
(με fp-
τα αφαιρεί από το τέλος).
xset fp= path [,path...] :
ορίζει ολόκληρο το font path
.
fonts.dir
και font.alias
. Το αρχείο fonts.dir
περιέχει τα ονόματα των
γραμματοσειρών που διαθέτει το συγκεκριμένο directory. Για τα ονόματα των
γραμματοσειρών χρησιμοποιείται ένας ειδικός τρόπος σύνταξης που ονομάζεται X
Logical Font Description (XLFD) και περιέχει πληροφορίες όπως το όνομα της
εταιρίας που κυκλοφορεί την γραμματοσειρά, το όνομα της οικογένειας της, το
πάχος, η κλίση, το στύλ, το ύψος και το πλάτος των γραμμάτων κ.α. Η τυπική
μορφή του αρχείου fonts.dir
είναι ως εξής:
6x12.pcf -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-1 6x13.pcf -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 6x10.pcf -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1 7x13.pcf -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1 ...Κάθε γραμμή περιλαμβάνει το όνομα το αρχείου που περιέχει την γραμματοσειρά και την
XLFD
περιγραφή της. Για μεγαλύτερη ανάλυση της σύνταξης XLFD
ο
αναγνώστης παραπέμπεται στα αντίστοιχα εγχειρίδια καθώς το θέμα αυτό
ξεφεύγει από τον εισαγωγικό χαρακτήρα του παρόντος συγγράμματος. Επειδή όμως
,εν γένει, η XLFD
σύνταξη δεν είναι εύκολη στο χειρισμό της υπάρχει το
αρχείο fonts.alias
το οποίο είναι της μορφής:
Κάθε γραμμή περιέχει ένα ψευδώνυμοfixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-1 5x7 -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-1 5x8 -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-1
(alias-name)
και την περιγραφή της
γραμματοσειράς σε xlfd
μορφή (xlfd-name)
. Ετσι ο χρήστης μπορεί να
χρησιμοποιεί το ψευδώνυμο της γραμματοσειράς αντί της xlfd
μορφής της. Στις
περισσότερες περιπτώσεις το ψευδώνυμο είναι τέτοιας μορφής ώστε να δίνει στο
χρήστη αμέσως τις πληροφορίες που χρειάζεται. Για παράδειγμα το ψευδώνυμο
"helv5x8bold"
σημαίνει ότι έχουμε μία γραμματοσειρά της οικογένειας
helvetica
που έχει ύψος 8 pixels, πλάτος 5 pixels και είναι έντονης γραφής
(bold)
.