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.
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
určujú priehľadnosť okna pri presune/ zmene veľkosti. Práve toto nastavenie spriehľadní okno pri zmene veľkosti.
OpaqueResize = "False"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
aWWMouseWrap = "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 :-)
Ja napr. pouzivam ako panel PyPanel, ktory zobrazuje spustene aplikacie, hodiny a plochy, na monitorovanie systemu torsmo, alebo gkrellm. Kalendar pouzivam gdeskcal. Najviac sa mi v pekwm paci jednuduche a prehladne konfiguraky (ziadne klikacie veci :) a moznost vyladenia k vlastnej potrebe.
K tvojej otazke: Zalezi na aplikacii. V pekwm to vsak nema vyznam pretoze nema ziadny panel. V pripade toho co pouzivam (PyPanel), sa dockuju dobre aplikacie skor gnome ako kde. Napr. v pohode funguje Gaim, Mail-notification, Skype, SIM atd. Avsak tvoj spominany program na viacnasobnu schranku sa chova ako ostatne kde tray ikonky. Tray ikonka sa spusti, ale ako male okno velkosti ikonky v lavom hornom rohu. Je plne pouzitelna, ale nie je to uz ono ako v system tray na panely.