3.16. WM2 og WMX

wm2 og wmx er to window managere, der dels går efter at være ret minimalistiske i hvad de kan, men samtidig gerne vil skille sig lidt ud fra mængden.

Det mest slående element ved wm2 og wmx er den titelbar, de sætter på vinduerne. Den står nemlig ikke ovenover vinduet, men på siden. Se bare her:

Figur 3-26. wm2

Forskellen på wm2 og wmx er, at wm2 er den mest simple af de to, f.eks. indeholder wm2 ingen form for run-time konfiguration. wmx er mere avanceret, men dog ikke mere end at man har bevaret det oprindelige mål med at have en meget enkel window manager. wmx har blandt andet en del flere tastatur- genveje, så man f.eks. kan skifte mellem vinduer med ALT+TAB, der er virtuelle desktops (kaldet "Channels"), og en del flere muligheder for at dekorere sin desktop med f.eks. baggrunds-billeder på titel-baren og den slags.

3.16.1. Installation

Både wm2 og wmx findes på http://www.all-day-breakfast.com/ i kildetekst-form. Hvis man mere er til rpm-udgaver, så fandt jeg en rpm-version af wm2 på rpmfind. Der er også en rpm-udgave af wmx, men den er baseret på en ret gammel version, så her er man bedre tjent med at hente kildeteksten og oversætte selv.

wm2 Skal bare oversættes med make; su -c make install.

wmx wmx understøtter autoconf, så det er blot ./configure; make; su -c make install.

Min gcc version (3.2) brokkede sig over wmx Menu.C filen. gcc 3 tjekker for nogle ting som gcc 2 synes er OK, så det kan omgåes ved at tilføje "-fpermissive" til CXXFLAGS i Makefile.

En ting man skal være opmærksom på, er at din X server skal understøtte "SHAPE" udvidelsen for at wm2 eller wmx kan fungere. De fleste nyere versioner af XFree86 har denne med som standard, men ellers kan du køre programmet xdpyinfo og se om der står SHAPE i listen over understøttede udvidelser (extensions).

3.16.2. Opsætning

wm2 og wmx kan som hovedregel kun konfigureres ved at rette i Config.h filen, og gen-oversætte programmet. Der er en række elementer i Config.h, som man skal ændre for at få en fornuftig opførsel:

Der er nogle enkelte elementer i wmx, der kan defineres via en usædvanlig metode med et symbolsk link i $HOME/wmx/options, se nedenfor om Fokus.

3.16.2.1. Vindueshåndtering

  • Flytte et vindue: Træk i titelbaren eller øverste vinduesramme med venstre museknap.

  • Ændre størrelse på et vindue: Træk i nederste højre hjørne med venstre museknap. Man kan også trække i øverste højre eller nederste venstre hjørne, men så kan man kun ændre i een retning: Henholdsvis vandret og lodret.

  • Maksimere et vindue: Det kan man ikke i wm2! I wmx kan man bruge ALT+HOME for at maksimere vinduet lodret+vandret, ALT+PageUp for at maksimere kun lodret, ALT+"keypad +" for at maksimere kun vandret. Tilsvarende vil ALT+End, Alt+PageDown og ALT+"keypad -" vende tilbage til den ikke- maksimerede tilstand.

  • Minimere et vindue: Minimerede vinduer forsvinder helt - der er ikke nogen ikon-liste. Man skal først sørge for at vinduet har fokus, og så minimerer man vinduet ved at klikke i firkanten øverst i titel-baren.

  • Gendanne et minimeret vindue: Hold venstre musetast nede på desktop-baggrunden - så kommer der en menu frem, hvor du kan vælge det vindue der skal gendannes. Et smart lille feature er, at hvis man vælger et af menu-punkterne uden at slippe musen, så vises dette vindue så man kan se, hvad det indeholder - hvis man så går videre i menuen forsvinder det automatisk igen. Så man kan lave et "preview" af sine minimerede vinduer. Det er praktisk hvis man lige har 8 Mozilla-vinduer åbne.

  • Start en ny xterm: Kald rod-menuen frem ved at holde venstre musetast nede på desktop-baggrunden, og vælg "New" fra menuen. Du kan definere det program der startes i Config.h filen

  • Luk et vindue: Sørg for at vinduet har fokus. Klik så på firkanten øverst i titel-baren, og hold museknappen nede i mindst halvandet sekund. Muse-markøren skifter til et kryds, og når du slipper tasten bliver vinduet lukket.

    Det er en ret usædvanlig metode, men det er bevidst - forfatterne af wm2 synes man skal bruge det aktuelle programs egen luk-funktion for at afslutte programmet, i stedet for blot at slå vinduet ihjel.

3.16.2.2. Fokus

Som sagt styres fokus-metoden af Config.h filen. I wmx (ikke wm2) kan man dog definere den ved runtime på en ret obskur måde: Man opretter et katalog $HOME/.wmx/, og i dette katalog laver man et symbolsk link på denne vis:


$ ln -sf focus:delay-raise,100 options

Dette symbolske link definerer en run-time option "focus" der får værdien "delay-raise,100". Det bevirker, at fokus bliver sat til auto-raise, med en forsinkelse på 100 ms.

3.16.2.3. Channels

En "Channel" er wmx navn for et virtuelt skrivebord. Denne facilitet findes kun i wmx, ikke i wm2. Man skifter imellem virtuelle skriveborde ved at klikke med den midterste musetast i øverste højre hjørne af vinduet - der må ikke være et åbent vindue i vejen. Man kan også bruge taste-kombinationen ALT+højrepil eller ALT+venstrepil.

Hvis man vil flytte et vindue fra et virtuelt skrivebord til et andet, klikker man med midterste musetast i firkanten i titelbaren. I øverste højre hjørne vises så et kanal-nummer, og så klikker man bare videre med midterste musetast, indtil man er på den rigtige kanal.

Man kan klistre et vindue til alle kanaler ved at taste ALT+Pause mens det har fokus.

3.16.2.4. Baggrundsbilleder og den slags

Baggrunds-billeder må man klare selv - f.eks. med display, xsetroot eller hvad man nu vil bruge. Der er ikke noget der ligner temaer i wm2 eller wmx.

wmx har dog en feature, hvor man kan lægge en pixmap ind som baggrund i titel-baren.

3.16.2.5. Dokumentation

Læs README filen, der følger med sourcen. Det er faktisk det eneste sted, der står hvordan man konfigurerer og bruger wm2 og wmx.

3.16.3. Hvad er det fede ved wm2 og wmx ?

Det rigtig gode ved wmx er, at der er så mange muligheder for tastatur-genveje til at lave alle mulige vindues-operationer. For en gammel kommando-linje fanatiker som undertegnede, er det irriterende at skulle have fat i musen i tide og utide, så de mange tastatur-genveje er virkelig rare at have.

De lodrette titel-barer er også noget der virkelig fanger folks opmærksomhed - men man kan nok diskutere hvor praktiske de er. Det er i al fald lidt underligt at skulle lægge hovedet på skrå, for at læse hvad det er for et vindue man har åbent.