3.13. Sawfish

Gnome har gennem tiden haft forskellige window managere som standard-window manager. En af dem er Sawfish som vi skal se lidt på i dag. Sawfish hed tidligere sawmill, men navnet blev af andre registret som beskyttet varmeærke.

Sawfish understøtter Gnome på forskellige måder, men kan også bruges uden Gnome. Her er det dog et billede af Sawfish sammen med Gnome2:

Figur 3-21. Sawfish med GNOME 2



3.13.1. Installation

Sawfish findes formodentlig i de fleste Linux-distributioner og det letteste er at installere den sawfish-pakke der følger med ens distribution. Hvis man selv ønsker at oversætte sawfish, kan den hentes på hjemmesiden http://sawmill.sourceforge.net. Desuden får man brug for en række ekstra pakker:



3.13.2. Opsætning af sawfish

Opsætningen af sawfish findes dels i filen ~/.sawfishrc og kataloget .sawfish/ i brugerens hjemkatalog. Man kan enten sætte Sawfish op ved at skrive opsætningsfilen i LISP-kode eller ved at bruge opsætningsprogrammet sawfish-ui.

I det følgende vil de vigtigste punkter af opsætningen blive gennemgået med sawfish-ui.

3.13.2.1. Temaer

Under »Udseende« (eng. »Appearance«) kan man vælge hvilket tema (eng. 'theme') som vinduer skal have som standard. Temaer bestemmer hvilke rammer der skal være om vinduerne og hvilke knapper der skal være i titellinjen.

3.13.2.2. Genvejstaster

Under »Genveje« (eng. »Bindings«) kan man vælge hvilke genvejstaster sawfish skal bruge. En genvej kan virke i forskellige kontekster. Den kan for eksempel virke altid (konteksten 'Global'), i et vindue (konteksten 'Window') eller uden for alle vinduer (konteksten 'root window').

Når man sætter en genvej op, da vælger man først hvad genvejen skal gøre og dernæst hvilken 'tastekombination' der skal udføre genvejen. Man kan enten skrive tastekombinationen eller trykke på 'Fang...' (eng. 'Grab...') og bare trykke kombinationen

3.13.2.3. Fokus

Under 'Fokusopførsel' (eng. 'Focus') kan man sætte op hvordan Sawfish skal skifte fokus mellem vinduer. Man kan enten vælge at man skal klikke i et vindue for at få fokus eller at fokus følger musen.

Desuden kan man under 'Fokusopførsel' vælge hvordan Sawfish skal opfører sig når man cykler gennem vinduer og om Sawfish skal flytte et vindue øverst, når det får fokus.

3.13.2.4. Opsætning af menuer

Man kan lave en række andre ændringer med sawfish-ui. Det eneste man egentlig ikke kan sætte op er menuer. Dette kan i stedet let gøres ved at oprette en ~/.sawfishrc-fil.

Når man laver en ~/.sawfishrc så bruger Sawfish ikke standardopsætningen, man skal derfor altid huske at begynde sin opsætning med (require 'sawmill-defaults). Min ~/.sawfishrc som sætter en enkel program-menu op ser således ud:


(require 'sawmill-defaults)

(setq apps-menu (list
          '("Gnome Terminal" (system "/usr/bin/gnome-terminal &"))
          '("galeon" (system "/usr/bin/galeon &"))
          '("Screensaver" (system "xlock -remote -nice 19 -nolock -mode random -modelist all -fullrandom -neighbors 0 &"))
          '("Lås skærm" (system "xlock -remote -nice 19 -mode blank &"))
))


3.13.2.5. Understøttelse for Gnome

Sawfish understøtter Gnome på forskellige måder. Dels giver Sawfish Gnome mulighed for at fortælle at brugeren er ved at afslutte. Dermed har Sawfish mulighed for at lukke pænt ned når man trykker 'log out' i Gnome.

En anden del at Gnome-understøttelsen er at Sawfish og Gnome kan fortælle hinanden noget om vinduers placering. Dermed kan man anvende Gnomes pager (en lille udgave af ens skriveborde, hvor man kan se vinduerne) eller Gnomes vindueslister.

Udseendet af baggrunden er som sådan ikke noget Sawfish tager sig af. Hvis man bruger Gnome kan dette sættes op via Gnomes Control Center, ellers kan man gøre det med xsetroot (læs manualsiden) eller display -window root foo.png.

3.13.2.6. Andre muligheder

Med Sawfish er man ikke bundet til et enkelt tema. I vinduesmenuen kan man let ændre på et vindues udseende, så for eksempel følgende skærmbillede opnås:

Figur 3-22. Themes med Sawfish



Sawfish kan alt og hvis der er noget Sawfish ikke allerede kan, så kan man udvide sawfish med LISP på samme måde som med Emacs. Dokumentationen til LISP-grænsefladen er en ren reference-tekst, så det kan være noget svært at finde ud af hvor man skal begynde, men med noget lisp-kendskab er det muligt let at lave mindre ting.

3.13.2.7. Det fede ved Sawfish

Sawfish er en utolig fleksibel window manager. Selv uden at man skal igang med LISP kan man pille ved utroligt mange detaljer, så Sawfish virker meget som man vil have det.

   ... og hvis man begynder med LISP, så kan man praktisk taget alt.