PekWM

1. 9. 2005
Doba čtení: 7 minut

Sdílet

Také vás zaráží rychlost gigantických správců pracovního prostředí typu KDE nebo Gnome? Což takhle zkusit PekWM, jeden z alternativních správců oken, který se vyznačuje pohodovým vzhledem, vysokou rychlostí a téměř absolutní konfigurovatelností?

Když jsem viděl PekWM poprvé, nechápal jsem, jak může jít někdo cestou strohého správce oken o velikosti stovek kilobytů, když může používat komplexní správce pracovního prostředí obsahující nejrůznější vychytávky.

Netrvalo dlouho a po roce a půl spokojeného používání jsem dal starému dobrému KDE sbohem a už skoro čtvrt roku jedu na PekWM. Po pravdě řečeno, pochybuji, že bych se ještě kdy vracel zpět, a když, tak rozhodně ne k tomu „přerostlému, pomalému a neustále bobtnajícímu“ KDE nebo jemu podobným…

První spuštění

Správce oken PekWM je, jak už bývá na GNU/Linuxu zvykem, šířen pod licencí GNU GPL. Už bylo řečeno, že je malý, extrémně rychlý a perfektně konfigurovatelný. Veškeré nastavení spočívá v editaci obyčejných textových souborů, které by se daly spočítat na prstech jedné ruky.

PekWM - logo

Logo PekWM

Ponastavovat se dá v tomto správci oken v podstatě vše od klávesových zkratek přes akce vyvolané kliknutím myši na specifické oblasti okna až po automatické spouštění aplikací po startu prostředí.

Není problém nadefinovat, aby se například ICQ klient otevíral vždy vertikálně maximalizovaný v levém horním rohu na páté ploše. Po pravdě, především na těchto fičurkách stojí celý úspěch PekWM.

Základní nastavení se dá zvládnout za odpoledne, dotvoření k obrazu svému pak během cca jednoho týdne. Formát konfiguračních souborů PekWM je velice jednoduchý, a pokud byste se i na něčem zasekli, určitě pomůže velice kvalitní dokumentace.

PekWM se dá stáhnout na své domovské stránce http://www.pek­wm.org/, u většiny běžných distribucí lze však nalézt i podobu balíčku. Jelikož je na výše uvedeném webu k dispozici pouze nejnovější vývojová verze, která bohužel momentálně trpí několika neduhy (nefunkční grafická témata, bug při zavírání oken), doporučuji volit spíše druhou možnost. Pro jistotu dávám do downloadu (dole) zdrojové kódy od jedné ze starších verzí, kde vše funguje tak, jak má.

Pokud se rozhodnete pro kompilaci ze zdrojových kódů, měli byste vystačit s trojicí ./configure; make; make install. Průběh konfigurace je navíc možné ovlivnit několika parametry, všechny možné volby lze získat pomocí  ./configure --help.

Aby se místo KDE, nebo čehokoli jiného, spouštělo PekWM, je nutné zapsat do souborů .xinitrc a .xsession příkaz exec pekwm. Najdete je ve svém domovském adresáři.

$ echo 'exec pekwm' > ~/.xinitrc
$ echo 'exec pekwm' > ~/.xsession 

Nefunguje? V display manažeru (dialog, ve kterém se po startu systému zadává uživatelské jméno a heslo) bude možná nutné pod položkou sezení navolit něco jako Implicitní sezení systému nebo Výchozí, pak by měly problémy zmizet.

Když jsem spustil PekWM úplně poprvé, monitor zežloutl a já čekal a čekal a čekal… Asi po minutě mi došlo, že ta žlutá barva bez ničeho je všechno a nic dalšího už nebude ;-). Startuje ani ne půl sekundy.

PekWM - default

PekWM při prvním spuštění

Ze screenshotu výše jste jistě poznali, že se PekWM drží zásady ‚méně je někdy více‘, a proto na ploše nezobrazuje, samozřejmě kromě barvy pozadí ;-) a případných menu, žádný grafický prvek. Pokud požadujete systémový panel, ikonky na ploše a podobné věci, vždy můžete použít externí programy – pár z nich bude popsáno i v tomto článku.

