2.3.3 ΤΥΠΙΚΕΣ ΟΜΑΔΕΣ ΤΩΝ RESOURCES


Ανάμεσα στα διάφορα είδη 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] ]
όπου:

Width
το πλάτος σε χαρακτήρες αν ο πελάτης είναι παράθυρο τερματικό ή αλλιώς το πλάτος σε pixel για κάθε άλλο πελάτη.

Height
το ύψος σε γραμμές αν ο πελάτης είναι παράθυρο τερματικό ή αλλιώς το πλάτος σε pixel για κάθε άλλο πελάτη.

column
η οριζόντια θέση του παραθύρου. Οι θετικές τιμές υπολογίζονται ως η απόσταση από το αριστερό άκρο της οθόνης ενώ οι αρνητικές ως η απόσταση από το δεξί ακρο.

row
η κάθετη θέση του παραθύρου. Οι θετικές τιμές υπολογίζονται ως η απόσταση από το επάνω άκρο της οθόνης ενώ οι αρνητικές ως η απόσταση από το κάτω ακρο.
Δηλαδή ισχύει:

Γ. Resources γραμματοσειρών (Font Resources) Μέσω των resources μπορούμε να προσδιορίσουμε και τις γραμματοσειρές που χρησιμοποιούν οι πελάτες των X Windows για τους τίτλους, το κείμενο ή τα άλλα μέρη τους. Τα κυριότερα resources που αναφέρονται στις γραμματοσειρές είναι το font για την κανονική γραφή και το boldfont για την έντονη γραφή. Οι σύνταξή τους είναι ίδια με αυτή των υπολοίπων resources δηλαδή, για παράδειγμα:

	Xterm*font: 9x15
Οι γραμματοσειρές που χρησιμοποιούν τα X Windows βρίσκονται σε συγκεκριμένα directories. Τα βασικά directories είναι τα:

/usr/lib/X11/fonts/misc :
περιέχει διάφορες γραμματοσειρές ειδικού σκοπού, όπως η γραμματοσειρά για τους δείκτες του ποντικιού (cursor.font), καθώς και γραμματοσειρές σταθερού πλάτους (fixed-width fonts).

/usr/lib/X11/fonts/75dpi :
περιέχει μία ευρεία συλλογή γραμματοσειρών για οθόνες (displays) που έχουν ανάλυση 75 σημείων ανά ίντσα (points per inch).

usr/lib/X11/fonts/100dpi :
περιέχει μέρος των γραμματοσειρών του directory των 75dpi αλλά για ανάλυση 100 σημείων ανά ίντσα.
Εκτός από τα παραπάνω directories μπορούν να υπάρχουν και άλλα directories είτε το /usr/lib/X11/ είτε στο /usr/lib/X11/fonts που να περιέχουν γραμματοσειρές οι οποίες χρησιμοποιούνται από συγκεκριμένους πελάτες των X Windows.

Για να μπορεί ο εξυπηρετητής των X Windows να βρεί τις αναγκαίες γραμματοσειρές πρέπει ο χρήστης να τις προσθέσει να προσθέσει τα αντίστοιχα directories που τις περιέχουν σε μία λίστα παρόμοια με την μεταβλητή path. Η λίστα αυτή ονομάζεται font path και την χειρίζεται το πρόγραμμα xset. Το xset λειτουργεί ως εξής:

Σε κάθε directory που περιέχει γραμματοσειρές υπάρχουν πάντα δύο αρχεία, τα 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).


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