>Dokumentace Fluxboxu

Dokumentace Fluxboxu

Tobias Klausmann

Edited by

Engelbert Gruber


Table of Contents
1. Úvod
O této dokumentaci
O Fluxboxu
Co je Fluxbox
Vlastnosti
Získání Fluxboxu
Kladení otázek a získání podpory
2. Začínáme
Instalace Fluxboxu
Získání zdrojáků
Rozbalení a kompilace
Spouštění Fluxboxu
Drobnosti
3. Nástroje
Úvod
fbrun
fluxbox-generate_menu
fluxspace
wmctrl
Pagery
4. Taby
Úvod do tabů
Složitější tabování
Nedbalé spojování oken
Tabování s okny jedné třídy
Úplné vypnutí tabů
Umístění tabů
Autoslučování tabů
Taby v tématech
5. Práce s klávesami
Keygrabber
Názvy kláves
Události
6. Tapety na plochu
7. Slit
8. Toolbar
9. Editace menu
Nastavení cesty k souboru menu
Dostupné příkazy
10. Vzhled
Základy
Pokročilé nastavování stylů
A. Nastavení .xinitrc/.xsession
B. Často kladené otázky (FAQ)
C. Styly - referenční seznam
Příkazy pro styly
D. Fonty Artwiz pro Fluxbox
E. Odstraňování chyb
List of Tables
5-1. Navigace
5-2. Operace s okny
5-3. Velikosti oken
5-4. Pohyb s okny
5-5. Různé
10-1. Příkazy textur
C-1. Styl nástrojové lišty
C-2. Styl menu
C-3. Styl okna
C-4. Úchopová lišta
C-5. Rámeček přemístění
C-6. Tlačítka okna
C-7. Rámeček okna
C-8. Tab
C-9. Font štítku okna
C-10. Různé
List of Examples
4-1. soubor groups
5-1. macro command
5-2. Soubor s klávesovými zkratkami
5-3. XMMS keybindings
5-4. Multimediální klávesy pro XMMS
5-5. výstup xev pro šipku doprava
7-1. Specfikace slitlistu
8-1. příklad toolbar.tools
9-1. Nastavení souboru menu
9-2. menu
10-1. Styl hodin na toolbaru
10-2. Styl menu
10-3. Styl fontů písma
10-4. Styl textury
10-5. Typický krátký styl
A-1. .xinitrc
B-1. Upravené taby v souboru stylu
D-1. fonts.dir

Chapter 1. Úvod

O této dokumentaci

Toto je nová dokumentace pro Fluxbox, správce oken pro X11. Byla vytvořena ze starší HTML dokumentace s cílem udělat ji snadno přizpůsobitelnou na různé vystupní formáty. Zdroj byl napsán v DocBooku 4.1, formát speciálně navržený pro dokumentace.

Dosud zde bylo několik tvůrců dokumentace k Fluxboxu.. Dokumenty, které nyní čtete, jsou většinou založeny na práci člověka jménem Rando Christensen nebo jím byly původně napsány, dále pak a několika dalšími kteří přispěli. Pokud chybí nějaká položka, prosím upozorněte , aby to napravil.

Otázky týkající se Fluxboxu samotného je lepší směřovat na mailové konference. Informace o žádostech o ně můžete najít na na oficiální stránce Fluxboxu.

Návrhy a překlad: Přijímám téměř všechny návrhy dobře napsané dokumentace pro cokoliv zde nezahrnuté, o čemž si lidé myslí že by mělo být přidáno; Jednoduše mi pošlete email na adresu uvedenou výše, pokud máte nějaké otázky o tom, jak můžete pomoci, nebo pokud máte nějakou dokumentaci, kterou byste rádi přidali.

Zdrojáky této dokumentace a různé převedené formáty jako HTML a PostScript jsou k dispozici na webu Fluxboxu. Pokud chcete použít jinou DTD nebo jiný výstupní formát, zdroják je váš kamarád, ačkoliv budete pravděpodobně potřebovat nějakou znalost DocBooku pro úpravu DTD. Pokud chcete převést zdrojový soubor do nějakého jiného formátu než toho, které poskytuje web Fluxboxu, balíček docbook2x by mohl být užitečný.


O Fluxboxu

Co je Fluxbox

Fluxbox je jen další správce oken pro X. Je založen na kódu Blackboxu 0.61.1. Fluxbox vypadá jako Blackbox a používá styly, barvy, umísťování oken a podobné věci přesně jako Blackbox (100% tématická/stylová kompatibilita).

Tak jaký je potom rozdíl mezi Fluxboem a Blackboxem? Odpověd zní: JE JICH MNOHO! Zde je seznam vlastností, které již Fluxbox má, nebo na kterých se pracuje...


Vlastnosti

Implementované:

  • NAstavitelné taby u oken.

  • Podpora pro Antialiasování (Xft)

  • Podpora UTF-8

  • Iconbar (pro minimalizovaná/zikonizovaná okna)

  • Okení/Tabové automatické seskupování

  • Posouvání kolečka myši přepíná plochy

  • NAstavitelný titlebar (umístitelnost tlačítek, nová tlačítka atd.)

  • Podpora KDE a Gnome (včetně Gnome 2)

  • Podpora Extended Window Manager Hints (ewmh)

  • Nativně integrovaný keygrabber (podporuje emacsové posloupnosti kláves)

  • Volba Maximalizovat přes slit

  • Řazení dokových aplikací ve Slitu

Plánované:

  • Správa sezení (sesion)

  • Přichytávání oken

  • Nastavitelný toolbar

  • Další minoritní vlastnosti

Krom toho všeho bylo na kódu provedeno mnoho změn a vylepšení.


Získání Fluxboxu

Zdroják Fluxboxu může být stažen z hlavního webu Fluxboxu, http://fluxbox.sourceforge.net/. Většina Linuxových distribucí a ostatní svobodné Unixy také obsahují zdrojové a binární balíčky Fluxboxu. Pokud si nejste jisti, použijte balíčky z nejnovější verze vaší distribuce.


Kladení otázek a získání podpory

I když je Fluxbox velice snadno nastavitelný a použitelný, je zde šance, že se v nějakém bodě vynoří otázka nebo problém. Na mnohé se již bylo tázáno a mnohé bylo vyřešeno. Proto než začnete klást otázky do mail listů nebo na IRC kanálu Fluxboxu, prosím prohlédněte si FAQ, který obsahuje Appendix B.


Chapter 2. Začínáme

Instalace Fluxboxu

Tuto sekci poskytl Jason Gillman Jr. aka "Ircaddict".

Mnoho distribucí poskytuje binární balíčky Fluxboxu (nebo v případě Gentoo a FreeBSD porty/ebuildy), které dělají instalaci Fluxboxu pěkně bezbolestnou. Ačkoliv existují důvody proč jej zkompilovat ze zdroje. Například nejnovější verze Fluxboxu nemusí být k dispozici jako balíček pro distribuci. Navíc může být žádoucí zkompilovat Fluxbox s jistou sadou parametrů pro kompilátor. Pokud chcete použít balíčky ditribuce, podívejte se na dokumentaci distribuce. Pro některé distribuce poskytuje zdrojové i binární balíčky web Fluxboxu.

Účel toho dokumentu je pomoci lidem kteří jsou nezkušení v kompilaci do okenního systému X11 (nebo Linuxu obecně) a instalaci správce oken Flukbox.


Získání zdrojáků

První věc, kterou budete chtít udělat, je jít na stahovací stránku a stáhnout tarball se zdrojem (přípona je .tar.gz).

Čas od času jsou ulovněny speciální vývojářské vydání. Ty poskytují ukázku věcí které přijdou, nové vlastnosti apod. Díky jejich vývojové kvalitě někdy postrádají funkčnost nebo stabilitu. Vyzkoušejte je pokud chcete drsně Fluxboxovat - se všemi výhodami a nebezpečími. Návody jak je získat mohou být nalezeny v sekci News na oficiálním webu Fluxboxu.


Rozbalení a kompilace

Tak, nyní když máte zdrojový tarball, musíte jej rozbalit. To můžete udělat spuštěním následujícího příkazu, a nahrazením jména souboru tím, který jste si stáhli:

    $ tar xzvf fluxbox-0.1.12.tar.gz

To vypíše seznam souborů které byly vybaleny. Až to uděláte, přepňěte se do adresáře který byl vytvořen (bude to něco jako fluxbox-0.1.12/, ale to záleží na verzi). Další krok je konfigurace a překlad zdroje Fluxboxu. Spuštěním konfigurace můžete umožnit nebo zakázat některé vlastnosti Fluxboxu. Pro většinu lidí budoui výchozí nastavení ok. Pokud chcete aby slit Fluxboxu spolupracoval s panelovými ikonami KDE, měli byste přidat parametr --enable-kde. Pro zjištění ostatních parametrů poskytovaných konfiguračním skriptem použijte parametr --help. Pokud nehccete podporu KDE, toto by mělo stačit:

    $ ./configure
    $ make

Po kompilaci Fluxboxu se staňte rootem a spusťte:

    # make install

Gratulujeme, nyní máte zkompilovaný a nainstalovaný Fluxbox.


Spouštění Fluxboxu

Je sice hezké mít to zkompilované a nainstalované, ale jaký to má užitek když to nemůžete spustit?

Obecně jsou dvě odlišné cesty jak souštět X11 (a tak Fluxbox). Tradiční cesta je použít příkaz startx. Jiná cesta je použít grafický login manager (někdy nazývaný "display manager"). Nejběžnější display manager je xdm, který je součástí distribuce XFree86. Display manager poskytovaný Gnomem se jmenuje gdm, ten z KDE je jmenuje kdm.

Pokud je X11 spušteno dříve zmíněnou cestou (pomocí startx), pak je důležitý soubor jménem .xinitrc, který sídlí ve vašem domovském adresáři. V případě že startujete pomocí display manageru, je to .xsession, který je na stejném místě.