Konfigurace

Při prvním spuštění se v domovském adresáři uživatele vytvoří složka ~/.pekwm obsahující celkem šest textových souborů, které v sobě udržují veškerá nastavení.

Soubory s nastavením
Soubor Význam
~/.pekwm/config Základní nastavení
~/.pekwm/menu Menu
~/.pekwm/keys Klávesové zkratky
~/.pekwm/mouse Chování myši
~/.pekwm/auto­properties Definuje velikost oken, pozici, plochu apod. při spouštění aplikací
~/.pekwm/start Spouštění aplikací po startu PekWM

Všechny konfigurační soubory mají velice přehlednou strukturu, která se syntaxí vzdáleně podobá programovacímu jazyku C/C++. Jako ukázka je uvedena specifikace menu pro spouštění aplikací.

# Menu config for pekwm

# Variables
$TERM = "xterm -fn 9x15 +sb -bg black -fg white"

RootMenu = "Pekwm"
{
  Entry = "term" { Actions = "Exec $TERM &" }
  Entry = "su" { Actions = "Exec $TERM -e su &" }
  Entry = "mc" { Actions = "Exec $TERM -title mc -e mc &" }

  Separator {}

  Submenu = "Edit"
  {
    Entry = "KWrite" { Actions = "Exec kwrite &" }
    Entry = "Emacs" { Actions = "Exec $TERM -title emacs -e emacs -nw &" }
    Entry = "Vi" { Actions = "Exec $TERM -title vi -e vi &" }
  }

  Submenu = "Net"
  {
    Entry = "Thunderbird" { Actions = "Exec mozilla-thunderbird &" }
    Entry = "Firefox" { Actions = "Exec firefox &" }
    Entry = "centericq" { Actions = "Exec $TERM -e centericq &" }
    Separator {}
    Entry = "gFTP" { Actions = "Exec gftp &" }

// atd. 

S ohledem na délku článku nebude popis konfiguračních souborů uveden, jejich formát je navíc patrný na první pohled. Pokud vzniknou nějaké komplikace (pravděpodobně u ~/.pekwm/autoproperties), vždy je možné nahlédnout do velice přehledné dokumentace. Pokud chcete, můžete si stáhnout moje nastavení.

Menu

PekWM disponuje celkem třemi menu, z nichž jedno je pevně dané, u druhého není třeba cokoli upravovat a třetí, pro spouštění aplikací, je libovolně měnitelné. Poslední zmíněné se vyvolává kliknutím pravého tlačítka na plochu nebo častěji, většinou kvůli maximalizovaným oknům, na libovolný okraj obrazovky.

PekWM - rootmenu

Menu pro spouštění aplikací

Menu na přepínání aplikací se vyvolává podobně jako to minulé, používá se akorát tlačítka prostředního (většinou kolečko myši). Po pravdě, nikdy jsem si na toto menu nezvykl, je to asi tím, že mám zapnuto relativně mnoho pracovních ploch, takže žádné okno nebývá skryté úplně celé.

PekWM - appmenu

Menu pro přepínání aplikací

Poslední menu se vyvolává kliknutím pravého tlačítka myši na titulek okna. Obsahuje obvyklé příkazy, které snad není třeba popisovat. Dobrým nápadem vývojářů bylo přidání Kill (analogie xkill), které ukončuje aplikaci nereagující na uživatelské pokyny.

PekWM - winmenu

Okenní menu

Seskupování oken

Jednou z velice oblíbených funkčností PekWM je slučování oken do skupin. Funguje to tak, že se klikne prostředním tlačítkem myši na titulek okna a za současného držení se celé přetáhne na titulek jiného. Obě se následně budou chovat jako jediné.

Tato technika je pravděpodobně nejvýkonnější spolu s autoproperties, mám např. nastaveno, aby se po otevření seskupovaly všechny KWrity maximalizované na třetí ploše. Výsledkem je, že nepotřebuji naprosto žádné klikátko na přepínání aplikací.

PekWM - groups

Slučování oken do skupin

Pracovní plochy

PekWM podporuje systém jak pracovních ploch, tak tzv. viewportů (ty jsou standardně vypnuté). Přepínat mezi plochami se dá hned několika způsoby. Já osobně asi nejčastěji používám klikání myší na levý/pravý okraj monitoru.

Další z možností je podržení Win klávesy (mezi CTRL a ALT) a stisknutí čísla na alfanumerické klávesnici podle požadované plochy. Podobným způsobem lze i přesouvat okna, místo čísel se ale použijí funkční klávesy F1, F2 atd., samozřejmě funguje i obyčejné přetahování.

K indikaci, na které ploše právě pracuji, používám prográmek netwmpager zobrazený nad všemi okny v pravém dolním rohu obrazovky. V podstatě by se mohl použít i jakýkoli jiný pager, ale tento byl první, který bez problémů fungoval.

PekWM - netwmpager

netwmpager

Mimochodem moje standardní rozvržení aplikací na plochách je následující:

Rozvržení aplikací na plochách
Plocha Program
#1 xtermy (neseskupené)
#2 mc, xtermy
#3 KWrite, vi na úrovni pro běžnou práci ještě neumím ;-(
#4 Firefox, Thunderbird, Opera
#5 centericq
#6 vše ostatní
#7 většinou nevyužitá
#8 OO.o aplikace

Největší pohoda začíná po nastavení startu všech běžně používaných programů automaticky po spuštění systému ( ~/.pekwm/start), samozřejmě na správné ploše a o správných velikostech oken (~/.pekwm/auto­properties).

Programy se pak ukončují spíše výjimečně, v podstatě nic se neminimalizuje ani nemaximalizuje, vše je přesně tak, jak má být. A když se i podaří něco omylem zavřít, po opětovném spuštění se to otevře na obvyklém místě. Kdo nevyzkoušel, nemá nikdy šanci pochopit, co dobrovolně nechává ležet ladem ;-)

Oblečky, skiny, témata

Jako snad každé pracovní prostředí dovoluje i PekWM měnit svůj vzhled. Pokud se vám standardní okna nelíbí, můžete si bez problémů stáhnout jiné, kutilové si pravděpodobně vytvoří oblečky vlastní – nejedná se o nic složitého, stačí mít grafické cítění.

Veškerá činnost spočívá v nakreslení obrázků pro všechny části okna (okraje, rohy, tlačítka…), nalezení vhodných fontů a editaci jediného konfiguračního souboru.

Dokovatelné aplikace

Pokud bylo PekWM zkompilováno se zapnutou volbou --enable-harbour, je možné používat tzv. dokovatelné aplikace, které lze najít např. na www.dockapps.org, www.bensincla­ir.com/dockap­p, popř. vygooglovat.

Jsou to malé prográmky, které se uchytí na některém z okrajů obrazovky a poskytují určité funkce, jako jsou hodiny, nejrůznější monitory vytížení systému, spouštěče a prostě vše, co vás napadne.

PekWM - dockapps

Dokovatelné aplikace

Hlavní panel

Předpokládám, že mi ho s největší pravděpodobností obijete o hlavu, ale proč třeba nepoužít KDE Kicker? Do ~/.pekwm/start stačí přidat řádek, který ho automaticky spustí při startu, následně budete mít dostupných „90 % funkčnosti KDE o rychlosti PekWM“.

# ~/.pekwm/start
kicker & 

Ikonky na ploše

Bohužel nemohu sloužit, nepoužívám. Co jsem narychlo googloval, docela slibně vypadá iDesk, popř. ROX, ale opravdu jsem nezkoušel.

ict ve školství 24

Obrázek na ploše

Pro nastavení pozadí plochy existují tuny programů, například hsetroot funguje naprosto bez problémů.

# ~/.pekwm/start
hsetroot -center ~/.pekwm/obrazek.jpg & 
PekWM - WoQ

Moje PekWM

Odkazy

Download

Autor článku

Backend programátor ve společnosti Avast, kde vyvíjí a spravuje BigData systém pro příjem a analýzu událostí odesílaných z klientských aplikací založený na Apache Kafka a Apache Hadoop.