3.2. Aewm

aewm++ sigter højt med sit navn - det står for Aesthetic Window Manager - altså en æstetisk Window manager. Plusserne stammer fra det valgte programmeringssprog (C++).

aewm++ stammer fra Sapphire projektet, og hed tidligere Sapphire. Den er kraftigt inspireret af aewm (uden plusserne), som så har hentet en del inspiration for Plan9 projektets windowmanager - se Afsnit 3.1 hvis du vil kende lidt til baggrunden for aewm++.

Plan9 projektet kan vel nok karakteriseres som "minimalistisk", og det skinner tydeligt igennem i aewm++. Når man har hentet kildeteksten til aewm++ og kørt make; su -c make install kan man forsøge sig med at starte aewm++ op ved at sætte /usr/bin/aewm++ ind i $HOME/.xsession. Når man så genstarter X, bliver man noget overrasket - det går stærkt, og der sker absolut ingenting! Ingen ikoner, ingen menuer - man skulle næsten tro der ikke var nogen windowmanager overhovedet.

Men det er der. aewm++ holder sig blot til at være en ren Window Manager, så alt hvad der har med ikoner og den slags at gøre må håndteres af andre programmer. En brugbar måde at køre aewm++ på kræver derfor at man også henter aewm++_goodies pakken og installerer de forskellige hjælpeprogrammer som følger med der. Det er:

Så det er ikke så lidt, der skal ind i ens $HOME/.xsession for at køre aewm++:

aewm++ &
ae_fspanel &
appbar &
setrootimage -from 708090 -to cccccc
exec xsession

Figur Figur 3-3 viser hvordan aewm++ ser ud, når man starter den på denne vis.

Figur 3-3. aewm

3.2.1. Installation

Der er ikke nogen smart automatiseret installation - efter at have hentet kildeteksten, er det lige på med at oversætte programmerne. Og det kan faktisk være lidt vanskeligt, hvis man (som jeg) har en gcc i version 3.

aewm++ og ae_fspanel programmerne er der ingen problemer med.

appbar programmet fejler med

