Πρώτο commit
Αυτό το commit περιλαμβάνεται σε:
commit
8ec8e9bee2
451 αρχεία άλλαξαν με 46736 προσθήκες και 0 διαγραφές
449
content/articles/22/05_fvwm2.md
Κανονικό αρχείο
449
content/articles/22/05_fvwm2.md
Κανονικό αρχείο
|
@ -0,0 +1,449 @@
|
|||
+++
|
||||
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.
|
||||
|
||||
Φυσικά δεν είναι αναγκαστικό να κάνετε ότι έκανα και εγώ. Πειραματιστείτε, ψάξτε, και όλο και κάτι πιο καλό θα βρείτε.
|
Φόρτωση…
Προσθήκη πίνακα
Προσθήκη υπερσυνδέσμου
Παράθεση σε νέο ζήτημα