12. december

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 konfigurationen af Fluxbox har en del til fælles med Blackbox.

Installation

Kildekoden 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 Source-RPM-pakker.
Jeg downloadede SRPM'en 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/bash
exec /usr/X11R6/bin/fluxbox

Brug af Fluxbox

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

Personlige konfigurationsfiler

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

Menu
[ Fluxbox Menu ] Det første man får lyst til at rette på er menuen.
Til venstre ses min tilrettede menu.
Menuen fremkommer ved at trykke på højre museknap på baggrunden.
Det er lettest at kopiere systemets menu-konfiguration og så arbejde ud fra den:
cp /usr/share/fluxbox/menu $HOME/.fluxbox/
Formatet i menuens konfigurationsfil er meget simpelt:
Linien
[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.

Udseeende

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 linien

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/.

[ Fluxbox ]
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å root-vinduet.

Fokus

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

Toolbar
[ Fluxbox Toolbar ]

Fluxbox kommer med en lille toolbar, der hovedsageligt tjener til at skifte workspace 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 workspaces 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.

Tabs
[ Fluxbox Tabs ]

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

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

Tabs bruges som følger:
Vælg et vindue der skal grupperes med et andet vindue
Med midterste museknap trækkes tab'en fra første vindue over i tab'en 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 tab (igen med midterste museknap) væk fra gruppen og slippes når den er alene.
The Slit
[ 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.
Her til venstre se min nuværende Slit.
Den består af GKrellM, der har CPU-load, 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 applikatitioner skal startes med option -w for at fungere ordentligt i The Slit. Se dokumentationen for den enkelte applikation.
Her er en .xsession der starter nogle applikationer i The Slit, en screensaver samt Fluxbox selv:
   #!/bin/bash
   gkrellm -w &
   wmwave &
   wmbattery &
   xscreensaver -nosplash &

   exec /usr/X11R6/bin/fluxbox
Semigrafisk konfiguration: Fluxconf og Fluxkeys

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

[ Fluxbox Tabs ]
Fluxconf

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

[ Fluxkeys ]
Fluxkeys

Fluxconf og Flux keys skal downloades og kompileres. De følger ikke med Fluxbox. Fluxconf kan findes på http://devaux.fabien.free.fr/flux/.
Fluxkeys er en del af Fluxconf.

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 konfigurationsfilerne er meget simpel.