WindowLab, creato da Nick Gravgaard, è ispirato al comportamento del Desktop di Amiga.
Il sistema della Commodore era innovativo per i suoi tempi: poteva usarsi con un gestore di finestre oppure da linea di comando, e come architettura aveva già i processori dedicati per suono e grafica.
La Commodore è stata portata al fallimento dagli errori dei manager succedutisi alla morte del fondatore della Commodore, errori clamorosi visto che l’Amiga era innovativa e aveva una grande base di utenti entusiasti.
WindowLab, comunque, non è un clone del Workbench di Amiga (più vicino è amiwm). Infatti è derivato da aewm, ma utilizza la stessa idea di usare la barra superiore, sia per il menù sia per segnalare le finestre aperte. Inoltre usa anche l’idea della gestione del focus scollegata dalla finestra attiva.
Per aggiungervi delle funzionalità si possono usare alcuni programmi aggiuntivi, comunque sempre di poche risorse: Vdesk, che permette di avere più Desktop virtuali, Xbindkeys, che permette di associare particolari azioni a dei tasti o a delle combinazioni di tasti.
Qui di seguito inserisco utilità degli esempi dei file necessari per far partire il tutto insieme, ed avere un ambiente ben configurato.
Se si vuole risparmiare spazio in memoria, ma lavorare in ambiente grafico, si può non utilizzare un login grafico (kdm, xdm, gdm), basta inserire nel .profile del proprio utente il comando startx, dopo aver scritto un file .xinitrc in cui ci sia il comando exec windowlab e in caso prima gli altri programmi che si vogliono lanciare come ad esempio un comando per settare il color di sfondo del desktop.
Ad esempio il file di configurazione .xinitrc potrebbe essere il seguente: (il file da modificare è .xsession se si utilizza kdm o xdm).
#!/bin/sh
xsetroot -cursor_name top_left_arrow -solid darkcyan
bsetbg /home/stefano/prg/background.jpg
xbindkeys &
wlclock &
exec windowlab -font -adobe-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*
In questo esempio si usa xsetroot per lanciare uno sfondo colorato, mentre per un’immagine, ad esempio jpg, si usa bsetbg (creato per BlackBox) (o potrebbe usarsi display di ImageMagick o programmi simili).
Per associare alcuni tasti al lancio di alcuni programmi o comandi, si deve avere un file di configurazione di XBindKeys: .xbindkeysrc, eccone un esempio (ma si rimanda sempre ai relativi manuali per le spiegazioni).
#Tasto funzione per Fn+10
"if amixer get Master | tail -n1 | grep off > /dev/null; then amixer set
Master unmute > /dev/null; else amixer set Master mute > /dev/null; fi"
m:0x0 + c:160
#Tasto Win Left
"amixer -q set Master 5%-"
m:0x0 + c:115
#Tasto Win Right
"amixer -q set Master 5%+"
m:0x0 + c:116
#Tasto Menu
"aterm -sl 500 -fn 10x20 -fade 35 -e mc"
m:0x0 + c:117
#Tasti per i desktop virtuali
"vdesk 1"
Alt + F1
"vdesk 2"
Alt + F2
Si noti che il tasto Fn+F10 permette di fare il mute o l’unmute. Attenzione che alcuni di questi tasti funzione con XBindKeys non funzionano bene, neanche in FluxBox, mentre con OpenBox non si hanno problemi. ((Forse nuove release hanno risolto i problemi))
Ecco allora il file di configurazione del menu di WindowLab così semplice da scrivere .windowwlab/windowlabrc
#make sure each line ends in LF not CRLF!
Aterm:aterm -sl 500 -fn 10x20 -fade 35
Sylpheed:sylpheed
Firefox:firefox
Konqueror:konqueror
OpenOffice:soffice
Desk1:vdesk 1 | bsetbg /home/stefano/prg/background.jpg
Desk2:vdesk 2 | xsetroot -solid darkgreen
Desk3:vdesk 3 | xsetroot -solid darkcyan
Fine:skill windowlab
Si noti che definiti in questo modo si possono dare sfondi diversi ai diversi Desktop virtuali.