icon.cc:109: `cerr' undeclared (first use this function)
og tilsvarende fejl i appbar.cc og linkedlist.cc. Det løses ved at tilføje #include <iostream.h> til icon.cc.

setrootimage fejler på samme måde med at cerr ikke kendes - det rettes ved at ændre include <iostream> til include <iostream.h> i filen setrootimage.cc.

xsession programmet har slet ikke nogen Makefile med, men det er meget simpelt: gcc -o xsession xsession.c , og så kopieres xsession over i /usr/bin, eller hvor man vil have det liggende.

3.2.2. Opsætningsfiler

aewm++ i sig selv har ingen opsætningsfil. Der er nogle kommandolinjetilvalg til at styre ting som fokus-metode, bredden af vinduesrammerne, og antallet af virtuelle skriveborde. Igen er det meget minimalt hvad man kan gøre, men for at få sat fokus til at følge musen kan man altså tilføje -fm follow eller -fm sloppy til starten af aewm++.

En ting man måske vil ændre på er de funktioner, der som standard er bundet til museknaps-tryk på skrivebordet - det styres med kommandolinjetilvalgene -new1 KOMMANDO og -new2 KOMMANDO for hvad der skal ske ved tryk på hhv. venstre og højre musetast. KOMMANDO kan være en vilkårlig kommando, default funktionen er at venstre musetast ikke gør noget, mens højre musetast starter et nyt xterm-vindue.

appbar programmet har en opsætningsfil, hvor man kan definere ikonerne og hvilke programmer de skal starte. Default er det /etc/X11/appbar/appbar.rc som læses, men hver bruger kan have sin egen fil, som så skal hedde $HOME/.appbar

Syntaksen er beskrevet i README-filen, som kommer med appbar, men er ganske enkel. Her er et eksempel på hvordan man får en ikon til at starte web-browseren Galeon:

icon { 
        image = /usr/X11/share/appbar/images/galeon.xpm; 
        execute = galeon;
}

image definerer den 16x16 pixmap-fil, der bruges som ikon - appbar kommer med nogle få ikoner, der installeres i /usr/X11/share/appbar/images/ når man kører make install, og execute er det program, der skal startes.

Udover ikoner og tilhørende programmer, definerer .appbar filen også hvordan appbar skal vises - vandret eller lodret, hvilket hjørne på skærmen den skal placeres i, og hvilken baggrunds-farve eller gradient der skal lægges på appbar'en:

vertical_placement
northwest_placement

appbar_color_from { 
        red=99;
        green=99;
        blue=99;
}

appbar_color_to {
        red=cc;
        green=cc;               
        blue=cc;        
}

3.2.2.1. Vindueshåndtering

  • Flytte et vindue: Træk i titelbaren med venstre museknap.

  • Ændre størrelse på et vindue: Dette foregår lidt pudsigt. Man trykker midterste museknap ned i det lille felt, der er i højre side af titelbjælken på det aktive vindue. Så flytter man musen rundt, og ændrer dermed vinduets størrelse. Bemærk: Det er den højre og den nederste kant af vinduet, der ændres - toppen og venstre side er faste. Så man kan være nødt til at flytte vinduet førend man ændrer størrelse!

  • Maksimere et vindue: Dobbeltklik med venstre museknap i titelbjælken.

  • Minimere et vindue: Klik med venstre museknap på det lille felt til højre i titelbjælken.

  • Skygge et vindue: aewm++ har en facilitet der minder om at minimere vinduet, hvor kun selve titelbjælken bliver på skærmen - det kaldes et "shaded" vindue. Det gøres ved at klikke med midterste museknap i titelbjælken. For at "un-shade" vinduet klikker man igen i titelbjælkne med midterste museknap.

  • Lukke et vindue: Klik med højre musetast i det lille felt til højre i titelbjælken.

3.2.2.2. Fokus

Som standard kører aewm++ med click-to-focus. Dette kan kun ændres med kommandolinjetilvalget -fm [follow|sloppy|click] når man starter aewm++.

3.2.2.3. Workspaces/virtuelle skriveborde

Aewm++ understøtter virtuelle skriveborde - som standard er der 4, men man kan vælge antallet med -md ANTAL optionen når man starter aewm++.

Hvis man bruger ae_fspanel er de virtuelle skriveborde små ikoner i panelet, med numre fra 0 til (antal skriveborde - 1). Hvis man ikke bruger ae_fspanel, må man skifte med ALT+CTRL+PageUp eller ALT+CTRL+PageDn.

Man kan flytte et åbent vindue over på et andet virtuel skrivebord ved at højreklikke i titelbjælken - når du slipper musetasten kommer der en lille menu frem, hvor man vælger den virtuelle skrivebord, vinduet skal flyttes til.

3.2.2.4. Baggrundsbilleder og den slags

Baggrundsbilleder må man klare selv - setrootimage, som følger med i goodies-pakken, kan lave nydelige farve-gradienter, og ellers må man have fat i programmer som display fra ImageMagick pakken for at få sit favoritbillede ind som baggrunds-billede.

Der er ikke noget der bare ligner temaer i aewm++.

3.2.3. Dokumentation

Den er sparsom - der er lidt på sapphire.sourceforge.net, og nogle spredte README filer. Men da der ikke er så mange faciliteter i aewm++, er den beskedne dokumentation alligevel dækkende.

3.2.4. Hvad er det fede ved aewm++ ?

Tjah - det er en lille og effektiv Window Manager. Trods sin størrelse har den en vis funktionalitet til at kende GNOME og KDE-programmer, så man kan bruge aewm++ som windowmanager i disse miljøer - det har jeg dog ikke prøvet.

Ellers tror jeg mest aewm++ appellerer til "feinschmeckere"; der gerne vil køre en Window Manager som meget få kender til.