Už v prvej časti článku o PeKWM sme si spomenuli, že tento WM ponúka
široké možnosti nastavenia. Momentálne však na tento účel nie je
vybavený žiadnym grafickým
nástrojom. Preto ho budeme musieť upravovať ručne, editovaním
konfiguračných
súborov.
7.1.2005 06:00 | Marian Ščerbák | read 14184×
DISCUSSION
Všetky boli automaticky skopírované pri prvom spustení PeKWM a
nájdeme ich v adresári ~/.pekwm
. Nezabudnime pri tom
používať editory
čistého textu (určite nie MSWord ;-)
Syntax
Syntax zápisu je rovnaká pre všetky konfiguračné súbory.
Vlastnosť = "hodnota"
Okolo znaku "="
musia byť medzery. Ak nie je
uvedené inak, "x"
sú hodnoty v pixeloch.
Jednotlivé
časti a sekcie
sú
oddelené zloženými zátvorkami, viac
príkazov za sebou oddeľujeme bodkočiarkou (stredníkom) a medzerou.
config
Je základný konfiguračný súbor. Jednu z možných
variácií (pekný príklad) nájdete aj na stránkach pekwm, v
prípadnom záchvate zúfalstva môžete použiť môj :-)
Pomoc pri
jeho
úprave nájdeme
v dokumentácii k programu. Skladá sa z niekoľkých častí, každá z nich
je
ohraničená zloženými zátvorkami.
files
V tomto súbore sú zadefinované cesty k dôležitým súborom (ostatné
konfiguračné súbory, témy). Syntax je:
INCLUDE = "~/.pekwm/súbor"
MoveResize
Tu sú vlastnosti týkajúce sa presunu a zmeny veľkosti okien. Skladá
sa z:
EdgeSnap = "x"
určuje vzdialenosť okna od kraja
obrazovky
pri
ťahaní, keď okno "skočí" na okraj; "x" je číslo (v pixeloch);
FrameSnap = "x"
je to isté, ibaže vzhľadom na iné okná;
OpaqueMove = "True" a
OpaqueResize = "False"
určujú priehľadnosť okna pri
presune/
zmene
veľkosti. Práve toto nastavenie spriehľadní okno pri zmene veľkosti.
GrabWhenResize = "False"
alebo "True"
je
vykresľovanie
okna pri zmene
veľkosti;
WWFrame = "x"
Ako v Enlightenmente :-) Ak presúvame
okno k
okraju plochy, po presunutí "x"
pixelov okna sa PeKWM prepne na ďalšiu plochu v poradí;
WWMouse = "x"
Presunom myši na "x" pixelov od
okraja
obrazovky sa môžeme
prepnúť na ďalšiu plochu; hodnota "0" túto i predošlú vlastnosť vypne;
WWFrameWrap
a
WWMouseWrap = "True"
alebo "False"
za(vy)pína prepínanie
plochy dookola (z poslednej na prvú) buď pri presune myši, alebo okna.
Screen
Zahŕňa vlastnosti plochy.
Workspaces = "x"
určuje počet plôch;
DoubleClicktime = "x"
čas medzi dvoma kliknutiami
myši (v
milisekundách);
ShowFrameList = "True"
alebo "False"
,
default je
"True"
a
ukazuje
zoznam okien.
Focus a Placement
Je trošku širšia časť nastavení, rieši umiestňovanie a fokus
okien.
Placement
V tejto časti (umiestňovanie) môžeme použiť 2 voľby:
Model
= "tu volíme medzi:"
Smart
(umiestni okno na prázdne miesto);
MouseCentered
(centruje okno čo
najbližšie ku kurzoru
myši),
MouseTopLeft
(pod kurzor myši).
Smart
V tejto podsekcii určujeme spôsob
ukladania viacerých
okien na plochu, ako hodnotu uvádzame "True"
alebo "False"
.
Na výber
máme:
Row
doradu,
TopToBottom
zhora dolu a zľava doprava
(LeftToRight
).
Focus
Tu máme k dispozícii štyri časti "skladačky"
na stanovenie výsledku: Enter
(vstup myšou do okna), Leave
(opustenie okna), Click
a New
. Z nich si
určením hodnôt ("True"
resp. "False"
)
stanovíme náš obľúbený spôsob
Focusu. V dokumentácii nájdeme tri príklady tradičných "Unixovských
focusových
modelov". Nastavenie absolútnej klasiky "Click to Focus" vyzerá teda
takto:
Focus {
Click = "True"
New = "True"
Enter = "False"
Leave = "False"
}
harbour
Placement
určuje umiestnenie a správanie sa
Harbouru na ploche,
pričom môže nadobúdať jednu z týchto hodnôt: Right
,
Left
, Top
, alebo
Bottom
.
Orientation =
"TopToBottom"
(zhora-dole), alebo BottomToTop
(zdola-hore); RightToLeft
(sprava- doľava) a naopak (LeftToRight
)
OnTop = "True"
spôsobí zobrazovanie dockapp
-u
nad všetkými aplikáciami.
MaximizeOver = "False"
; určuje, či okno aplikácie
pri zväčšení "prekryje" harbour, alebo skončí pred jeho "bránami". Ja
osobne som
po niekoľkých zlých skúsenostiach s dockapps
celý Harbour
jednoducho odignoroval a teraz používam iba Gkrellm a Pogo.
menu
Ďalším nenahraditeľným súborom je Menu.
Skladá sa z dvoch sekcií: Root menu
a Window
menu
.
Kľúčovými slovami pri vytváraní menu sú: Submenu
,
určuje názov podmenu;
Entry
, položka menu, jej názov;
Actions
určuje čo sa má vykonať. Existuje viac
druhov Actions
,
z nich Exec
je asi najdôležitejší. Určuje, že
príkaz, ktorýnasleduje za ním, bude vykonaný.
Reload
znovu načíta konfiguračné súbory PeKWM. Je to niečo ako reštart.
Dá sa to krásne využiť pri nastavovaní PeKWM. Stačí uložiť konfigurák, spustíme Reload
a PeKWM beží v novom nastavení. Toto je vlastnosť ako stvorená pre experimentovanie :-) Other
sa dá prirovnať k
Win*ému "Reštartovať do MS-DOS". Ibaže, (a to je, vďaka Linusovi; podstatný rozdiel), my môžeme
reštartovať takmer do akéhokoľvek programu :-) Defaultne je to Xterm
.
Restart
-om sa spustia, na rozdiel od Reloadu
,
všetky súbory spúšťané po štarte PeKWM. Jedno podmenu vyzerá napríklad takto:
Submenu = "Nástroje" {
Entry = "Gedit" { Actions = "Exec gedit &" }
Entry = "Gentoo" { Actions = "Exec gentoo &" }
Entry = "Konzola" { Actions = "Exec konsole &" }
}
Nesmieme však zabudnúť na zátvorky a na to, že za príkaz na
spustenie
programu dávame
znak &
(ampersand). Samozrejmosťou je aj
možnosť zadávať príkazom
parametre.
Napríklad: { Actions = "Exec mozilla -edit &" }
V časti WindowMenu
príliš veľké zmeny robiť nemusíme, Actions
v ňom
sú stanovené, iba ak by sme niečo zmazali alebo premenovali...
A trošičku nepríjemná vlastnosť je podpora CE znakov, ktorú si budeme
musieť zadefinovať v súbore používanej témy pre PeKWM. Je to súbor
/usr/local/share/pekwm/themes/meno_temy/theme
a musíme si v ňom upraviť používaný font na kódovanie "iso8859-2"
.
Ak nevieme presný názov písma, ktoré máme v systéme, použijeme v
konzole príkaz xlsfonts
, kde
potom v názve vybratého fontu nahradíme čísla *
(podľa
pôvodne použitého
písma).
Napriek tomu sa však písmo s týmto kódovaním nie vždy zobrazuje
korektne.
Najlepšou ukážkou prispôsobivosti PeKWM je podľa mňa Dynamické
menu.
Ide vlastne o odkaz na program, ktorý vracia do menu požadované
hodnoty.
Príkladom je položka Themes
, ktorá je vytváraná perl
skriptom po
každom spustení menu. Druh programovacieho jazyka nie je pevne určený,
takže ak nevieme perl, môžeme použiť iný. Lepšie povedané akýkoľvek :-)
Jednoduchý príklad shell skriptu nájdeme v dokumentácii k PeKWM.
V záverečnej časti článku sa pozrieme na zvyšné konfiguračné súbory,
čím sa pokúsime docieliť to, aby nám PeKWM začal zobať z ruky :-)