449 γραμμές
34 KiB
Markdown
449 γραμμές
34 KiB
Markdown
+++
|
||
title = 'Πώς να κάνετε τον FVWM2 πιο Στυλάτο'
|
||
date = '2000-01-01T00:00:00Z'
|
||
description = ''
|
||
author = 'The Reverant(mailto:reverant@x-treme.gr)'
|
||
issue = ['Magaz 22']
|
||
issue_weight = 5
|
||
+++
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
*Ο FVWM2 είναι ένας Window Manager (WM) που λόγω ηλικίας είναι πλέον αρκετά \"ώριμος\" και σταθερός. Δυστυχώς όμως, είναι περισσότερο \"ώριμος\" από όσο θα
|
||
έπρεπε όσον αφορά την εμφάνισή του, και είναι αναμφισβήτητο γεγονός το ότι η λειτουργικότητά του χρήζει παραιτέρω βελτίωσης.*
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
Αυτός είναι και ο σκοπός αυτού του άρθρου. Πρωτίστως να βελτιώσει το εντελώς ανιαρό και συντηρητικό standard look του FVWM2, και να βελτιώσει στα σημεία τη
|
||
λειτουργικότητά του. Αρχίζουμε λοιπόν\... :-)
|
||
|
||
ΣΗΜΕΙΩΣΗ: Αυτό το άρθρο προϋποθέτει κάποια εξοικείωση με τον FVWM2. Αν αυτή δεν υπάρχει, προτείνεται η χρήση του μέχρι κάποιου σημείου εξοικείωσης, καθώς και η
|
||
ανάγνωση της man σελίδας (man fvwm2 μόνο για όποιον έχει πραγματικά **ΓΑΙΔΟΥΡΙΝΗ** υπομονή. Ο υπογράφων μερικές φορές δεν φάνηκε αρκετά \"ζώον\" και η υπομονή
|
||
του δοκιμάστηκε πέραν ανθρωπίνων ορίων :-) )
|
||
|
||
Πρώτο βήμα είναι να βρούμε το config αρχείο του FVWM2. Αυτό είναι το .fvwm2rc το οποίο αναζητείται στο home directory του χρήστη. Εαν δεν βρεθεί εκεί, τότε
|
||
χρησιμοποιείται το system-wide που συνήθως βόσκει στο λιβάδι /usr/X11R6/lib/X11/fvwm2/.fvwm2rc. Δεν προτείνεται να πειράξετε το system-wide αρχείο, αντιθέτως,
|
||
πειράξτε το αντίστοιχο ενός απλού χρήστη. Και φυσικά, πριν κάνετε οποιαδήποτε παρέμβαση, κάντε ένα **τριπλό** backup του αρχείου αυτού, για κάθε ενδεχόμενο.
|
||
|
||
Κατόπιν, ανοίγουμε το αρχείο .fvwm2rc με έναν editor και αρχίζουμε:
|
||
|
||
1. Window buttons - Μπορούμε να ορίσουμε την εμφάνιση των window control buttons. Τα standard κρίνονται ικανοποιητικά, οπότε αφήνονται ως εχουν.
|
||
|
||
2. General Configuration - Διάφορες γενικοί παράμετροι του FVWM2. Αυτό που θα πειραχθεί από εδώ είναι το DeskTopSize. Αυτή η παράμετρος ορίζει πόσα virtual
|
||
desktops θα εμφανίζονται στον pager. Η default τιμη 3x2 μέχρι τώρα δεν μου έχει χρησιμεύσει προσωπικά. Τουναντίον μάλιστα :-). Για αυτό και βάζουμε τιμή
|
||
2x2:
|
||
|
||
DeskTopSize 2x2
|
||
|
||
3. Colors and fonts - Μπορούμε να ορίσουμε τα χρώματα των selected windows και των διαφόρων menu. Με τη δήλωση:
|
||
|
||
HilightColors TextColor BackColor
|
||
|
||
το selected window θα έχει ως font color το \"TextColor\" και ως background color το \"backColor\". Αυτά τα χρώματα μπορεί να είναι οποιαδήποτε χρώματα που
|
||
αναφέρονται στο αρχείο: /usr/X11R6/lib/X11/rgb.txt\
|
||
Για τα sticky παράθυρα:
|
||
|
||
StickyColors TextColor BackColor
|
||
|
||
Για τα ανενεργά παράθυρα, καθώς και για συγκεκριμένα παράθυρα, θα χρησιμοποιήσουμε τη Style δήλωση, της οποίας η χρήση αναλύεται αργότερα. Κατόπιν, για το
|
||
χρώμα & το font των menus:
|
||
|
||
Menustyle TextColor BackColor OtherColor -misc-fixed-medium-r-normal-*-15-*-75-75-c-90-iso8859-1 fvwm
|
||
|
||
Το \"OtherColor\" δεν έχει διαπιστωθεί που χρησιμεύει (κανείς;). Κατόπιν, η standard δήλωση του font που θέλουμε.
|
||
|
||
4. Functions για Initialization, Restart & Exit.\
|
||
Functions είναι δηλώσεις που εκτελούνται κατόπιν κάποιας πράξης του χρήστη, π.χ. πατάει ένα button στο FvwmButtons, ή κάνει κλικ στο desktop, κ.τ.λ. Αυτές
|
||
εκτελούνται κατόπιν αναλόγου σήματος του WM. Για initialization (οι παρακάτω δηλώσεις θα εκτελούνται όταν ο FVWM2 γίνεται initialized):\
|
||
Δήλωση της function \"InitFunction\":
|
||
|
||
AddToFunc InitFunction
|
||
|
||
Και μετά έχουμε:
|
||
|
||
- Το module \"FvwmBanner\" δεν χρησιμεύει πουθενά, οπότε κερδίζει ένα comment-out σύμβολο (\#) με την αξία του! :-)
|
||
|
||
#+ "I" Module Fvwmbanner
|
||
|
||
- Τα xmessages προτιμώ προσωπικά να εμφανίζονται σε ενα xterm με background χρώμα το μαύρο και text χρώμα το πράσινο (Old-schoοl terminal), με τίτλο
|
||
\"Xmessages\", και ένα συγκεκριμένο geometry (δηλαδή μέγεθος και σημείο τοποθέτησης του παραθύρου πάνω στο desktop) που βολεύει. Αυτό γίνεται με την
|
||
εξής δήλωση:
|
||
|
||
+ "I" Exec xterm -geometry 83x10+0+1120 -bg black -fg green -T "XMessages" -e tail -f /root/.X.err
|
||
|
||
Η original δήλωση αφαιρείται όπως έχει.
|
||
|
||
- Το default xterm που εμφανίζεται με το initialization του fvwm2 έχει χάλια χρώματα, οπότε:
|
||
|
||
+ "I" Exec xterm -geometry +0+88 -bg black -fg green
|
||
|
||
- Ένα όμορφο background πάντα βοηθάει την κατάσταση :-)
|
||
|
||
+ "I" Exec xpmroot /root/pics/skull.xpm
|
||
|
||
ΣΗΜΕΙΩΣΗ: Για όποιον ενδιαφέρεται, οι εικόνες και τα εικονίδια που χρησιμοποιώ, θα είναι διαθέσιμα από 5-6 Ιανουαρίου στο:
|
||
<http://reverant.fortunecity.com/linux-icons.tar.gz>. Τα κάνετε extract με:
|
||
|
||
$: tar zxfv linux-icons.tar.gz
|
||
|
||
και ύστερα τα αντιγράφετε στο: /usr/X11R6/include/X11/pixmaps
|
||
|
||
- Με ενδιαφέρει επίσης να μπορώ να βλέπω τα διάφορα log messages χωρίς να αλλάζω consoles συνεχώς, οπότε:
|
||
|
||
+ "I" Exec xterm -ls -geometry 100x10+513+1120 -T "Messages" -bg black -fg green -e tail -f /var/log/messages
|
||
|
||
- Μια **ΜΕΓΑΛΗ** έλλειψη του FVWM2 όπως έρχεται το config του, είναι ένα είδος taskbar, η οποία να δείχνει ποια παράθυρα υπάρχουν, και να βοηθάει στην
|
||
μεταξύ τους εναλλαγή. Αυτό το πρόβλημα λύνεται με τη χρήση του module \"FvwmTaskBar\":
|
||
|
||
+ "I" Module FvwmTaskBar
|
||
|
||
Για Restart (Οι παρακάτω δηλώσεις θα εκτελούνται όταν κάνουμε restart τον FVWM2). Τα βήματα 2, 4 και 5 επαναλαμβάνονται σε αυτήν τη δήλωση:
|
||
|
||
AddToFunc RestartFunction
|
||
+ "I" Exec xterm -geometry 83x10+0+1120 -bg black -fg green -T "XMessages" -e tail -f /root/.X.err
|
||
+ "I" Exec xpmroot /root/pics/skull.xpm
|
||
+ "I" Exec xterm -ls -geometry 100x10+513+1120 -T "Messages" -bg black -fg green -e tail -f /var/log/messages
|
||
|
||
Εννοείται ότι οι original δηλώσεις για xmessages, xpmroot αφήνουν το μάταιο τούτο config file :-)\
|
||
Η Exit function αφήνεται όπως έχει.
|
||
|
||
5. Functions - Το ψωμί της υπόθεσης, ή αλλιώς, \"όλα τα λεφτά!\". Εδώ δηλώνουμε τις functions, κοινώς δηλαδή τι γίνεται όταν λαμβάνει χώρα κάποιο γεγονός
|
||
(μπερδευτήκατε;), π.χ. κάνουμε κλικ σε ενα button του FvwmButtons. Μια function, προκειμένου να δηλώσουμε την εμφάνιση ενός menu με επιλογές, έχει την εξής
|
||
μορφή:
|
||
|
||
AddToMenu OnomaTisFunctionPopUp "Onoma Tis Function" Title
|
||
...Εδώ μέσα δηλώσεις για το τι περιλαμβάνει η function...
|
||
# end popup OnomaTisFunction
|
||
|
||
Εξηγήσεις:\
|
||
Με την λέξη \"AddToMenu\" δηλώνουμε μια function η οποία θα κάνει PopUp μια λίστα με εντολές. Μετά δηλώνεται το όνομα της function. Στην περίπτωσή μας, αυτό
|
||
είναι \"OnomaTisFunctionPopUp\". Δηλαδή, όποτε θέλουμε να αναφερθούμε στη function αυτή, θα χρησιμοποιούμε το όνομα αυτό. Προσοχή, το όνομα της function δεν
|
||
μπορεί να έχει κενά ανάμεσα στα γράμματα, ούτε κάποιους ειδικούς χαρακτήρες.\
|
||
ΣΗΜΕΙΩΣΗ: Στην πραγματικότητα, με τη δήλωση \"AddToMenu\" δεν δηλώνουμε μια function, αλλά ένα menu, που είναι κατά κάποιο τρόπο μια function, απλά το μόνο
|
||
που μπορεί να κάνει είναι να εμφανίζει μια λίστα. Για λόγους απλούστευσης όμως, θα θεωρούμε και τα menus ως functions. Κατόπιν, δηλώνεται το όνομα που
|
||
θέλουμε να εμφανίζεται στην ανώτερη θέση της λίστας, δηλαδή ένα όνομα που περιγράφει τι εντολές περιέχονται στη λίστα, και μετά την ειδική λέξη \"Title\".
|
||
Ένα παράδειγμα είναι π.χ. \"Shells\", ή \"My Programs\". Εδώ επιτρέπονται και κενά, και ειδικοί χαρακτήρες (Για περισσότερες πληροφορίες, κοιτάξτε το manual
|
||
page του fvwm2). Εάν κάποιος δεν θέλει να εμφανίζεται καθόλου τίτλος, απλά δεν γράφει έναν και ΔΕΝ βάζει την λέξη Title μετά το όνομα της Function.\
|
||
\... Μετά οι δηλώσεις για τα περιεχόμενα της λίστας (εξηγούνται παρακάτω, υπομονή παρακαλώ :ο) )\...\
|
||
Τέλος, **εάν** θέλει κανείς μπορεί για λόγους ευκολίας ανάγνωσης και μόνο να βάλει ένα comment-out και μετά να δηλώσει \"end popup onomatisfunction\". Αυτό
|
||
είτε το βάλει κανείς είτε δεν το βάλει, ένα και το αυτό. Απλά, για να είναι ξεκάθαρο που τελειώνει η δήλωση της function καλό θα ήταν να το δηλώνετε.\
|
||
Και τώρα οι δηλώσεις για το τι θα περιλαμβάνει η PopUp λίστα που θα εμφανίζεται. Γενικά, μια δήλωση έχει ως εξής:
|
||
|
||
+ "Onoma entolis%onomaicon.xpm" Kanekati
|
||
|
||
Όπου:
|
||
|
||
- Onoma entolis είναι το όνομα της εντολής που θα εμφανίζεται σε μία PopUp λίστα, π.χ. StarOffice, ή BitchX. Προσοχή στο ότι αυτό το όνομα δεν είναι η
|
||
\"πραγματική\" εντολή που θα εκτελεστεί από τον WM. Είναι απλά ένα όνομα, ένα \"alias\". Κατόπιν, τοποθετούμε το σύμβολο \"%\" για να διαχωρίσουμε το
|
||
alias από το filename του icon που θέλουμε να χρησιμοποιήσουμε για το alias αυτό, και ταυτόχρονα να δηλώσουμε ότι το icon θέλουμε να εμφανιστεί δίπλα
|
||
στο alias (χρησιμοποιώντας το σύμβολο \"\$\" αντί του \"%\" δηλώνουμε ότι θέλουμε το icon να εμφανιστεί πάνω από το alias). Προσοχή στο ότι η συνένωση
|
||
αυτών των δύο δηλώσεων πρέπει να είναι μέσα σε εισαγωγικά (double quotes: \").
|
||
|
||
- Ακολουθεί η εντολή που θέλουμε να πραγματοποιηθεί. Αυτή μπορεί να είναι είτε μια κανονική εντολή που θα εκτελοέσαμε εμείς στο shell, είτε μια εντολή
|
||
προς τον WM να εμφανίσει μια άλλη PopUp λίστα. Για να εκτελέσει ο WM ένα πρόγραμμα, δηλώνουμε:
|
||
|
||
+ "Onoma entolis%onomaicon.xpm" Exec enaprogramma
|
||
|
||
π.χ., για να εκτελέσουμε ένα bash shell, δηλώνουμε:
|
||
|
||
+ "Bash shell%bash.xpm" Exec bash
|
||
|
||
Άλλο παράδειγμα, για το XISP:
|
||
|
||
+ "XISP%xisp.xpm" Exec xisp
|
||
|
||
Αν θέλουμε, μπορεί αντί να εκτελεστεί μια εντολή, να εμφανιστεί μια άλλη PopUp λίστα. Για να το κάνουμε αυτό, δηλώνουμε:
|
||
|
||
+ "List of programs%programs.xpm" PopUp ProgramsPopUp
|
||
|
||
όπου ProgramsPopUp μια function με το όνομα αυτό.\
|
||
Γνωρίζοντας τα παραπάνω ας αρχίσουμε λοιπόν να γράφουμε/τροποποιούμε τις functions που θα χρειαστούμε, αφού σκεφτούμε πρώτα τι χρειαζόμαστε από ένα WM.
|
||
Χρειαζόμαστε λοιπόν:
|
||
|
||
1. Μια function για να χειριζόμαστε διάφορες παραμέτρους του WM (modules, exit/restart, start another WM), βοήθεια για τον WM και τα modules του, καθώς και
|
||
για reboot/halt του συστήματος.
|
||
2. Μια function για ανεύρεση αρχείων.
|
||
3. Μια function για βοήθεια
|
||
4. Μια function για να ξεκινάμε ένα shell (Το γιατί πρέπει να είναι ξεχωριστή αυτή η function από τις άλλες είναι θέμα εργονομίας: Ένα shell συνήθως
|
||
εκτελείται αρκετές φορές παραπάνω από οποιοδήποτε άλλο πρόγραμμα.)
|
||
5. Μια function για γενικό configuration του συστήματος
|
||
6. Μια function για να τρέχουμε κάποια συχνά χρησιμοποιούμενα προγράμματα μας.
|
||
7. Μια function για άμεση πρόσβαση σε δισκους, CD-ROM, Floppy, κ.τ.λ.
|
||
|
||
Για την πρώτη function, θα χρησιμοποιήσουμε μια υπάρχουσα. Αυτή είναι η thiswmpopup:
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
###############################################################################
|
||
#
|
||
# thiswmpopup
|
||
#
|
||
###############################################################################
|
||
|
||
AddToMenu thiswmpopup "Fvwm2" Title
|
||
|
||
+ "Other window managers%small.icon_warning_3d.xpm%" Popup otherwmpopup
|
||
+ "Fvwm2 Modules%small.install_3d.xpm%" Popup modulepopup
|
||
+ "Configuration%small.checklist2_3d.xpm%" Popup susewmpopup
|
||
+ "Fvwm2 Man Pages%small.xman3d.xpm%" Popup wmmanpopup
|
||
+ "" Nop
|
||
+ "Restart Fvwm2%small.restart_suse_3d.xpm%" Restart fvwm2
|
||
+ "Exit Fvwm2 and X%small.exit.xpm%" Function QuitSave
|
||
|
||
# end popup thiswmpopup
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
στην οποία θα προσθέσουμε τις εξής 2 γραμμές:
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
+ "Reboot System" Exec Reboot
|
||
+ "Halt System" Exec Halt
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
για να κάνουμε reboot & halt αντίστοιχα όλο το σύστημα.
|
||
|
||
Δεύτερη function είναι η function που μας βοηθά στο να βρούμε κάποιο αρχείο γρήγορα, χωρις να θυμόμαστε πολύπλοκες συντάξεις εντολών, π.χ. της find:
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
############################################################
|
||
#
|
||
# findpopup
|
||
#
|
||
############################################################
|
||
|
||
AddToMenu findpopup "Find" Title
|
||
+ "Find a file*find.xpm*" Exec xterm -bg black -fg green -e findfile
|
||
|
||
# end popup findpopup
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
To findfile είναι ένα shell script που έχει γραφεί με σκοπό τον προαναφερθέντα, και είναι το εξής:
|
||
|
||
echo "Filename?"
|
||
read filename
|
||
echo "Search where?"
|
||
read pathname
|
||
find $pathname -name $filename
|
||
echo "Done, press enter to exit"
|
||
read anykey
|
||
exit
|
||
|
||
Η τρίτη function είναι η function που θα μας εμφανίζει τα σχετικά με help, documentation, κ.τ.λ. Συγκεκριμένα, θα τρέχει το xman για να διαβάσουμε κάποια
|
||
man page, μας ανοίγει τον xfilemanager στο /usr/doc/howto/en/ ή στο /usr/doc/howto/el/ :
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
############################################################
|
||
#
|
||
# helpmepopup
|
||
#
|
||
############################################################
|
||
|
||
AddToMenu helpmepopup "Help" Title
|
||
+ "Manual Pages%small.xman3d.xpm%" Exec xman
|
||
+ "Greek HOWTO's%help1.xpm%" Exec xfilemanager -rootDir /usr/doc/howto/el -singleWindow
|
||
+ "English HOWTO's%help1.xpm%" Exec xfilemanager -rootDir /usr/doc/howto/en -singleWindow
|
||
|
||
# end popup findpopup
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
Με την τέταρτη function θα εμφανίζεται ένα xterm, στοιχείο πολύ βασικό στο Πραγματικό Λειτουργικό :-)
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
############################################################
|
||
#
|
||
# runmepopup
|
||
#
|
||
############################################################
|
||
|
||
AddToMenu runpopup "Shells" Title
|
||
+ "Old-school Xterm%small.greenterm.xpm%" Exec xterm -bg black -fg green
|
||
|
||
# end popup findpopup
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
Με την πέμπτη function θα εμφανίζεται μια λίστα με διάφορες επιλογές για configuration, π.χ. για kernel configuration, εκτέλεση του yast (Για S.u.S.E.
|
||
μόνο!), καθώς και για configuration των Χ:
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
############################################################
|
||
#
|
||
# mesettingspopup
|
||
#
|
||
############################################################
|
||
|
||
AddToMenu mesettingspopup "Settings" Title
|
||
+ "Yast%small.yast_suse_3d.xpm%" Exec xterm -bg balck -fg green -e yast
|
||
+ "Kernel Configuration" Exec xterm -bg black -fg green -e mkmc
|
||
+ "X configuration" Exec xterm -bg black -fg green -e Xconfig
|
||
|
||
# end popup mesettingspopup
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
Με την έκτη function θα εμφανίζεται μία λίστα με διάφορα προγράμματα που θα χρησιμοποιούνται συχνά - για αυτό και η ανάγκη για μια δικιά τους function.
|
||
Κόφτε και ράφτε κατά τα μέτρα σας :-) :
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
############################################################
|
||
#
|
||
# meprogramspopup
|
||
#
|
||
############################################################
|
||
|
||
AddToMenu meprogramspopup "Programs" Title
|
||
+ "Netscape%netscape1.xpm%" Exec netscape
|
||
+ "X11Amp%x11amp.xpm%" Exec x11amp
|
||
+ "The Gimp%gimp.xpm%" Exec gimp
|
||
+ "GRio%grio.xpm%" Exec grio
|
||
+ "KEdit%kedit.xpm%" Exec kedit
|
||
+ "Bitchx%bitchx.xpm%" Exec bitchx
|
||
+ "Kmix%kmix.xpm%" Exec kmix
|
||
+ "XIsp%xisp.xpm%" Exec xisp -nohints
|
||
+ "Acrobat Reader%acrobat.xpm" Exec xpdf
|
||
|
||
# end popup findpopup
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
Τέλος, η function για πρόσβαση στα διάφορα drives:
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
############################################################
|
||
#
|
||
# medrivespopup
|
||
#
|
||
############################################################
|
||
|
||
AddToMenu medrivespopup "Drive I/O" Title
|
||
+ "Root filesystem%hdd.xpm" Exec xfilemanager -rootDir / -singleWindow
|
||
+ "CD-ROM%cdrom.xpm" Exec xfilemanager -rootDir /cdrom -singleWindow
|
||
+ "Floppy%floppy.xpm" Exec xfilemanager -rootDir /floppy -singleWindow
|
||
|
||
# end popup medrivespopup
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
Σημείωση: Αν χρησιμοποίησετε τις functions αυτές, θα παρατηρήσετε ότι πρέπει να κρατάτε πατημένο το πλήκτρο του πόντικα σας ή του πληκτρολογίου σας για να
|
||
παραμείνει η λίστα στην οθόνη. Για να το αποφύγετε αυτό, κάντε το εξής: Γράφτε μια function σαν την παρακάτω, για κάθε function που θέλετε να συμβαίνει
|
||
αυτό, και στη συνέχεια αντί να καλείτε την πρωτότυπη, καλέστε την καινούργια. Π.χ., για την medrivespopup, γράφουμε την εξής function:
|
||
|
||
AddToFunc medrivespopupfunc
|
||
+ "I" Popup medrivespopup
|
||
# end function medrivespopupfunc
|
||
|
||
6. Η δήλωση \"Style\" - Με αυτήν μπορούμε να δηλώσουμε συγκεκριμένες ιδιότητες που θα έχει κάποιο ή όλα τα παράθυρα. Αυτή η δήλωση δεν γίνεται μόνο μια φορά
|
||
αλλά πολλές - τόσες ώστε να αποδώσουμε όλες τις επιθυμητές ιδιότητες στα παράθυρά μας. Μια δήλωση style έχει ως εξής:
|
||
|
||
style "titleparathirou" idiotita1, idiotita2, idiotia3, κ.τ.λ.
|
||
|
||
όπου titleparathirou ο τίτλος του παραθύρου στο οποίο θέλουμε να δώσουμε τις ιδιότητες idiotita1, idiotita2, idiotita3, κ.τ.λ. Αν αυτές τις ιδιότητες
|
||
θέλουμε να τις αποδώσουμε σε όλα τα παράθυρα, τότε δηλώνουμε:
|
||
|
||
style "*" idiotita1, idiotita2, idiotia3, κ.τ.λ.
|
||
|
||
Άν ακόμα έχουμε ένα παράθυρο του οποίου ο τίτλος δεν είναι απολύτως σταθερός, όπως π.χ. το xosview, του οποίου ο τίτλος εξαρτάται από το όνομα του
|
||
μηχανήματος (Hostname), τότε μπορούμε να δηλώσουμε:
|
||
|
||
style "katistathero*" idiotita1, idiotita2, idiotia3, κ.τ.λ.
|
||
|
||
όπου katistathero είναι το μέρος του τίτλου τού παραθύρου που μένει σταθερό. Ας αρχίσουμε λοιπόν τις style δηλώσεις που μας ενδιαφέρουν:
|
||
|
||
- Το module FvwmTaskbar είναι μια Taskbar η οποία έχει κουμπιά με τα προγράμματα που τρέχουν. Επειδή είναι αρκετά χαζό να συμπεριλαμβάνεται ο εαυτός της,
|
||
θα της δώσουμε την ιδιότητα WindowListSkip, η οποία εξαιρεί την εμφάνιση του προγράμματος στο οποίο αποδίδουμε την ιδιότητα, στην Taskbar. Ακόμα, δεν
|
||
θέλουμε η Taskbar να έχει τίτλο και \"decorations\", για αυτό της δίνουμε την ιδιότητα NoTitle. Ακόμα, θέλουμε να είναι συνεχώς ορατό, οπότε του δίνουμε
|
||
την ιδιότητα StaysOnTop. Έτσι έχουμε:
|
||
|
||
Style "FvwmWinList" NoTitle, WindowListSkip, StaysOnTop
|
||
|
||
- Το εικονίδιο του xterm είναι **επειικώς** απαράδεκτο, οπότε:
|
||
|
||
Style *xterm* Icon greenterm.xpm
|
||
|
||
Με τη δήλωση αυτή, δηλώνουμε ότι θέλουμε όταν το xterm γίνεται iconified, το εικονίδιό του να είναι το greenterm.xpm
|
||
|
||
- Εμένα μου αρέσουν αυτά τα χρώματα στα inactive παράθυρά μου:
|
||
|
||
Style "*" BackColor Purple4
|
||
Style "*" ForeColor Red
|
||
|
||
BackColor to background χρώμα του παραθύρου, ForeColor το χρώμα των γραμμάτων του τίτλου του παραθύρου. Αν δεν σας αρέσουν, ξέρετε τι να κάνετε :-P
|
||
|
||
7. FvwmButtons - Το FvwmButtons είναι ένα Module του FVWM, το οποίο είναι ουσιαστικά μια μπάρα με κουμπιά, και εμείς διαλέγουμε πόσα κουμπιά θα έχει, τι θα
|
||
κάνει το καθένα, κ.τ.λ. Αρχίζουμε με τα χρώματα, τών οποιων η δήλωση είναι αρκετά απλή:
|
||
|
||
*FvwmButtonsFore Green
|
||
*FvwmButtonsBack Purple4
|
||
|
||
και ύστερα η θέση του στο desktop, η οποία είναι ελαφρώς μετατοπισμένη προς τα κάτω, γιατί επάνω από το FvwmButtons θα τοποθετηθεί η TaskBar:
|
||
|
||
*FvwmButtonsGeometry +0+31
|
||
|
||
Άν θέλετε, μπορείτε όπως εγώ να βγάλετε τις δηλώσεις των xclock, xeyes, και asclock, γιατί καταλαμβάνουν πολύτιμο χώρο. Εξ άλλου, η Taskbar διαθέτει ρολόι
|
||
στο δεξί άκρο της. Έχουμε λοιπόν:
|
||
|
||
#*FvwmButtons - - Swallow "FvwmXeyes" Exec xeyes -name "FvwmXeyes" -geometry +0+0 -bg grey67 &
|
||
#*FvwmButtons - - Swallow "FvwmXclock" Exec xclock -name "FvwmXclock" -geometry +0+0 -padding 1 -bg grey67 &
|
||
#*FvwmButtons - - Swallow "asclock" Exec asclock -position +0+0 -shape -led green &
|
||
|
||
Για το αν το coolmail αξίζει το χώρο που πιάνει, εγώ προσωπικά νομίζω πως όχι, οπότε\... Αν βέβαια εσείς θέλετε να το έχετε, ε, τι να κάνουμε\... :-) Και
|
||
τώρα οι ζουμερές δηλώσεις ;-)
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
*FvwmButtons "" shutdown.xpm Function barthiswmpopupfunc
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
Με την παραπάνω δηλώνουμε ότι θέλουμε να προσθέσουμε ένα button στο FvwmButtons, το οποίο δεν έχει καθόλου κείμενο πάνω του (Τα εισαγωγικά είναι κενά. Ο
|
||
λόγος είναι ότι στη συγκεκριμένη περίπτωση, το εικονίδιο έχει πάνω του το περιγραφικό κείμενο, π.χ. \"I/O Access\", ή \"Help\".), ενώ όταν κάνουμε αριστερό
|
||
κλικ πάνω εκτελείται η function barthiswmpopupfunc, η οποία με τη σειρά της εμφανίζει και κρατάει σταθερό στην οθόνη το thiswmpopup menu.\
|
||
Ομοίως λοιπόν για τις άλλες δηλώσεις:
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
*FvwmButtons "" cfind.xpm Function findpopupfunc
|
||
*FvwmButtons "" help.xpm Function helpmepopupfunc
|
||
*FvwmButtons "" run.xpm Function runpopupfunc
|
||
*FvwmButtons "" settings.xpm Function mesettingspopupfunc
|
||
*FvwmButtons "" programs.xpm Function meprogramspopupfunc
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
Τα άλλα buttons (SuSE, Graphics, Tools, Shells) μας αποχαιρέτησαν (\#).
|
||
|
||
8. FvwmTaskBar - Όπως αναφέρθηκε και προηγουμένως, η TaskBar είναι μια μπάρα, πάνω στην οποία υπάρχουν buttons τα οποία χρησιμοποιεί κανείς για να κάνει
|
||
iconify/maximise ένα πρόγραμμα. Εκτός αυτών, η Taskbar έχει και ένα button στο οποίο μπορούμε να αναθέσουμε κάποια function ή menu, παρόμοιο με το \"Start\"
|
||
button ακατανόμαστου αλειτούργητου συστήματος που άρχισε να κυκλοφορεί το 1995 ;-) Οι δηλώσεις που έχω εγώ για την TaskBar είναι:
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
###############################################################################
|
||
# #
|
||
# Task Bar #
|
||
# #
|
||
###############################################################################
|
||
*FvwmTaskBarGeometry +0+0
|
||
*FvwmTaskBarFore Green
|
||
*FvwmTaskBarBack Purple4
|
||
*FvwmTaskBarUseSkipList
|
||
*FvwmTaskBarShowTips
|
||
*FvwmTaskBarStartName Main()
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
Επεξηγήσεις: Οι τρεις πρώτες δηλώσεις είναι αρκετά απλές. Η τέταρτη (\*FvwmTaskBarUseSkipList) δίνει εντολή στην TaskBar να \"δίνει σημασία\" στην ιδιότητα
|
||
WinListSkip ενός παραθύρου. Αν αυτή η δήλωση παραλειφθεί, παράθυρα στα οποία έχει δωθεί η ιδιότητα WinListSkip θα φαίνονται κανονικά και με το Νόμο στην
|
||
TaskBar.
|
||
|
||
Φυσικά δεν είναι αναγκαστικό να κάνετε ότι έκανα και εγώ. Πειραματιστείτε, ψάξτε, και όλο και κάτι πιο καλό θα βρείτε.
|