4.3. Fluxbox

Fluxbox er efterhånden blevet en populær windowmanager. Den ligner som udgangspunkt Blackbox, og det er da også herfra en del af koden kommer. Og selve opsætningen af Fluxbox har en del til fælles med Blackbox.

4.3.1. Installation

Kildeteksten kan hentes på http://fluxbox.sourceforge.net/download.php

Der er binære pakker til Debian og Slackware. Til Red Hat og Mandrake er der kildetekst-RPM-pakker. Jeg hentede kildetekst-RPM-pakken til Red Hat og fulgte beskrivelsen på http://www.xs4all.nl/~hanb/software/fluxbox/genericrpm.html.

Efter at have installeret med kommandoen

rpm -Uvh /usr/src/redhat/RPMS/i386/fluxbox-0.1.12-1.i386.rpm
lavede jeg en minimal $HOME/.xsession:
#! /bin/sh
exec /usr/X11R6/bin/fluxbox

4.3.2. Brug af Fluxbox

Fluxbox er nem at gå til. Den første gang den startes laver den selv kataloget $HOME/.fluxbox.

4.3.2.1. Personlige opsætningsfiler

$HOME/.fluxbox bruges til brugerens egen opsætning af Fluxbox. Filstrukturen under dette katalog svarer til strukturen under /usr/share/fluxbox, og man kan frit kopiere filer herfra til sit eget katalog.

4.3.2.1.1. Menu

Figur 4-16. Fluxbox' menu

Det første man får lyst til at rette på er menuen. På Figur 4-16 ses en tilrettet menu. Menuen fremkommer ved at trykke på højre museknap på baggrunden. Det er lettest at kopiere systemets menu-opsætning og så arbejde ud fra den: cp /usr/share/fluxbox/menu $HOME/.fluxbox/

Formatet i menuens opsætningsfil er meget simpelt: Linjen [exec] (Netscape) {/usr/local/bin/runnetscape.sh} vil indsætte et menupunkt der hedder Netscape og vil når man trykker på det kalde kommandoen /usr/local/bin/runnetscape.sh

Der er andre muligheder også. Her er en beskrivelse taget fra menuen i Blackbox der har samme format:

# Each menu item consists of 2 or 3 fields:
#
#       [command]  (label)  {data}
#
# where [command] is one of:
#
#   [begin] [end] [exec] [exit] [reconfig] [restart]
#   [submenu] [style] [include] [workspaces] [config]
#
# [begin] is used for the top level menu
# [submenu] is used for submenus
# [end] must be used with BOTH [begin] and [submenu] to tell the parser to stop
#   reading from the file.
#
# [exec] (label) {string}
# This will insert an item that runs a program.
#
# [exit] (label)
# This will insert an item that exits the window manager.
#
# [reconfig] (label) {string}
# This will insert an item that tells blackbox to re-read it's configuration
#  files.  {string} is optional, and if supplied, will execute the string with
#  /bin/sh -c before the reconfiguration is performed.  (this is helpful for
#  writing multiple config files and switching between them)
#
# [restart] (label) {string}
# This will insert an item to restart the window manager.  {string} is
# optional, and if omitted, blackbox will restart itself.  If {string} is
# specified, then a different window manager will be started.
#
# [style] (filename)
# This will insert an item to reconfigure blackbox with the new style.  This
# change is saved when blackbox exits or restarts.
#
# [include] (filename)
# This will read more menu items from the file "filename".  The file cannot
# contain a [begin] or [end], except for the [end] needed for submenus.
#
# [workspaces] (label)
# This tells Blackbox to insert a "link" to the workspaces menu directly
# into your menu.
#
# [config] (label)
# This tells Blackbox to insert the ConfigMenu into your menu.  The ConfigMenu
# allows you to change several options found in your ~/.blackboxrc file on the
# fly.

4.3.2.1.2. Udseende

Nyt udseende, eller tema om man vil, kan vælges fra menuen -> Fluxbox-menu -> Styles. Det valgte udseende træder i kraft med det samme, så man kan hurtigt prøve sig frem.

Jeg er dog ikke specielt begejstret for de baggrunde med små tern eller farver som Fluxbox er fyldt med, så jeg kopierede /usr/share/fluxbox/styles/Nyz til $HOME/.fluxbox/styles/Vilmann og rettede linjen:

rootCommand:                    bsetroot -solid grey20
til
rootCommand:                    bsetbg grfx/motorhead.png

Mit eget tema dukkede nu op nederst under alle de foruddefinerede temaer.