Další krok je najít binárku Fluxboxu. Pro většinu lidí to je /usr/local/bin/fluxbox. Nyní potřebuje upravit (nebo vytvořit) soubor o kterém jsme mluvily. Jen přidejte následující řádek na konec souboru:

   exec /usr/local/bin/fluxbox

Změňte /usr/local/bin/fluxbox na cestu kde je binárka Fluxboxu, přičemž uvedená cesta je výchozí při kompilaci ze zdroje. Až to bude hotové, uložte to a zavřete editor, ať už jste použily k úpravám jakýkoliv. Nyní je potřeba spustit následující příkaz, pokud používáte startx:

   $ chmod 700 .xinitrc

V případě .xsession toto není potřeba. V obou případech byste měli vytvořit adresář, kde má Fluxbox uloženou svoji konfiguraci:

   $ mkdir .fluxbox

Pokud ho nevytvoříte, tak při vypnutí Fluxboxu a restartu přijdete o veškerá vaše nastavení (adresář se naneštěstí sám nevytváří).


Drobnosti

Pokud potřebujete pomoc, jen skočte na nápovědní fórum Fluxboxu apoložte otázku, jsem si jist že někdo bude ochotný a pomůže vám. Můžete také klást otázky na uživatelský mailing list Fluxboxu. Odkaz na něj můžete najít na stránkách Fluxboxu. Jako poslední poznámku doporučuji vzít soubory init, menu, a titlebar z adresáře /usr/local/share/fluxbox a zkopírovat je do .fluxbox/ ve vašem domovském adresáři.


Chapter 3. Nástroje

Úvod

Fluxbox přichází se sadou nástrojů, které činí život trochu snadnější nebo posyktují parádní schopnosti. Implicitně jsou nainstalovány na stejné místo jako binárka fluxbox, což je /usr/local/bin, pokus jste nepoužily jiný prefix během konfigurace. Většina distribucí také používá jiné umístění, takže pokud jste instalovaly binární balíčky, můžete je najít v /usr/bin.


fbrun

fbrun je v základu obdoba dialogu "Run..." z jiných desktopových prostředích. To znamená, že to je snadný způsob jak spustit program který není obsažen v nabídce (nebo potřebuje speciální sadu parametrů pro zavolání).

Jiný způsob jak může být fbrun užitečný, je je zavolat jej z menu s přednačtenou příkazovou řádkou, kterou jen upravíte a spustíte. Příkladem může být ssh-čkování se na hosta s dlouhým názvem se spustou parametrů, kde se mění jen jeden ze všech. Pro tento případ přidejte položku pro fbrun do vašeho menu obsahující jméno hosta a parametry. Pokud použijete zmíněnou položku, můžete upravit řádku s parametry a pak ji spustit.

fbrun má různé parametry:

   -font [jméno písma]         Písmo textu
   -title [jméno titulku]      Nastaví titulek
   -text [text]                Textový vstup
   -w [šířka]                  Šířka okna v pixelech
   -h [výška]                  Výška okna v pixelech
   -display [display string]   Jméno displeje
   -pos [x] [y]                Pozice okna v pixelech
   -fg [barva]                 Barva textu
   -bg [barva]                 Barva pozadí
   -a                          Antialias
   -hf [soubor s historií]     Jaký soubor s historií načíst (~/.fluxbox/history je výchozí)
   -help                       Zobrazí tuto nápovědu

Většina těchto parametrů hovoří sama za sebe. Parametry -text a -hf možná potřebují určité vysvětlení. Dřívě zmíněný je použit k nastavení přednačteného (upravitelného) textu uvnitř okna fbrun. Pokud chcete použít více argumentů (jako ssh -X -f), ujistěte se že použijete uvozovky:

	fbrun -text "ssh -X -f"

Parametr-hf nastavuje soubor s historií, což je místo kde fbrun udržuje svou "paměť" použitých příkazů (jako to dělá Bash). Normálně nepotřebujete tento parametr, potom je použito výchozí místo. Může být užitečné mít více položek fbrun v menu a udržovat oddělené historie pro každou z nich.


fluxbox-generate_menu

OPRAVA: Tato sekce musí být teprve vytvořena.


fluxspace

