PeKWM správca okien (2)

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 | přečteno 14177×

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 :-)

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=599