Portál AbcLinuxu, 30. dubna 2025 11:20
Fluxbox je jedním z mnoha window managerů pro X. Jeho výhodou jsou široké možnosti konfigurace a ještě větší možnost volby programů. Jak ale udělat z tohoto toto?
Není to tak těžké, i když, přiznejme si to, Fluxbox je stále "jen" window manager, nikoliv kompletní desktopové prostředí. Sám o sobě však nabízí mnoho zajímavých možností, které je v desktopových prostředích velmi těžké, ne-li nemožné nějak rozumně nastavit.
Pro začátek několik vlastností, kterými Fluxbox umí příjemně usnadnit život:
+ velmi úsporný a příjemný vzhled
+ intuitivní přepínání mezi plochami kolečkem myši
+ uložení velikosti a pozice oken na plochách
+ přetahování oken mezi plochami
+ spojování oken (uchopením dekorace okna prostředním tlačítkem myši a přetažením na dekoraci druhého jej lze spojit s jiným oknem, vhodné například pro spojení oken chatu GAIMu a LICQ)
... a mnoho dalších
Fluxbox jako takový je konfigurovatelný buď klikacím způsobem nebo pomocí textových konfiguračních souborů, které umisťuje standadně do ~/.fluxbox
. Ručně si ve fluxboxu můžeme naklikat například šířku a umístění lišty, průhlednost dekorací oken a lišty, vlastnosti oken, které si má Fluxbox pamatovat (velikost, pozice, plocha, na které se daná aplikace má spouštět), jména ploch či například formát zobrazení času. Zvláště formát času a data mne příjemně překvapil - zobrazuje lokalizované názvy dnů v týdnu. Přípustné znaky jsou zde:
%A - den v týdnu slovem
%a - den v týdnu zkratkou
%d - den v měsíci
%D - celé datum ve formátu mm/dd/yy
%m - měsíc číslicí
%Y - rok čtyřmístnou číslicí
%y - rok dvoujmístnou číslicí
%k - hodina
%M - minuta
%S - sekunda
Jsou zde ještě další (například %s, zvláště doporučuji ), ale ty mi již nepřipadají tak dobře využitelné. Klikacím způsobem lze nastavit i styl dekorací a lišty.
Styly fluxboxu jsou umístěny v /usr/share/fluxbox/styles a sestávají se z vlastního konfiguračního souboru stylu a bitmap, kterými jsou okna dekorována. Nastavení konfiguračního souboru jsou dobře pochopitelná a tak není problém si například změnou řádku:
toolbar.height: 16
nastavit výšku lišty na 16 pixelů. Přibroušení staženého stylu či vytvoření vlastního je tak pouze záležitostí zručnosti. Mě osobně se zalíbil Nuevat3k-Bluenight s nastaveným názvem okna doprostřed a zmenšenou lištou na 16 pixelů. Fluxbox nabízí (díky svým kořenům v Blackboxu) též kompatibilitu se styly pro Blackbox.
Menu Fluxboxu lze vyvolat kliknutím pravým myšítkem na plochu. Je uloženo v ~/.fluxbox/menu
a lze jej libovolně rozšířit buď v textovém souboru nebo připojením jiného menu v textovém souboru ve formátu xdg. Pro začlenění menu slouží tag [include]
a ve spojení s oddělovači jej lze použít například takto:
[separator]
[include] (~/.fluxbox/mymenu.xdg)
[separator]
Přičemž jednoduché submenu může mít nějaký následující typ obsahu:
[submenu] (Pushkin's Menu)
[submenu] (Audio & Video)
[submenu] (Editors)
[exec] (GIMP) {gimp}
[end] # (Editors)
[submenu] (Players)
[exec] (MPlayer) {gmplayer}
[exec] (VLC) {vlc}
[exec] (Xine) {xine}
[exec] (XMMS) {xmms}
[end] # (Players)
...
[end] # (Audio & Video)
[end] (Pushkin's Menu)
Z hlediska chování menu je zajímavá i schopnost posouvání již zobrazených submenu po monitoru - stačí "vyjet" myškou z aktuálního menu, chytit jej za horní dekoraci a přesunout kamkoliv, kam se zrovna hodí.
Co se týče menu je třeba upozornit ještě na jednu věc - je plně lokalizované do češtiny, ale zatím (FB 0.9.15) má problémy s UTF-8. Těm se lze vyhnout opětovným poangličtěním menu. Pro to stačí přepsat soubor /usr/share/fluxbox/nls/cs_CZ/fluxbox.cat
souborem /usr/share/fluxbox/nls/C/fluxbox.cat
. Pravda, nejde o nijak elegantní řešení, ale funguje .
Pro nastavení klávesových zkratek ve Fluxboxu slouží soubor ~/.fluxbox/keys
. Zde lze nastavit vše co souvisí s reakcí na stlačení kláves - přepínání ploch, způsob přepínání ploch (PrevWorkspace, NextWorkspace
), spouštění aplikací stlačením klávesy. Klávesové zkratky lze též zřetězit a spustit tak například stisknutím Alt-A-I-F Firefox. Tomu odpovídá zápis
Mod1 A I F :exec firefox
Mod1
zde označuje klávesu alt. Alternativně zde může být Mod4
(klávesa s logem jisté společnosti), Control
, Shift
, Tab
, Left
...
Fluxbox umožňuje též spouštění aplikací po svém startu. Pro aktivování této vlastnosti je třeba vytvořit skript ~/.fluxbox/autortart.sh
, který tvoří posloupnost aplikací, které mají být spuštěny. Aby došlo k jejich spuštění na pozadí je třeba na konec každého řádku přidat znak &
. Aby byl autostart.sh
zpracováván, je třeba zařadit odkaz na něj do souboru ~/.fluxbox/apps
. Pokud tento soubor neexistuje, je třeba jej vytvořit a přidat do něj řádky:
[startup]
{~/.fluxbox/autostart.sh}
Pokud již ale soubor existuje, je třeba do něj tyto řádky zapsat po vypnutí Fluxboxu, například z jiného window manageru. Důvod je ten, že Fluxbox do tohoto souboru ukládá nastavení oken a uchovává jej v paměti až do chvíle ukončení Fluxboxu a pak teprve jej uloží na disk. Kombinací těchto souborů (apps
a autostart.sh
) a uložených nastavení oken v apps
se při startu Fluxboxu nastartované aplikace hned rozdělí na plochy, kde se spustí přesně na svém místě a nevzniká tak na jedné ploše guláš spuštěných aplikací. To bohužel neplatí pro aplikace bez dekorací (gkrellm, xmms...), které se prostě spustí na ploše, ze které je uživatel zavolá.
autostart.sh
lze využít i k jiné záležitosti známé z desktopových prostředí - přehrání zvuku při startu window manageru. To lze zařídit velkým množstvím nástrojů, například mplayerem:
mplayer /home/data/Audio/Sounds/departed.wav
Zde ale nesmí být na konci znak &
, který by mplayer nerozdýchal. Zároveň by nebyl skript autostart.sh
vykonáván po dobu přehrávání zvuku, je tedy třeba tento příkaz vložit až na konec skriptu. Výsledný skript tak může vypadat například takto:
gaim &
gkrellm &
kmix &
krusader &
licq &
lineakd &
skype &
xchat &
xmms &
mplayer /home/data/Audio/Sounds/departed.wav
Mno, přišel čas dělat i jiné věci, než si jen hrát z Fluxboxem, takže o různých fbvychytávkách a (hlavně) ROX-Fileru něco napíšu až bude zase volná chvíle.
Tiskni
Sdílej:
Muj flux vypada takhle
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.