(Citace z :http://fluxspace.sourceforge.net):

Fluxspace mísí správu oken Fluxboxu s novými schopnostmi správy desktopu. Využívá existujících komponent a sílu Pythonu na vytvoření flexibilního desktopového prostřebí okolo Fluxboxu a ostatních lehkých správců oken.

  • Přidává jednotlivým pracovním plochám ikony and panely integrací nástrojů jako Rox Filer a Idesk.

  • Dekoruje každou pracovní plochu jinou tapetou.

  • Spravuje programy po spuštění.

  • Automaticky startuje a zastavuje aplety podle toho jake se přepínáte mezi plochami, umožňujíc tak každé ploše mít unikátní sadu nástrojů a apletů.


wmctrl

Program wmctrl je textový nástroj pro interakci s EWMH/NetWM kompatibilním X správcem oken.


Pagery

Desktop pager pomáhá při práci s více než jednou plochou. Zobrazováním ploch v malém okně a umožňujíc okna přetahovat mezi plochami. Pager není vyžadován pro práci s více plochami, správu ploch dělá správce oken, jméno plochy a obsah můžete vidět v toolbaru a okna mohou být poslána na jiné plochy z nabídky titulku okna, nebo nastavena v souboru aplikace.

Ale pagery poskytují lepší nadhled, některé ukazují pouze rámy oken, jiné obrázky obsahu oken nebo ikony běžících aplikací.

  • bbpager: pager z blackboxu, se stejným způsobem konfigurace. Zobrazuje pouze rámy oken. bbtools

  • fluxter: je upravený bbpager, konfigurace je bližší fluxboxu. fluxter

  • Rox pager: pager desktopu ROX, desktopové prostředí. ROX

  • 3d-Desktop: OpenGL pager ukazující plochy ve 3D. desk3d

  • a další ...


Chapter 4. Taby

Úvod do tabů

Fluxboxové taby nejsou nijak novou myšlenkou. Implementace je jako ta v spráci oken PWM. Způsob jak to pracuje: Více oken je sloučeno dohromady a sdílí stejnou geometrii- mají stejnou velikost, přesně stejnou pozici a pohyb jednoho z oken způsobý pohyb všech. Uvažujte o nich jako o kupě papírů. Taby jsou jako ty malé plastové záložky, které přilepíte na jednotlivé stránky, aby bylo nalistování každé stránky jednoduché a rychlé.

Ve verzích do 0.1.14 jsou taby připevněny k rámu okna, o 0.9.x jsou taby součástí titulku okna.

Ta je přesně jak taby ve Fluxboxu fungují. Jednoduše výberte požadovaný tabu toho okna které chcete a to okno vyskočí navrch té kupy papírů. Nyní si to zkuste.

Základy tabování

První věc, kterou nezapomeňte, je že všechny operace s taby používají třetí (prostřední) tlačítko myši. Tak pro začátek: vyberte dvě okna které chcete spojit dohromady. Klepňete třetím tlačítkem na titulek prvního a přetáhněte jej na titulek druhého. Gratulujeme, jsou spojeny dohromady! Nyní můžete používat taby pro přepínání se mezi okny.

Odstranění tabů se dělá stejně. Klepněte třetím tlačítkem na spojené taby a přetáhněte je někam pryč.


Složitější tabování

Nedbalé spojování oken

"Ale to mi připadá nešikovné přetahovat tab na jiný malý tab."

Pak máme dobré zprávy. Z konfiguračního menu Fluxboxu vyberte nastavení 'Sloppy Window Grouping'. To vám umožní přetahovat vaše taby na cílové okno pro provedení sloučení.


Tabování s okny jedné třídy

"To je skvělé, ale já chci jen připojit program X!"

Jsou dva různé způsoby jak tohoto docílit, záleží na tom jak mnoho programů chcete mít v tabech. Můžete zapmout nebo vypnout tabs jednotlivým oknům. (Klepněte pravým tlačítkem na název okna, klepněte na položku 'tab'), nebo je můžete vypnout globálně pomocí 'Configuration'->'Use Tabs'. Pojejich vypnutí můžete zapínat taby jednotlivým oknům tak, jak bylo popsáno výše.


Úplné vypnutí tabů

"Nemám rád taby, jak je mohu vypnout?"

Zajisté. Vyberte 'Use Tabs' z konfigurační nabídky Fluxboxu. Protože to je přepínač, tak pokud ho znova vyberete, taby opět zapnete. Také máte paramtr v konfiguračním souboru init pro tuto funkci:

    session.tabs:   true

Vypnutí tabů se provede nahrazením true za false.


Umístění tabů

Do verze 0.1.14 byly taby připevněny k oknu, od verze 0.9.x jsou taby začleněny do titulku na rámu okna.

(0.1.14) V nabídce nastavení je položka nazvaná 'Tab Placement'. Vypisuje místa u oken, na kterých mohou být taby umístěny. Toto je velice jednoduché, takže jediná věc o které se opravdu musíme zmínit, je nabídka 'Relative'. Toto nastavení to dělá tak, že celková délka všech tabů v okně odpovídá délce okna. Pokud je v okně jeden tab, pak je dlouhý jako okno. Pokud jsou tam dva taby, každý z nich má 50% délky. Toto nastavení často dělá vzhled tabů decentní a je velmi populární.


Autoslučování tabů

Někdy chceme aby aplikace byly sloučeny dohromady když je spustíme. To je logicky nazýváno "Autogrouping". Tato část vysvětluje jak to funguje. Jako první věc potřebujete verzi Fluxboxu 0.1.11 nebo vyšší. Autogrouping se staršími verzemi nefunguje. Potom potřebujete vytvořit soubor ~/.fluxbox/groups, pokud tam již není. Potom upravte soubor ~/.fluxbox/init a přidejte tuto řádku (nebo ji změňte pokud tam již je a vypadá jinak):

         session.groupFile:		~/.fluxbox/groups

Tak, všechno je na svém místě. Teď jednoduše vyplňte soubor se skupinami.

formát souboru Groupfile

Jednoduše jedna skupina na jednu řádku. Napište jméno instance programů, které chcete spojovat. Příklad:

Example 4-1. soubor groups

    Navigator nedit
    xterm

toto vytvoří dvě skupiny, jednu s netscape a nedit a druhou s xterm. Nové okno se pouze přižadí k ostatním oknům na stejnou plochu a k poslednímu oknu, které bylo navrchu. Pro získání jména pro zapsání do souboru skupin spusťte:

    xprop |awk '/WM_CLASS/{print $4}'

a klepněte na okno. Pokud to nic nezobrazí, zkuste změnit $4 na $3.

Autogrouping z tabů

Toto vám umožní vyvolat hlavní menu. Pokud klepnete pravým tlačítkem na tab a vyberete si nějakou aplikaci, naběhne pak jako další tab v tomto okně.

Note: Sdužování tímto způsobem (z tabů) může kolidovat s normalním automatickým slučováním.


Taby v tématech

Máme celou sekci (Chapter 10) věnovanou vzhledu tabů v tématech. Můžete se na ní podívat, pokud se zajímáte o změnu vzhledu tabů ve vašem tématu. (Taby v tématech budou normálně stejné jako vzhled nadpisů oken; toto někdy chtějí lidé změnit.)


Chapter 5. Práce s klávesami

Keygrabber

Keygrabber funguje podobně jako bbkeys, což je výborný nástroj, ale má některá omezení (a licence nebyla kompatibilní), ale s úplně novou syntaxí pro konfigurační soubor a spoustou nových vlastností, což dělá Fluxbox ještě mnohem lepší.

Zaprvé, keygrabber podporuje posloupnosti kláves (jako Emacs)... takže můžete například mít: Mod1 + M + Mod1 + F pro přepnutí se na další plochu (ne každý každý by měl použít tuto konkrétní posloupnost kláves.)

A pokud jste napsali část posloupnosti, ale rozhodli se nepokračovat (přerušit), tak můžete napsat jinou posloupnost kláves (kterou jste nastavili ve vašem souboru keys) pro přerušení (pomocí: AbortChain).

Jako dodatek k tomuto: můžete také změnit posloupnost kláves na tu pro přepnutí se mezi okny sloučenými do tabů/skupin (pomocí: NextTab a PrevTab).

Je možné spustit více příkazů pro jednu klávesovou zkratku. Příkazy budou prováděny souběžně.

Example 5-1. macro command

    Mod4 Shift x :MacroCmd { ExecCommand xterm } { ExecCommand gv 1.ps }

Konečně, pro vaše pohodlí jsme (nebo přesněji vlaad a tarzeau) jsme vás vybavili dvěma skripty (oba dělají to samé) pro převod konfiguračního souboru bbkeys do konfiguračního souboru Fluxboxu. (použití skriptů je v popsáno v nich). Stažení: convertkeys nebo convertkeys2.

Example 5-2. Soubor s klávesovými zkratkami

    Mod1 Tab :NextWindow
    Mod1 F1 :Workspace 1
    Mod1 F2 :Workspace 2
    Mod1 F3 :Workspace 3
    Mod1 F4 :Workspace 4
    Control n Mod1 n :NextTab

Tak, jak můžete vidět, jako první je modifikační klávesa, potom normální klávesa (potom znovu modifikační klávesa a normální klávesa, pokud chcete mít delší sekvenci) a dvojtečka a za ní událost.

Pro seznam použitelných událostí čtěte trochu dále v tomto dokumentu.

A proč je tohle všechno pro vás užitečné? Nyní můžete například ovládat xmms:

Example 5-3. XMMS keybindings

    Mod1 P :ExecCommand xmms -p
    Mod1 F :ExecCommand xmms -f

Pokud máte nějaké dodatečné klávesy (multimediální klávesy), můžete tímto způsobem ovládat xmms tímto způsobem, pokud máte tyto klávesy správně nastaveny v XFree86:

Example 5-4. Multimediální klávesy pro XMMS

    None XF86AudioPlay :ExecCommand xmms -u
    None XF86AudioStop :ExecCommand xmms -s

Měl bych říct, abyste si přečetli xmms --help pro více informací, to možná právě teď děláte...


Názvy kláves

Možná se nyní ptáte jak zjistit jména kláves. Spusťte xev, posuňte kurzor myši na nově otevřené okno a stiskněte klávesu a uvidíte co to o ní řekne. Zde je příklad po stisknutí šipky doprava:

Example 5-5. výstup xev pro šipku doprava

    KeyPress event, serial 18, synthetic NO, window 0x2c00001,
    root 0x60, subw 0x0, time 3745737930, (373,380), root:(504,526),
    state 0x10, keycode 102 (keysym 0xff53, Right), same_screen YES,
    XLookupString gives 0 characters:  ""

Důležitou hodnotou je jméno klávesy, což je to uvnitř závorky, společně s keysym. V tomto příkladu to je (keysym 0xff53, Right). Takže jméno klávesy je Right.

Speciální klávesy

Pro vaše pohodlí jsou tu některé speciální klávesy. Nezapomeňte, že je xev zobrazí okamžitě jakmile je zmačknete (ne jako modifikační klávesy pro ostatní klávesy).

KlávesaOznačení v X11
Control, StrgControl
AltMod1
Super, Meta, Win* KeysMod4


Události

Zde jsou události, které Fluxbox v současnosti nabízí. Zahrnují většinu akcí, které chce ovládat klávesovými zkratkami. Nezapomeňte že v souboru kláves by měl být poslední znak před událostí :.

Události rozlišují malá a velká písmena.

Table 5-1. Navigace

UdálostVýsledek
WorkspaceJdi na plochu xy. Použijte :Workspace 1, :Workspace 2, apod.
NextTabPřepne na další tab ve skupině.
PrevTabPřepne na předchozí tab ve skupině.
NextWindow NJdi na další Okno. Popisuje Poznámka 1.
PrevWindow NJdi na předchozí okno. Opět popisuje Poznámka 1.
NextWorkspacePřejde na další plochu.
PrevWorkspacePřejde na předchozí plochu.
NextGroup, PrevGroup Jdi na další/předchozí okno ve skupině.
LeftWorkspaceStejné jako PrevWorkspace.
RightWorkspaceStejné jako NextWorkspace.

1. NextWindow / PrevWindow: NextWindow/PrevWindow má číselný argument, který je trochu komplikovanější, než aby byl vysvětlen v předchozí tabulce. Tak tedy jak to funguje:

Celočíselný parametr, který určuje nastavení z následující tabulky a potom ORed:

HodnotaVýznam
1Přeskoč lower taby (používej skupinu tabů jako jedno okno).
2Přeskoč přilepená (stick) okna.
4Přeskoč zabalená (shade) okna.

Tady je výčet hodnot parametrů, které oceníte. Výsledek je parametr pro NextWindow/PrevWindow. Nebo můžete použít hodnotu z této tabulky:

ParametrVýznam
0Bez přeskakování.
1Přeskoč lower taby.
2Přeskoč přilepená okna.
3Přeskoč lower taby/přilepená okna.
4Přeskoč zabalená okna.
5Přeskoč lower taby/zabalená okna.
6Přeskoč přilepená okna/zabalená okna.
7Přeskoč lower taby/přilepená okna/zabalená okna.

Table 5-2. Operace s okny

UdálostVýsledek
CloseZavře okno.
KillWindowObdoba zavolání xkill a klepnutí na okno.
MinimizeTaké známé jako "iconify". Zminimalizuje okno.
ShadeWindowDá okno do 'zabaleného' stavu, nebo ho obnoví z 'zabaleného' stavu.
StickWindowPřepíná 'přilepenost' okna.
ToggleDecorPřepíná zda současné okno má či nemá rám, tlačítka, a nadpis.
RaiseVyzdvihne okno 'navrch', objeví se okny které ho překrývají.
LowerOpak Raise.
NextTab, PrevTabAktivuj další, předchozí tab.
MoveTabLeft, MoveTabRightPosune tab o n tabů doleva/doprava.
DetachClient Odpojí klienta ze skupiny tabů.

Table 5-3. Velikosti oken

UdálostVýsledek
HorizontalIncrementRozšíří okno o jednu jednotku (Vysvětluje Poznámka 2).
HorizontalDecrementOpak k HorizontalIncrement
VerticalIncrementZvýší výšku okna o jednu jednotku (Vysvětluje Poznámka 2).
VerticalDecrementOpak VerticalIncrement
MaximizeHorizontalHorizontální maximalizace okna.
MaximizeVerticalVertikální maximalizace okna.
MaximizeWindowMaximalizace okna.
ResizeZměnit velikost okna o konkrétní deltu, například změna o -8 -8.
ResizeHorizontalPouze horizontální změna.
ResizeVerticalPouze vertikální změna.
ArrangeWindowsMagicky rozmístit okna.
ShowDesktopMinimalizace všech oken.

2. HorizontalIncrement / HorizontalDecrement / VerticalIncrement / VerticalDecrement: Mluvíme o zde "jedné jednotce", když popisujeme změnu velikosti. Tady v tomto případě to odpovídá xterm/aterm/Eterm změnám, místo změny o jeden pixel. Přibyde místa o velikosti jednoho znaku.

U ostatních programů by se měla měnit velikost o jeden pixel.

Table 5-4. Pohyb s okny

UdálostVýsledek
SendToWorkspacePošle aktuální okno na definovanou plochu. Použijte :SendToWorkspace 1
MovePosun o delta-x delta-y.
MoveLeftPosun doleva.
MoveRightPosun doprava.
MoveUpPosun nahoru.
MoveDownPodun dolu.

Table 5-5. Různé

UdálostVýsledek
AbortKeychainZruší zadávání kláves, zejména užitečné při víceřetězových klávesových zkratkých.
ExecCommandVykonej příkaz. Například :ExecCommand xmms -t.
RootMenuZobrazit hlavní nabídku.
WorkSpaceMenuZobrazit Workspace Menu.
RestartRestartovat Fluxbox.
ReconfigureZnovunačíst konfiguraci Fluxboxu. Např. pokud byl změněn soubor keys, avšak init a slitlist by měly být zapsány před načtením.
SetStyleNačte zadaný soubor.
SetWorkspaceNameNastaví jméno plochy.
SaveRCZapíše soubory.
QuitVypne Fluxbox.

Chapter 6. Tapety na plochu

Fluxbox, stejně jako Blackbox, má pro tapety dvě utility - Ve skutečnosti mají stejná jména jako mají v Blackboxu: bsetroot a bsetbg. Podívejme se jak pracují.

bsetroot

bsetroot je ekvivalent xsetroot. Může nastavovat tapety, pokud jsou jednoduché, jako jedobarevné pozadí. bsetroot může také nastavit barevné přechody.

bsetbg

bsetbg je program vyšší úrovně. Je to v podstatě obal pro jiné utility, které umí nastavit pozadí, jako je wmsetbg, Esetroot, program display z ImageMagick, atd. Pokud je spuštěn poprvé, vytvoří konfigurační soubor ~/.fluxbox/bsetbg, který nastaví který program to může použít. Kdykoliv to můžete upravit a vybrat si který použít. Pro použití 'transparentních' aplikací, jako je xchat a Eterm, byste měli použít wmsetbg nebo Esetroot.

Změny tapet u témat

Jedna z nevýhod kterou Blackbox má je, že pozadí totálně závislé na tématu. Kdykoliv změníte téma, změníte také pozadí na to, které určuje to které téma. Mnoho lidí nemá rádo toto chování. Takže Fluxbox má způsob jak to napravit. Do souboru ~/.fluxbox/init přidejte rádku jako je tato:

        session.screen0.rootCommand: bsetbg -f ~/backgrounds/zimdib_dark.png

A cokoliv jste tam nastavili bude vaše pozadí, nezávisle na tom co je nastaveno v tématu.


Chapter 7. Slit

Jedna z nejčastěji kladených otázek je "Co to je slit?" Když byl tento dokument napsán, tak jsem ve FAQ vytvořil odkaz na tuto sekci, za účelem zastavení kladení otázek na #fluxbox desekrát za den, a skončit mýtus o Slitu, že je to jiné jméno pro Toolbar.

Slit je jedna z mnoha částí Fluxboxu, které zdědil z Blackboxu. Je navržen pro běh dokových aplikací (apletů) WindowMakeru, (vše co běží v tomto módu, který se jmenuje 'withdrawn' nebo (méně často) 'swallowed'). Takové aplikace často mají parametr-w, ale některé běží automaticky v módu withdrawn.

Jako první věc se musíte ujistit, že toto je zakompilováno ve vaší kopii Fluxboxu. Obecně lze předpokládat že ano. Pokud si vzpomínám, všechny balíčky pro různé distribuce toto mají. Pokud si myslíte, že vám bude bez toho lépe, můžete to zakázat během kompilace. Ačkoliv nepoužitý slit nezabírá prostor obrazovky a zabere jen velmi málo paměti, takže obvykle není nutné to zakázat, pokud to nezasahuje nějaký jiný software který používáte.

Jinak můžete spustit jakoukoliv 'dokovou' aplikaci. (Také známé jako běžet v módu 'withdrawn'). Jako příklad, xmms přichází s aplikací wmxmms. Jednoduše spusťte wmxmms &, a ono se to objeví ve slitu. Jak jsem se dříve zmínil, některé aplikace (například gkrellm) potřebují parametr -w aby se spustily ve Slitu.

Kde můžu získat aplety?

Pro začátek je nejlepší Dockapp warehouse. Tam je k dispozici velké skladiště různých apletů. Nemluvě o tom že můžete prohledat Freshmeat, nebo prohledat vaši distribuci.

Stránka bbtools nabízí také nějaké utility pro Blackbox/Fluxbox, ze kterých může spousta běžet ve slitu.

Pokud máte zapnutou podporu pro KDE, aplety KDE se budou objevovat ve slitu.

Dockapps.Org je nový web exklusivně věnovaný apletům.

Jak změním chování slitu?

Samozřejmě. Jednoduše klepnete pravým tlačítkem myši na viditelnou část slitu a vyberete si z nabídky. Většina nastavení je stejná jako u Taskbaru. Jediná věc, která není je Direction. Váš slit může běžet buď Horizontálně nebo Vertikálně.

Také tam je položkaMaximize Over Slit; to umožní maximalizovaným oknům překrývat slit.

Chci aby si aplety ve slitu pamatovaly pořadí!

Ve Fluxboxu 0.1.10 a novějším to je možné, a to použitím souboru slitlist. Tady jsou nějaké instrukce jak to použít.

Aktuální pořadí apletlů je zapsáno v souboru, jako výchozí je to ~/.fluxbox/slitlist. Když se načítají aplety do slitu, pokusí se udržet předchozí pořadí, pomocí jmen předtím spuštěných apletů.

Jednoduchý způsob jak nastavit pořadí ve slitu způsobem jakým chcete je:

Řazení apletů

  1. Spusťte Fluxbox bez přednačtených apletů.

  2. Spusťte aplety individuálně v tom pořadí v jakém je chcete mít.

  3. Znovu přidejte aplety do vašeho startovního skriptu, například .xinitrc nebo .xsession. Zde nehraje pořadí roli.

Toto pořadí je jako výchozí uloženo do ~/.fluxbox/slitlist a bude spravováno v budoucích sessions Fluxboxu.

Máte možnost si ručně upravit soubor slitlist. Je to jednoduchý seznam jmen oken, jedna řádka na aplet. Tento soubor by neměl být přepisovám za běhu Fluxboxu. Jinak by úpravy mohly být přepsány.

Máte také možnost vybrat si jinou cestu pro soubor s řazení ve slitu. Následující příklad souboru init mění položku s cestou k souboru:

Example 7-1. Specfikace slitlistu

    session.slitlistFile: /home/me/etc/slitsort

Není žádné nastavení pro úplné zakázání řazení. Autor patche nevidí žádné využití pro svévolné nebo náhodné řazení apletů.


Chapter 8. Toolbar

Toolbar je malá plocha pro zobrazování informací, jako je čas, nebo tlačítek běžících aplikací.

Je nastaven přes init a style soubory. Init nastavení se obvykle mění přes menu toolbaru.

Toolbar můžete vypnout(nezobrazovat) nastavením session.screen0.toolbar.visible: false v souoru init.

Zobrazované pomůcky můžete nastavit v resource souboru, obvykle .fluxbox/init, pomocí záznamu toolbar.tools.

Example 8-1. příklad toolbar.tools

session.screen0.toolbar.tools: clock, iconbar, workspacename
Možné pomůcky: workspacename, prevworkspace, nextworkspace, iconbar, systemtray, prevwindow, nextwindow, clock

Délku, průhlednost a vrstvu toolbaru lze nastavit přes menu toolbaru. To se zobrazí po kliknutí pravým tlačítkem na hodiny, nebo zobrazovač pracovní plochy na toolbaru.

Iconbar může být nastaven pro různé zobrazování otevřených/ikonifikovaných oken : None, Icons from all workspaces, Workspace Icons, all windows from Workspace, All Windows from all workspaces.

Vzhled toobaru je definován v souboru stylů.


Chapter 9. Editace menu

Tak, Fluxbox je nainstalován a při kliku pravým myšítkem na plochu na vás vybafne to mocné menu - spouštěč aplikací. V případě, že si ho upravíte dle svých potřeb a přaní, je to opravdu užitečná věc. Účelem tohoto dokumentu je vám v tom pomoct.

Pro začátek existuje pěkná utilita dodávaná s Fluxboxem - fluxbox-generate_menu. Jejím úkolem je procházet cesty různých často instalovaných programů, např. internetových prohlížečů a terminálových emulátorů, ve vašem systému a stvořit soubor menu. fluxbox-generate_menu detailně popisuje the Section called fluxbox-generate_menu in Chapter 3.


Nastavení cesty k souboru menu

Fluxbox menu je standardně nastaveno na ~/.fluxbox/menu. Toto nastavení můžete samozřejmě změnit, a to ve vašem souboru init. Tady je příklad takového řádku :

Example 9-1. Nastavení souboru menu

    session.menuFile:       ~/.fluxbox/menu

Jednoduše změňte ~/.fluxbox/menu chcete-li použít jiný menu soubor. Standardní struktura by však měla většině lidí vyhovovat.


Dostupné příkazy

Fluxbox menu je pouze textový soubor, který umožňuje vytváření podadřesářů, spouštění aplikací, ovládání pracovních ploch, nastavení Fluxboxu a opustit X. Menu rozeznává následující příkazy :

    [begin] (NadpisMenu)
    [submenu]  (NazevPodmenu) {NadpisPodmenu}
    [exec] (NazevAplikace) {/cesta/k/programu}
    [include] (/cesta/k/programu)
    [end]
    [nop] (--------)
    [workspaces] (NazevPodmenu)
    [stylesdir] (/cesta/k/adresari/se/styly)
    [config] (NastaveniFluxboxu)
    [reconfigure] (Prenastaveni)
    [restart] (Restart)
    [exit] (Exit)

Většina příkazu mluví sama za sebe. Položky s velkými písmeny jsou slova, která se zobrazí v menu. Rozeberu hlouběji význam jednotlivých položek. Jen tak mimochodem, neexistuje žádný limit v sobě vnořených podmenu. Snad jen ten čistě praktický...

[nop] - umožňuje do menu vložit text, nebo prázdný řádek, který nebude nic spouštět, bude v menu sloužit čistě jako oddělovač.

[reconfigure] - použijete-li menu ke změně nastavení Fluxboxu, změny budou ztraceny po odchodu z Fluxboxu. Pro uložení je třeba změny zapsat do souboru init, čehož docílíte kliknutím na položku reconfigure po provedení požadovaných změn.

[restart] - jen aby bylo jasno, restart restartuje pouze Fluxbox, nikoliv celý systém.

Example 9-2. menu

       # Fluxbox menu file
       [begin] (Fluxbox)
         [exec] (rxvt) {rxvt -ls}
         [exec] (netscape) {netscape -install}
         [exec] (The GIMP) {gimp}
         [exec] (XV) {xv}
         [exec] (Vim) {rxvt -geometry 132x60 -name VIM -e screen vim}
         [exec] (Mutt) {rxvt -name mutt -e mutt}
         [submenu] (mozilla)
           [exec] (browser) {mozilla -browser}
           [exec] (news) {mozilla -news}
           [exec] (mail) {mozilla -mail}
           [exec] (edit) {mozilla -edit}
           [exec] (compose) {mozilla -compose}
         [end]
         [submenu] (Startup)
           [exec] (gkrellm) {gkrellm -w}
           [exec] (xmms) {xmms -p}
           [exec] (galeon) {galeon -s}
           [exec] (kdeinit) {kdeinit}
         [end]
         [submenu] (Window Manager)
           [exec] (Edit Menus) {nedit ~/.fluxbox/menu}
           [submenu] (Style) {Which Style?}
             [stylesdir] (~/.fluxbox/styles)
             [stylesmenu] (Fluxbox Styles) {/usr/local/share/fluxbox/styles}
           [end]
           [config] (Config Options)
           [reconfig] (Reconfigure)
           [restart] (Restart)
         [end]
         [exit] (Log Out)
       [end]
       # end of menu file

případně prozkoumejte soubor menu, který je dodáván s Fluxboxem.


Chapter 10. Vzhled

Základy

Touto sekcí přispěl Justin Rebelo alias "demerol".

Co je to styl a jak to funguje?

Styl v podstatě určuje vzhled Fluxboxu. Je to prostý ASCII textový soubor, podle kterého Fluxbox vygeneruje zevnějšek různých částí okenního manažeru. Soubor je obvykle uložen v ~/.fluxbox/styles a v globálním share adresáři Fluxboxu, jehož umístění závisí na Vaší instalaci Fluxboxu.

Jak vytvořím svůj vlastní styl?

Nejdříve si otevřete nějaký styl ve Vašem oblíbeném textovém editoru (já doporučuji vim). Podívejte se na jeho strukturu a uspořádání. Už jen tento pohled Vám dá odpověď na spoustu otázek, které byste mohli mít.

Struktura stylu

Styl je tvořen několika hlavními částmi, které mají své vlastní direktivy. Mezi hlavní části patří toolbar, menu a window. Direktivy window.* určují vzhled orámování oken, window.tab.* určují vzhled horní lišty oken. menu.* nastavují okno, které uvidíte po zmáčknutí pravého tlačítka myši na ploše. toolbar.* je lišta, kterou vidíte na horním nebo spodním okraji Vaší obrazovky. Zevnějšek slitu (v jiných WM také nazýván dock nebo wharf) určuje nastavení toolbar a to i v případech, kdy je nemáte nastaveno.

Jak můžu změnit nastavení slitu?

Slit kopíruje nastavení toolbar a ve většině případů to vystačí. Pokud chcete nastavit výhradně slit použijte následující direktivy:

    slit: [texture option]
    slit.color: [color value]
    slit.colorTo: [color value]

Tyto direktivy slitu pracují stejně jako u menu, window atd.

Můžu nějak změnit barvu nebo obrázek pozadí?

Někde v konfiguračním souboru stylu můžete vidět řádek s direktivou rootCommand na jeho začátku a tato je nejčastěji následována příkazem (pravděpodobně bsetbg) k nastavení obrázku nebo barvy pozadí stylu. Můžete použít jiný příkaz rootCommand než bsetbg, ale toto bych nedoporučoval. bsetbg volá další příkazy k nastavení obrazovky. Takto můžete nastavit, který program chcete použít (Esetroot např.) a ten bude použit ve všech stylech, které užívají bsetbg.

Je možné vytvářet v souborech stylu vytvářet komentáře?

Jistě, stačí přidat na začátek řádky křížek (#), vykřičník (!), nebo použijte komentáře ve stylu C++ (//).

Ještě stále mám spoustu otázek...

Podívejte se na soubory stylů dodávané s Fluxboxem, měli byste v nich najít odpovědi na Vaše otázky, případně zkuste jiná nastavení. Pokud stále ještě nerozumíte, zastavte se na #fluxbox na OPN. Moje přezdívka je demerol.


Pokročilé nastavování stylů

Většina v této sekci je převzata (nebo je silně ovlivněna) manuálovými stránkami Fluxboxu 0.1.13. Obvykle mají manuálové stránky konečné slovo v této záležitosti, ale přesto může být tento dokument nápomocný začátečníkům.

K pochopení principu na jakém jsou založeny styly ve Fluxboxu je dobré alespoň něco málo tušit o tom, jak pracují X11 zdroje (resources).

X11 zdroje se skládají z klíče a hodnoty. Klíč se skládá z několika menších klíčů (někdy nazývaných jako potomci) odělených tečkou (.). Klíče mohou obsahovat znak hvězdička, které se používají k zastoupení různých hodnot na stejné pozici klíče (*). To je užitečné u stylů, které jsou založeny na jedné nebo dvou barvách.

Fluxbox Vám dovoluje změnit jeho tři hlavní části. Je to toolbar, menu a dekorace oken. Slit automaticky přebírá nastavení toolbaru, ale pokud je potřeba, může být změněn. Malé okýnko ukazující pozici okna v souřadnicích když přetahujete okno bere nastavení z lišty oken.

Zde je jednoduchý příklad k objasnění syntaxe:

Example 10-1. Styl hodin na toolbaru

    toolbar.clock.color:  green

Toto změní nastavení hodin toolbaru na zelenou. green. Další příklad:

Example 10-2. Styl menu

    menu*color: rgb:3/4/5

Toto změní barvu menu a všech jeho potomků na barvu rgb:3/4/5. K objasnění způsobu kódování barev se podívejte do manuálových stránek X11. Takže toto změní menu.title.color a menu.frame.color. A dále:

Example 10-3. Styl fontů písma

    *font: -b&h-lucida-medium-r-normal-*-*-140-*

Toto nastaví zdroje klíčů fontů najednou na tento font. K zjištění toho, jaké máte nainstalované fonty použijte programy jako xfontsel, gfontsel, or xlsfonts.

Co dělá Fluxbox tak úžasným je jeho schopnost renderovat textury za běhu. Popisy textur jsou přímo určeny klíči, takže to potom vypadá asi takto:

Example 10-4. Styl textury

    toolbar.clock:   Raised Gradient Diagonal Bevel1
    toolbar.clock.color: rgb:8/6/4
    toolbar.clock.colorTo: rgb:4/3/2

Nemějte obavy, ihned Vám vysvětlíme jak příkazy pracují. Popis textury se zkládá až z pěti polí, které můžou vypadat následovně:

Table 10-1. Příkazy textur

PříkazPopis
Flat / Raised / Sunken / Tiled

dává komponentám hladký, zvýšený nebo propadlý vzhled.

Propadlý účinkuje pouze na pixmapy aniž by měnil jejich velikost.

Gradient / Solidkreslí buď plný nebo vystouplý typ textury.
Horizontal / Vertical / Diagonal / Crossdiagonal / Pipecross / Elliptic / Rectangle / PyramidVybírá jednu z těchto textur. Tyto pracují jen pokud je nastaven typ textury Gradient.
Interlacedprokládá texturu (ztmavlý každý druhý řádek). Tato volba je nejvíce užívána společně s vystouplými texturami, ale počínaje Blackboxem verze 0.60.3 (a tím i ve všech verzích Fluxboxu) funguje i u plných textur.
Bevel1 / Bevel2druh zkosení hran. Bevel1 je přednastavený. Stínování je umístěno na okraji obrázku. Bevel2 je další možnost. Stínování je umístěno jeden bod dovnitř obrázku.

Kromě popisu textur je dostupná také volba ParentRelative, která dává komponentám stejný vzhled, jaký má jeho rodič.

Všechny vystouplé textury jsou složeny ze dvou barev: color a colorTo zdroje (resources). Pokud je textura Interlaced (prokládaná) v Solid módu, colorTo zdroj určuje prokládací barvu.

Kompletní seznam všech komponent a druhy hodnot, které mohou obsahovat, můžete najít na Appendix C.

Možná se Vám zdá seznam příliš obsáhlý, ale pamatujte, že když vytváříte svůj vlastní styl, můžete jednoduše nastavit spoustu hodnot pomocí jednoho příkazu, např.

Example 10-5. Typický krátký styl

    *color:             slategrey
    *colorTo:           darkslategrey
    *unfocus.color:     darkslategrey
    *unfocus.colorTo:   black
    *textColor:         white
    *unfocus.textColor: lightgrey
    *font:              lucidasans-10

Appendix A. Nastavení .xinitrc/.xsession

Přispěl Verin.

Pár slov o xinit

Správce oken je jen další aplikace pro X11, stejně tak jako netscape nebo gimp nebo xterm. Mnoho lidí neznalých X11 si myslí, že X11 ovládá správce oken a správce ovládá další programy. Ale to není pravda. Ve správné konfiguraci můžete spouštět všechny aplikace přímo pod X11, zavřít správce oken a dalšího správce oken zase spustit.

Jediný skutečný program, který X11 spouští a který spouští další programy je Váš .xinitrc nebo .xsession skript. Když jsou X11 spuštěny, .xinitrc nebo .xsession je spuštěn také a když je tento skript ukončen, X11 jsou ukončeny stejně tak. Dovolte mi to zopakovat, je to důležité: když je .xinitrc ukončen, je to proto, že X končí. Ne proto, že končí Váš okenní manažer.

Uspořádání skriptů

Dobře, nejdříve si připomeňme to, co již víme. Když spustíte program z příkazové řádky, nemůžete dělat nic jiného dokud program není hotov, dokud neskončí. Váš .xinitrc nebo .xsession skript se chová stejně tak. Když je spuštěn a provádí příkazy jeden po druhém a narazí na program, jehož vykonávání zabere dlouhou dobu (většina X11 programů), zastaví se vykonávání skriptu do té doby, dokud spuštěný program neskončí.

Ideálně byste měli mít jen jedno místo, kde skript zůstane 'viset'. A obvykle byste měli chtít, aby to bylo na jeho konci. Takže, pokud máte v úmyslu spouštět programy pod X11 před tím, než skript dosáhne místa, kde zůstane 'viset', musíte je spouštět na pozadí. Jen vložíte & na konec řádky. Takže, řekněme že chcete spustit xclock spolu s dalšími programy, potom vložte tento řádek před konec vašeho skriptu:

    xclock &

Další věc je příkaz exec, jehož použití doporučuje mnoho zdrojů jako spouštěcí mechanizmus okenního manažeru do Vašich skriptů. Toto není bezpodmínečně nutné, protože pokud umístíte název spouštěcího souboru správce oken na poslední řádek skriptu, fungování se bude jevit stejné jako s exec.

Takže proč vůbec exec použít? Řekněme, že chcete vložit více startovacích příkazů různých okenních manažerů do skriptu a zároveň chcete aby se spouštěl pouze jeden správce oken. S příkazem exec můžete startovací příkaz vybraného správce oken umístit jako první nad všechny ostatní startovací příkazy dalších okenních manažerů, neboť příkaz exec znamená toto:

"Nahraď mě samotného tímto programem, tzn. spusť program a když tento program skončí, ukonči mě také. "

Tedy pokud vložíte např. řádek exec wmaker nad exec enlightenment potom, když je wmaker ukončen, je ukončen i skript, který nikdy nepokračuje na další řádek.

Už tedy víte, proč jej pokládám za nepříliš důležitý? Můžete právě tak vložit hromadu zakomentovaných startovacích řádků správců oken a fungovalo by to stejně.

Další možnosti

Alternativně můžete okenní manažer spustit jako první, a uchovat si ID jeho procesu v proměnné prostředí:

        wmaker & wmpid=$!

spouští program na pozadí(&) a uchovává ID ($!) jeho procesu v proměnné (wmpid). K vytvoření čekacího bodu potom použijte wait:

    wait $wmpid

nebo můžete zůstat 'viset' na programu, který užíváte vždy, jako např. gkrellma to pouze tím, že jej nespustíte na pozadí. Ale pamatuje, že jakmile tento program ukončíte, Vaše X11 skončí také.

Já nyní používám způsob s wait, protože si rád vybírám okenní manažer předtím, než spustím dokované a jiné programy. Také předtím, než začnu cokoliv jiného, upravím nastavení X11 serveru jako např. dpms, šetřič obrazovky a dokonce přidám nějaké adresáře do cesty k fontům (fonty, které nechci instalovat globálně pro celý systém). A potom, když je všechno hotovo, zase přidané cesty k fontům zruším, hlavně proto, že pokud běžel přihlašovací manažer, tento na resetování fontů není vhodný.

Example A-1. .xinitrc

    # vypnout mazání obrazovky a zapnout režim energy star
    xset s off
    xset dpms 600 60 60

    # přidat cestu k mým doplňkovým fontům
    xset +fp "$X_FONTPATH"
    xset fp rehash

    # uložit výpis nastavení prostředí pro případ potřeby ladění
    env > ~/.xenv

    # správce oken
    fluxbox & wmpid=$!

    bbrun &
    wmCalClock &
    wmxmms &

    # ČEKACÍ BOD - čekat dokud neskončí správce oken
    wait $wmpid

    # obnovit původní cestu k fontům
    xset fp default

Appendix B. Často kladené otázky (FAQ)

1. Co to je Slit?
2. Je možnost mít aplety v nějakém pořadí?
3. Jak změním formát času na panelu úloh (taskbar)?
4. Provedl jsem změny v mém souboru ~/.fluxbox/init, ale ty jsou přepisovány.
5. Jak pracují taby?
6. Po té co jsem zapnul Anti-Aliasing, má písma se velice zvětšila! Jak to opravím?
7. Zdá se že nemohu použít staré písmo Snap s AA... O co jde?
8. Stále slyším o těch písmech Artwiz. O co jde?
9. Jak si mohu nastavit pozadí (tapetu)?
10. Pozadí se změní na ošklivé, když měním témata.
11. Mohu použít svůj již existující .blackboxrc pro Fluxbox?
12. Jak se dají spustit programy automaticky po spuštění Fluxboxu?
13. Mohu použít Blackboxové styly (témata) s Fluxboxem?
14. Jak nastavím svoje soubory .xinitrc/.xsession?
15. Je zde podpora pro KDE?
16. Je zde podpora pro Gnome?
17. BBtools nepoužívají moje současné nastavení stylů, dokonce ani po restartu.
18. Taby vypadají ošklivě s některými styly, jak to opravím?
19. Jak dostanu ikony na plochu Fluxboxu?
20. Fluxbox 0.9.6 je pomalý...

1. Co to je Slit?

První věc, kterou se o Slitu dozvíte je, že to není panel úloh Fluxboxu.

Slit je místo, kde mohou být umístěny dokové aplikace (aplety). Máme celou kapitolu věnovanou Slitu: Chapter 7. Přečtěte si ji než se začnete ptát co je slit a jak pracuje.

2. Je možnost mít aplety v nějakém pořadí?

S Fluxboxem verze 0.1.10 nebo vyšší ano. Vysvětlení je v Chapter 7.

3. Jak změním formát času na panelu úloh (taskbar)?

Změňte tento řádek ve vašem souboru init:

session.screen0.strftimeFormat: %a %d %H:%M

Pro informace o formátu spusťte man 3 strftime na vašem počítači.

4. Provedl jsem změny v mém souboru ~/.fluxbox/init, ale ty jsou přepisovány.

To je chyba ve verzích Fluxboxu předcházejících verzi 0.1.8-bugfix2. Prosím nainstalujte si poslední verzi / opravu chyb, než budete tuto chybu hlásit.

5. Jak pracují taby?

Vysvětluje Chapter 4.

6. Po té co jsem zapnul Anti-Aliasing, má písma se velice zvětšila! Jak to opravím?

S příchodem Fft jsou písma spravována jinak. Pro začátečníky: zkuste specifikovat v souboru vašeho Tématu:

*.font: Verdana:size=7

Samozřejmě můžete použít jiný druh písma a velikost, ačkoliv tento příklad by měl nabídky učinit použitelné. Pro informace o typech písma, které můžete použít, si přečtěte nasledující otázku. question.

7. Zdá se že nemohu použít staré písmo Snap s AA... O co jde?

Při zapnutí AA ve Fluxboxu závisí zobrazování znaků na Freetype2. Pokud nepoužíváte AA, může být použito nativní zobrazování písem z X11. Tím, že FT2 nepodporuje všechny formáty, které X11 podporuje, stává se výber písem pro Fluxbox ometeným. Když toto píšu, FT2 podporuje následující formáty:

  • TrueType soubory (.ttf) and sbírky (.ttc)

  • soubory písem Type 1 v ASCII (.pfa) nebo binárním (.pfb) formátu

  • písma Type 1 Multiple Master

  • písma Type 1 CID-keyed

  • písma OpenType/CFF (.otf)

  • písma CFF/Type 2

  • písma Adobe CEF (.cef)

  • Windows FNT/FON bitmapová písma

Na druhou stranu FreeType 1 podporuje pouze písma TrueType , ačkoliv podpora pro písma GX a OTF může být umožněna použitím jiné knihovny. Podrobnosti mohou být nalezeny na domovské stránce Freetype.

8. Stále slyším o těch písmech Artwiz. O co jde?

To vysvětluje Appendix D

Pokud se vám líbí písma Artwiz, ale nelíbí se vám jak vypadají v terminálech, zvažte vyzkoušení balíku písem LFP, z Linux Font Project. Jsou tam dvě sady písem, The LFP Fixed-Width Fonts (vhodné pro terminály), a LFP Variable-Width Fonts (vhodné pro ostatní věci). Písma s pevnou šířkou jsou rovněž k dispozici pro Linuxovou konzoli.

9. Jak si mohu nastavit pozadí (tapetu)?

Vysvětluje Chapter 6.

10. Pozadí se změní na ošklivé, když měním témata.

Řešení obsahuje Chapter 6.

11. Mohu použít svůj již existující .blackboxrc pro Fluxbox?

Jistě že můžete, ale nezapoměňte přidat nějaké řádky pro titlebar a keygrabbing. Možná by bylo moudré nějak symbolicky nalinkovat váš blackboxrc a ~/.fluxbox/init.

12. Jak se dají spustit programy automaticky po spuštění Fluxboxu?

Ukazuje Appendix A.

13. Mohu použít Blackboxové styly (témata) s Fluxboxem?

Ano. Tarbally pro oba balíčky by měly být 100% zaměnitelné. To by mělo platit i pro projekty Waimea a Openbox, ačkoliv to nemohu zaručit. Neviděl jsem žádný takový slib od ani jednoho z těchto projektů, ale jeden z cílů Fluxboxu je zůstat kompatibilní s Blackboxovými styly.

14. Jak nastavím svoje soubory .xinitrc/.xsession?

Ukazuje Appendix A.

15. Je zde podpora pro KDE?

Ano! U configure použijte parametr --enable-kde. To zajistí, že se lištové ikony KDE objevují ve Slitu.

16. Je zde podpora pro Gnome?

Ano! U configure použijte parametr --enable-gnome. To umožní pokyny Gnomu. Ve verzích Fluxboxu 0.1.12 a pozdějších je to přednastavené.

17. BBtools nepoužívají moje současné nastavení stylů, dokonce ani po restartu.

Jednoduše nalinkujte váš ~/.blackboxrc na ~/.fluxbox/init, například tímto příkazem:

    $ ln -s ~/.fluxbox/init ~/.blackboxrc

18. Taby vypadají ošklivě s některými styly, jak to opravím?

0.1.14 nebo předcházející verze.

Aby taby vypadaly lépe, musíte přidat některé extra položky do vámi požadovaného stylu (tématu). Ačkoliv to nemusíte dělat, Fluxbox sám je velmi schopný v nastavování tabů na požadované barvy/styly, ale pokud chcete větší kontrolu nad tím jak vypadají, budete asi chtít přídat pár řádků jako tyto:

Example B-1. Upravené taby v souboru stylu

    ! -- tab style (for Fluxbox)
    window.tab.justify:                     Right
    window.tab.label.unfocus:               Flat Solid
    window.tab.label.unfocus.color:         rgb:AC/AC/AC
    window.tab.label.unfocus.textColor:     black
    window.tab.label.focus:                 Raised Solid
    window.tab.label.focus.color:           rgb:CC/CC/CC
    window.tab.label.focus.textColor:       black
    window.tab.borderWidth:                 1
    window.tab.borderColor:                 rgb:10/10/10
    window.tab.font:                        fixed
    ! --- end, tab style

Dobře, co tohle všechno potom udělá? To samé jako jakákoliv ostatní věc v tématu, jsem si jist, že to pochopíte, pokud jste někdy předtím vytvořili téma pro Blackbox (Chapter 10 může být zajímavá pokud ne).

Pokud styl obsahuje některé extra položky, bude stále perferktně pracovat v Blackboxu, takže jejich přidáním nic neztratíte.

19. Jak dostanu ikony na plochu Fluxboxu?

Fluxbox má svůj vlastní zpřátelený program pro tento druh funkcí, jmenuje se fbdesk. fbdesk v současnosti není přibalen s Fluxboxem. Existují také alternativy: RoxFiler projekt, idesk, xdesk.

20. Fluxbox 0.9.6 je pomalý...

Přidejte následující řádku do vašeho .xinitrc než spustíte Fluxbox:

export LC_ALL=C

by mělo pomoci na novějších RedHatech.


Appendix C. Styly - referenční seznam

Příkazy pro styly

Toto je kompletní seznam dostupných direktiv určující jaké parametry je možné jim přiřadit. Podrobnosti o direktivách najdete v Chapter 10.

Table C-1. Styl nástrojové lišty

toolbarTextura
toolbar.heightČíslo
toolbar.colorBarva
toolbar.colorToBarva
Tlačítka
toolbar.buttonTextura nebo ParentRelative
toolbar.button.colorBarva
toolbar.button.colorToBarva
Barva šipek nezmáčkutých tlačítek
toolbar.button.picColorBarva
Zmáčknutá tlačítka
toolbar.button.pressedTextura (např. Sunken) nebo ParentRelative
toolbar.button.pressed.colorBarva
toolbar.button.pressed.colorToBarva
Barva šipek zmáčknutých tlačítek
toolbar.button.pressed.picColorBarva
Štítek plochy
toolbar.labelTextura neboParentRelative
toolbar.label.colorBarva
toolbar.label.colorToBarva
toolbar.label.textColorBarva
štitek plochy
toolbar.workspaceTextura nebo ParentRelative
toolbar.workspace.pixmapPixmapa
toolbar.workspace.colorBarva
toolbar.workspace.colorToBarva
toolbar.workspace.textColorBarva
toolbar.workspace.fontFont
štítek okna
toolbar.windowLabelTextura nebo ParentRelative
toolbar.windowLabel.colorBarva
toolbar.windowLabel.colorToBarva
toolbar.windowLabel.textColorBarva
Hodiny
toolbar.clockTextura nebo ParentRelative
toolbar.clock.pixmapPixmapa
toolbar.clock.colorBarva
toolbar.clock.colorToBarva
toolbar.clock.textColorBarva
toolbar.clock.fontFont
Prázdný ikonbar
toolbar.iconbar.emptyTextura nebo ParentRelative
toolbar.iconbar.empty.pixmapPixmapa
toolbar.iconbar.empty.colorBarva
toolbar.iconbar.empty.colorToBarva
toolbar.iconbar.emptyTextura nebo ParentRelative
Zaměřený a nezaměřený ikonbar
toolbar.iconbar.focusedTextura nebo ParentRelative
toolbar.iconbar.focused.pixmapPixmapa
toolbar.iconbar.focused.colorBarva
toolbar.iconbar.focused.colorToBarva
toolbar.iconbar.focused.textColorBarva
toolbar.iconbar.focused.fontFont
Text
toolbar.justifycenter, left, or right
toolbar.fontFont

Table C-2. Styl menu

Název
menu.titleTextura
menu.title.colorBarva
menu.title.colorToBarva
menu.title.textColorBarva
menu.title.fontFont
menu.title.justifycenter, left, or right
Rámeček
menu.frameTextura
menu.frame.colorBarva
menu.frame.colorToBarva
menu.frame.textColorBarva
menu.frame.disableColorBarva
menu.frame.fontFont
menu.frame.justifycenter, left, or right
Odrážky submenu
menu.bulletempty, triangle, square, or diamond
menu.bullet.positionright or left
menu.submenu.pixmapPixmapa
Zvýrazněná položka
menu.hiliteTextura (např. Raised)
menu.hilite.colorBarva
menu.hilite.colorToBarva
menu.hilite.textColorBarva
menu.selected.pixmapPixmapa
menu.unselected.pixmapPixmapa

Table C-3. Styl okna

Název
window.title.focusTextura
window.title.focus.colorBarva
window.title.focus.colorToBarva
window.title.unfocusTextura
window.title.unfocus.colorBarva
window.title.unfocus.colorToBarva
window.title.heightČíslo
Štítek
window.label.focusTextura nebo ParentRelative
window.label.focus.colorBarva
window.label.focus.colorToBarva
window.label.focus.textColorBarva
window.label.unfocusTextura nebo ParentRelative
window.label.unfocus.colorBarva
window.label.unfocus.colorToBarva
window.label.unfocus.textColorBarva

Table C-4. Úchopová lišta

window.handle.focus.colorBarva
window.handle.focus.colorToBarva
window.handle.unfocusTextura
window.handle.unfocus.colorBarva
window.handle.unfocus.colorToBarva

Table C-5. Rámeček přemístění

window.grip.focusTextura
window.grip.focus.colorBarva
window.grip.focus.colorToBarva
window.grip.unfocusTextura
window.grip.unfocus.colorBarva
window.grip.unfocus.colorToBarva

Table C-6. Tlačítka okna

window.button.focusTextura nebo ParentRelative
window.button.focus.colorBarva
window.button.focus.colorToBarva
window.button.focus.picColorBarva
window.button.unfocusTextura nebo ParentRelative
window.button.unfocus.colorBarva
window.button.unfocus.colorToBarva
window.button.unfocus.picColorBarva
window.button.pressed Textura
window.button.pressed.colorBarva
window.button.pressed.colorToBarva

Table C-7. Rámeček okna

window.frame.focusColorBarva
window.frame.unfocusColorBarva

Table C-8. Tab

window.tab.justifyright, left or center
window.tab.label.unfocusTextura
window.tab.label.unfocus.colorBarva
window.tab.label.unfocus.textColorBarva
window.tab.label.focusTextura
window.tab.label.focus.colorBarva
window.tab.label.focus.textColorBarva
window.tab.borderWidthPočet pixelů
window.tab.borderColorBarva
window.tab.fontFont

Table C-9. Font štítku okna

window.fontFont
window.justifycenter, left, or right

Table C-10. Různé

Okraj kreslený kolem všech komponent
borderWidthPočet pixelů
borderColorBarva
bevelWidthPočet pixelů
handleWidthPočet pixelů
frameWidthPočet pixelů
Příkaz vykonaný vždy, když je nahrán nový styl
rootCommandShelový příkaz, např. bsetbg nicepiccy.jpg
Staré BB 0.51 zdroje
menuFontFont
titleFontFont

Appendix D. Fonty Artwiz pro Fluxbox

Úvod

Takzvané Artwiz Fonty jsou fonty vytvořené (překvapivě) člověkem, jehož jméno je Artwiz. Byl tak laskav a vložil balík s jeho fonty na jeho stránky. Můžete si je stáhnout zhttp://www.xs4all.nl/~hanb/software/fluxbox/artwiz-fonts.tar.bz2.

Nemusíte instalovat fonty ručně pokud používáte Mandrivu a RPM. Tento je má již obsaženy v archívu. Pokud Mandrivu nepoužíváte, zde je postup jak fonty instalovat. Jsou dva způsoby, jak fonty instalovat: pro celý systém nebo pouze pro jednotlivého uživatele.

Instalace pro celý systém

Pokud chcete instalovat fonty pro všechny uživatele systému, potom stáhněte balík do adresáře /tmp a pokračujte zadáváním těchto příkazů:

    # cd /usr/X11R6/lib/X11/fonts
    # tar xjf /tmp/artwiz-fonts.tar.bz2
    # cd fluxbox-artwiz-fonts
    # mkfontdir
    # chkfontpath -q -a /usr/X11R6/lib/X11/fonts/fluxbox-artwiz-fonts:unscaled

A restartuje font-server. Vaše distribuce může mít jiné umístění systémových fontů jako např. /usr/share/fonts. Adresář uvedený výše je ovšem většinou používán jako výchozí.

Instalace pro jednotlivé uživatele

Pokud chcete fonty instalovat pouze pro určtého uživatele pak máte méně práce. Stáhněte balík do domovského adresáře a potom:

    $ tar xjf artwiz-fonts.tar.bz2
    $ mv fluxbox-artwiz-fonts .fonts
    $ mkfontdir $HOME/.fonts

Editujte Váš .xinitrc nebo .xsession soubor (závisí na způsobu jakým spouštíte X11) tak, aby obsahoval následující řádky před voláním dalších programů:

    xset +fp $HOME/.fonts

Potom (znovu)spusťte X11 a použijte xlsfonts nebo xfontsel ke zkontrolování jestli jsou fonty správně rozpoznány systémem.

Problémy

Artwiz fonty někdy kolidují s nastavením národního prostředí. Pro zajištění správné funkce musíte vložit následující na začátek vašeho .xinitrc nebo .xsession:

    export LC=C
    export LC_ALL=C

Tato nastavení jsou pro LOCALES, takže pokud fonty stále nefungují tak, jak by měly, nebo máte jiné problémy týkající se LOCALES, řádky zase odstraňte. Existuje ještě další řešení od aleczapka, uvedené níže.

A zde je řešení jak užívat Vaše národní nastavení a přitom se zároveň těšit z fontů Artwiz ve Fluxboxu.

Nastavení locale

Řešení je velice jednoduché. To, co musíte udělat je upravit Váš fonts.alias (a/nebo fonts.dir) soubor.

Toto také řeší problémy s ostatními aplikacemi (např. Evolution a UTF-8). Nejdříve je potřeba mít správný fonts.dir soubor. Měl by být umístěn v adresáři kde jsou nainstalovány fonty Artwiz. Pokud tomu tak není potom vstupte do tohoto adresáře a spusťe mkfontdir.

Syntaxe souboru je jednoduchá. První řádek obsahuje pouze počet fontů v adresáři. Všechny následující řádky jsou následujícího tvaru

     soubor_fontu název_fontu

Zde je jako příklad uveden obsah souboru fonts.dir:

Example D-1. fonts.dir

14
glisp.pcf.gz -artwiz-glisp-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
gelly.pcf.gz -artwiz-gelly-medium-r-normal--10-100-75-75-p-90-iso646.1991-irv
edges.pcf.gz -artwiz-edges-medium-r-normal--10-100-75-75-m-50-iso646.1991-irv
nu.pcf.gz nu
drift.pcf.gz drift
cure.pcf.gz cure
aqui.pcf.gz aqui
lime.pcf.gz -artwiz-lime-medium-r-normal--10-100-75-75-m-50-iso646.1991-irv
snap.pcf.gz -artwiz-snap-medium-r-normal--10-100-75-75-p-90-iso646.1991-irv

Co nás zajímá jsou položky jejichž obsahem jsou pouze krátké popisy fontů, v našem případě fonty Nu, Drift, Cure and Aqui. Problémem je, že tyto položky postrádají plný popis fontu ve stylu X11.

Změnte soubor následnovně:

14
glisp.pcf.gz -artwiz-glisp-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
gelly.pcf.gz -artwiz-gelly-medium-r-normal--10-100-75-75-p-90-iso646.1991-irv
edges.pcf.gz -artwiz-edges-medium-r-normal--10-100-75-75-m-50-iso646.1991-irv
nu.pcf.gz -artwiz-nu-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
drift.pcf.gz -artwiz-drift-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
cure.pcf.gz -artwiz-cure-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
aqui.pcf.gz -artwiz-aqui-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
lime.pcf.gz -artwiz-lime-medium-r-normal--10-100-75-75-m-50-iso646.1991-irv
snap.pcf.gz -artwiz-snap-medium-r-normal--10-100-75-75-p-90-iso646.1991-irv

Poslední věcí je změna souboru fonts.alias (k použití fontů i s jiným enkódováním než iso646).

Syntaxe je alias_fontu název_fontu. Např. aby fonty pracovaly i v enkódování ISO-8859-2, vytvořte pro toto enkódování alias (vše jeden řádek).

-artwiz-anorexia-medium-r-normal--11-110-75-75-p-90-iso8859-2 
-artwiz-anorexia-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv 

Můžete se také podívat na mé fonts.dir and fonts.alias soubory, podporují ISO-8859-1, ISO-8859-2, a iso10646-1 (UTF-8). Pokud nastavíte vše tak, jak je popsáno výše, potom nebudete muset měnit LC_* proměnné na C nebo POSIX. A všechny aplikace (ne jen Fluxbox) budou fungovat tak, jak by měly; žádná chybová hlášení "nemůžu převést znakovou sadu" nebo podobné.


Appendix E. Odstraňování chyb

Obecné informace

Odlaďování je dovednost, kterou se můžete naučit. Existuje několik dobrých dokumentů, které popisují jak vytvořit dobré chybové hlášení. Prosím, přečtěte si je předtím, než začnete hlášení vytvářet, chyba neuteče a Vás to nezabije. Raději budeme chtít zabít chybu a k tomu budeme potřebovat Vaši pomoc. Takže, pojďme do boje dobře připraveni. Dva dobré dokumenty jsou Bugzilla Bug Reporting HOWTO a od Simona Tathamse How to Report Bugs Effectively.

Vzhledem k podstatě některých neoficiálních patchů je není možné všechny podporovat. To znamená (pro Vás), že byste měli ověřit zda Fluxbox padá také bez aplikovaných patchů. Pokud byly patche Vašeho Fluxboxu aplikovány správcem distribuce, dejte mu o této záležitosti vědět.

Pokud potřebujete s odlaďováním více pomoci než může tento průvodce poskytnout, podívejte se na #fluxbox irc.freenode.net po nápomocných lidech. Protože hlavní vývojáři a další kvalifikovaní lidé jsou obvykle zde, jsou šance že problém bude vyřešen.

Věci specifické pro Fluxbox

Výstup z Fluxboxu

Podobně jako ostatní aplikace Fluxbox vypisuje informace do konzoly, z které byl spuštěn. Problém je, že ve standardních podmínkách jdou všechny informace do textové konzoly. Změňte startovací řádek Fluxboxu na exec xterm nebo na Váš jakýkoli jiný oblíbený emulátor terminálu. Spustěte X11 a následně Fluxbox v terminálu a hle, uvidíte všechny zprávy poskytované Fluxboxem.

Informace, které chceme

Chceme hodně věcí. Ujistěte se, že o nich víte všechno.

Co dělat s core dump soubory.

Pokud se Vám někdy podařilo získat core dump soubor s Fluxboxem, udělejte následující: Běžte na kanál #fluxbox na OPN a řekněte fluxgenu, že máte core dump. Dejte mu všechny informace, které po Vás bude požadovat. Pravděpodobne po Vás bude chtít následující. Je toho docela dost, ale každý s trochou normální inteligence a nějakými zkušenostmi s Unixovým systémem to zvládne. Ještě budete potřebovat také GNU odlaďovač, nazývaný gdb.

Rekompilace Fluxboxu

Ano, četli jste správně. Abyste se stali opravdovým odlaďovačem musíte rekompilovat Fluxbox s odlaďovacími symboly.

Kompilujte Fluxbox jako obvykle, ale ještě přidejte následující volby předtím, než zadáte make:

    $ CFLAGS=-Wall -g3 CXXFLAGS=-Wall -g3 make

Pokud používáte RPM balíčky zdrojových souborů ze stránek Fluxboxu nebo z Vaší distribuce, potom bude postup vypadat přibližně takto:

    $ su
    # rpm -ivh fluxbox-0.1.11.1mdk.src.rpm
    # cd /usr/src/RPM/SPECS
    # env DEBUG=true rpm -ba fluxbox.spec
    # rpm -Uvh --force /usr/src/RPM/RPMS/i686/fluxbox*
    # exit
    $ mkdir -p ~/src/fluxbox
    $ cp -R /usr/src/RPM/BUILD/fluxbox* ~/src/fluxbox

Běžte do adresáře Fluxboxu (abysme dostali core dump na správné místo). Shell má jednu vychytávku, která vypíná tvorbu core dump souborů, takže se ujistěte, že máte core dumpy povoleny:

    $ ulimit -c unlimited

Spustěte X11 a začněte ladit. Dělejte stejné věci, které vedou k pádu Fluxboxu a tvorbě core dump souboru. A nyní začneme s odlaďováním:

    $ gdb fluxbox core

A vložte tento příkaz do gdb (první část je promt gdb, tu nepište :)):

    (gdb) where

Dostanete hodně výstupních informací. Fluxgen požaduje všechny informace, které začínají na #.

Přiložte je do e-mailu adresovanému Fluxgenu společně se čtyřmi konfiguračními soubory v ~/.fluxbox/.

Ještě nemažte core soubor ani adresář se zdrojovými soubory. Fluxgen po Vás ještě může chtít další informace a proto je v budoucnu možná budete potřebovat. Pokud Vás o to Fluxgen výslovně nepožádá, neposílejte core soubor, protože se týká pouze Vašeho systému a taky z toho důvodu, že tyto soubory bývají většinou docela obsáhlé.