Stien til baggrundsbilledet er relativ til mit hjemmekatalog. Hvis startx benyttes, vil det nok være fornuftigt at indsætte fuld sti til baggrundsbilledet.

Har man lyst til at lege mere med udseendet er der udmærket dokumentation om det på http://fluxbox.sourceforge.net/.

Figur 4-17. Fluxbox med menuen og egen baggrund

Læg mærke til at Fluxbox kommer med egne programmer til at sætte farve (bsetroot) eller billeder (bsetbg) på baggrunden.

4.3.2.1.3. Fokus

Fluxbox kan ligesom de fleste andre windowmanagere arbejde med forskellig fokusopførsel: Menu -> Fluxbox-menu -> Configure -> Focus Model.

4.3.2.1.4. Værktøjsbjælken

Figur 4-18. Fluxbox' toolbar

Fluxbox kommer med en lille værktøjsbjælke der hovedsageligt tjener til at skifte skrivebord og holde styr på minimerede vinduer. Og så har den et praktisk lille ur.

Ved at klikke med højre museknap på den, kan man indstille nogle få men egentlig ganske velvalgte punkter. Blandt andet kan de forskellige skriveborde kan navngives efter ønske og den kan placeres enten foroven eller forneden.

Iøvrigt er det muligt helt at lade minimerede vinduer forsvinde, således at de kun kan findes frem ved klikke med midterste museknap på baggrunden og derefter vælge Icons.

4.3.2.1.5. Faneblade

Figur 4-19. fluxbox tabs

Med Fluxbox er det muligt at gruppere vinduer ved hjælp af faneblade. De grupperede vinduer deler størrelse og kan flyttes sammen.

Faneblade kan fra- eller tilvælges fra Menu -> Fluxbox-menu -> Configure -> Use Tabs.

Faneblade bruges som følger:

  • Vælg et vindue der skal grupperes med et andet vindue

  • Med midterste museknap trækkes fanen fra første vindue over i fanen fra andet vindue.

  • Nu sidder de to vinduer sammen, og kan flyttes samtidig.

  • Hvis et vindue skal væk fra en gruppe, trækkes vinduets fane (igen med midterste museknap) væk fra gruppen og slippes når den er alene.

4.3.2.1.6. The Slit

Figur 4-20. the slit

The Slit er et program der kan "sluge" applikationer. Ligesom windowmangerne AfterStep eller WindowMaker. Eller GNOME-panelet. The Slit bruges til at have små overvågningsprogrammer og lignende samlet på en fornuftig og pæn måde.

Figur 4-20 ses et eksempel på en "Slit".

Den består af GKrellM, der har CPU-belastning, diskaktivitet, netværksaktivitet, volumen-kontrol og en hel del andre moduler indbygget, samt to enkeltstående applikationer: Batteriovervågning og en overvåger til det trådløse netkort.

Applikationer der kan "sluges" af The Slit kan i vid udstrækning findes på http://www.dockapps.org/

Nogle applikationer skal startes med tilvalget -w for at fungere ordentligt i The Slit. Se dokumentationen for den enkelte applikation.

Her er en .xsession-fil der starter nogle applikationer i The Slit, en screensaver samt Fluxbox selv:

#! /bin/sh
   gkrellm -w &
   wmwave &
   wmbattery &
   xscreensaver -nosplash &

   exec /usr/X11R6/bin/fluxbox

4.3.2.1.7. Semigrafisk opsætning: Fluxconf og Fluxkeys

Med Fluxconf er de essentielle værdier vedrørende Toolbar og The Slit samt andre ting der har med udseendet at gøre samlet i en let og overskuelig form.

Figur 4-21. Fluxconf

Fluxbox understøtter selvfølgelig også tastaturgenveje. Fluxkeys kan generere keys-filen, $HOME/keys, hvis man ikke har mod på at skrive den selv:

Figur 4-22. fluxkeys

Fluxconf og Fluxkeys skal hentes og oversættes selvstændigt. De følger ikke med Fluxbox. Fluxconf kan findes på http://devaux.fabien.free.fr/flux/. Fluxkeys er en del af Fluxconf.

4.3.3. Er Fluxbox god?

Ja. Det synes jeg. Rigtig god. Den har et stykke tid været min foretrukne windowmanager.

Fluxbox bruger ikke mange systemresourcer, den er allerede fra begyndelsen rigtig flot, og så er den meget nem at lave ændringer i, da syntaksen i opsætningsfilerne er meget simpel.