Dokumentacja Fluxbox

Tobias Klausmann


Table of Contents
1. Wprowadzenie
1.1. O tej dokumentacji
1.1.1. Tłumaczenie
1.2. O Fluxboksie
1.2.1. Czym jest Fluxbox?
1.2.2. Cechy
1.2.3. Zdobywanie Fluxboksa
1.2.4. Zadawanie pytań i otrzymywanie wsparcia
2. Zaczynamy
2.1. Instalowanie Fluxboksa
2.1.1. Pobieranie źródeł
2.1.2. Rozpakowanie i kompilacja
2.1.3. Uruchamianie Fluxboksa
2.1.4. Na zakończenie
3. Użytki
3.1. Wprowadzenie
3.2. fbrun
3.3. fluxbox-generate_menu
4. Zakładki
4.1. Wprowadzenie do zakładek
4.2. Zaawansowane grupowanie
4.2.1. Niechlujne grupowanie okien
4.2.2. Grupowanie pojedynczej klasy okien
4.2.3. Całkowite wyłączanie zakładek
4.2.4. Położenie zakładek
4.2.5. Automatyczne grupowanie zakładek
4.2.6. Zakładki i style
5. Przypisania klawiszy
5.1. Keygrabber
5.2. Nazwy klawiszy
5.3. Akcje
6. Tła pulpitów
7. Szczelina
8. Edycja menu
8.1. Ustawianie ścieżki do pliki menu
8.2. Dostępne polecenia
9. Tematy
9.1. Podstawy tematów
9.2. Zaawansowana edycja tematów
A. Ustawianie .xinitrc/.xsession
B. Najczęściej zadawane pytania (FAQ)
C. Ściąga do tematów
C.1. Dyrektywy tematów
D. Czcionki Artwiz dla Fluxboksa
E. Odpluskiwanie
List of Tables
5-1. Nawigacja
5-2. Operacja na oknach
5-3. Zmiana rozmiaru okna
5-4. Przesuwanie okien
5-5. Różne
9-1. Dyrektywy tekstur
C-1. Style belki
C-2. Styl menu
C-3. Styl okna
C-4. Handlebar styles
C-5. Resize grip styles
C-6. Styl przycisków na oknie
C-7. Styl obramowania okna
C-8. Styl zakładek
C-9. Styl czcionki tytule okna
C-10. Różne style
List of Examples
4-1. Plik groups
5-1. Plik klawiszy Fluxboksa
5-2. Przypisania klawiszy dla XMMS
5-3. Klawisze multimedialne dla XMMS
5-4. Wynik xev po wciśnięciu strzałki w prawo
7-1. Ustawianie ścieżki do pliku z kolejnością dockappów
8-1. Ustawianie pliku menu
9-1. Styl zegara na belce
9-2. Styl menu
9-3. Styl czcionki
9-4. Styl tekstur
9-5. Typowy, krótki styl
A-1. .xinitrc
B-1. Opisane zakładki w pliku tematu
D-1. fonts.dir

Chapter 1. Wprowadzenie

1.1. O tej dokumentacji

Jest to nowa dokumentacja dla Fluxboksa, menedżera okien X11. Została utworzona ze starej dokumentacji w HTMLu mając na uwadze możliwość łatwego przystosowania jej do różnych wynikowych formatów. Jej źródła zostały napisane w DocBook 4.1, formacie, który został specjalnie zaprojektowany dla dokumentacji.

Do tej pory było już kilka osób utrzymujących Fluxboksa. Pliki dokumentacji, którą właśnie czytasz bazują w większości na pracy Rando Christensena lub zostały przez niego napisane. Tam, gdzie inni wnieśli swój wkład odpowiednio to oznaczyłem. Jeśli pominąłem podziękowanie, które powinno się znaleźć, proszę wyślij do mnie email, żebym mógł to naprawić. Dziękuję.

Obecnie jestem gościem odpowiedzialnym za dokumentację Fluxboksa. Nazywam się Tobias Klausmann . Pisz do mnie z pytaniami odnoszącymi się dokumentacji Fluxboksa. Możesz też spróbować mnie złapać na irc.openprojects.net #fluxbox (Nick: Blackb|rd).

NoteSubmissions
 

Zaakceptuję prawie wszystkie kawałki dobrze napisanej dokumentacji tego, co jeszcze nie zostało tutaj opisane, a co według innych powinno się tutaj znaleźć. Po prostu wyślij do mnie emaila na adres podany wyżej jeśli masz chcesz się dowiedzieć jak możesz pomóc lub jeśli masz jakąś dokumentację do dodania.

Zarówno źródła tej dokumentacji jak i różne, skonwertowane formaty takie jak HTML czy PostScript są dostępne ze strony Fluxboksa. Jeśli chciałbym użyć innego DTD lub innego formatu wynikowego, wtedy źródła są twoimi przyjaciółmi, chociaż prawdopodobnie będzie potrzebował pewnego doświadczenia z DocBook do modyfikacji DTD. Jeśli chciałbym skonwertować plik źródłowy na jakiś inny format niż te, które są dostępne na stronie Fluxboksa, pomocny może się okazać pakiet docbook2x.


1.1.1. Tłumaczenie

Cały ten dokument został przetłumaczony przez Bartosza Zapałowskiego <bartek (na) klepisko (kropa) eu (kropeczka) org>. Do niego należy kierować sugestie, poprawki, uaktualnienia do polskiej wersji tego dokumentu. W odpowienich miejscach zaznaczę, kto wsławił się pomocą przy utrzymywaniu tej dokumentacji :-).


1.2. O Fluxboksie

1.2.1. Czym jest Fluxbox?

Fluxbox jest kolejnym menedżerem okien dla X. Bazuje na kodzie Blackbox 0.61.1. Fluxbox wygląda jak Blackbox i obsługuje style, kolory, położenia okien i inne podobne rzeczy dokładnie tak jak Blackbox (pełna kompatybilność tematów/styli).

Więc czym się różni Fluxbox od Blackboksa? Wieloma rzeczami! Oto lista cech, jakie Fluxbox obecnie posiada lub są w drodze...


1.2.2. Cechy

Zaimplementowane:

  • Konfigurowalne zakładki (tabs) na okna

  • Obsługa wygładzania (Xft)

  • Obsługa UTF-8

  • Listwa na ikony (dla zminimalizowanych/zikonifikowanych okien)

  • Automatyczne grupowanie okien/zakładek

  • Przesuwanie rolki myszki zmienia pulpit

  • Konfigurowalny pasek tytułowy (położenie przycisków, nowe przyciski, itp.)

  • Wsparcie dla KDE i Gnome (włączając Gnome 2)

  • Obsługa Extended Window Manager Hints (ewmh)

  • Natywne, zintegrowane przechwytywanie klawiszy (obsługuje sekwencje klawiszy jak Emacs)

  • Opcja maksymalizacji nad szczeliną (slit)

  • Porządkowanie dockappów na szczelinie

Planowane:

  • Zarządzanie sesjami

  • Windows Snapping

  • Konfigurowalna belka

  • Inne, mniej ważne cechy

Oprócz tego wszystkiego wiele zmian i ulepszeń zostało wprowadzonych do źródeł.


1.2.3. Zdobywanie Fluxboksa

Źródła Fluxboksa mogą być ściągnięte z głównej strony Fluxboksa, http://fluxbox.sourceforge.net/. Większość dystrybucji Linuksa i inne wolne Uniksy również dołączają pakiety źródłowe i binarne Fluxboksa. Najlepiej użyj najnowszym pakietów dystrybucyjnych.


1.2.4. Zadawanie pytań i otrzymywanie wsparcia

Mimo że Fluxbox jest całkiem łatwy w użyciu i konfiguracji, istnieje ryzyko, że w pewnym momencie pojawią się pytania lub problemy. Ogromna ich ilość została już rozwiązana wcześniej. Dlatego zanim zaczniesz zadawać pytania na liście dyskusyjnej lub na kanale IRC Fluxboksa zerknij do FAQa w Appendix B.


Chapter 2. Zaczynamy

2.1. Instalowanie Fluxboksa

Jason Gillman Jr. aka "Ircaddict" podesłał tą sekcję.

Wiele dystrybucji dostarcza binarnych pakietów Fluxboksa ( lub, jak w przypadku Gentoo i FreeBSD, porty/ebuildy), które sprawiają, że instalacja Fluxboksa jest prawie bezbolesna. Są jednak powody do kompilacji źródeł. Na przykład najnowsza wersja Fluxboksa może nie być dostępne jako pakiet dystrybucyjny. Dodatkowo, możesz potrzebować skompilować Fluxboksa z pewnymi flagami kompilatora. Jeśli chcesz użyć pakietów dystrybucyjnych sprawdź dokumentację dystrybucji. Na stronie Fluxboksa dostępne są pakiety źródłowe i binarne dla niektórych dystrybucji.

Celem tego dokumentu jest pomoc ludziom, którzy są nowi w systemie okien X11 (lub w ogóle Linuksie ), w kompilacji i instalacji menedżera okien Fluxbox.


2.1.1. Pobieranie źródeł

Pierwszą rzeczą, którą należy zrobić, to udanie się na stronę z plikami i ściągnięcie paczki źródłowej (rozszerzenie .tar.gz).


2.1.2. Rozpakowanie i kompilacja

Jak już masz paczkę źródłową, musisz ją rozpakować. Możesz to zrobić wywołując następujące polecenie, zastępując nazwę pliku nazwą pliku, który ściągnąłeś:

    $ tar xzvf fluxbox-0.1.12.tar.gz

Polecenie wyświetli listę plików, którą są właśnie wypakowywane. Po zakończeniu przejdź do katalogu, który został utworzony (coś jak fluxbox-0.1.12/, ale to zależy od wersji). Kolejnym krokiem jest konfiguracja i kompilacja Fluxboksa. Podczas konfiguracji możesz włączyć lub wyłączyć pewne właściwości/cechy Fluxboksa. Dla większości ludzi wartości domyślne będą w porządku. Jeśli chcesz, by szczelina obsługiwała ikony panelu KDE, dodaj opcję --enable-kde. By dowiedzieć się jakie inne opcje są dostarczone ze skryptem configure, użyj opcji --help. Jeśli nie chcesz obsługi KDE, poniższe powinno wystarczyć:

    $ ./configure
    $ make

Gdy Fluxbox się skompiluje, przejdź na roota i wykonaj:

    # make install

Gratulacje! Własnie skompilowałeś i zainstalowałeś Fluxboksa.


2.1.3. Uruchamianie Fluxboksa

Wszystko jest miłe i fajne gdy już masz go zainstalowanego, ale po kiego ci on, jeśli nie mozesz go uruchomić?

Ogólnie są dwie różne metody uruchomienia X11 (i przez to Fluxboksa). Tradycyjną metodą jest użycie komendy startx. Innym sposobem jest użycie graficznego menedżera logowania (również nazywany "menedżer wyświetlania"). Najczęstszym menedżerem logowania jest xdm, który jest częścią dystrybucji XFree86. Menedżer logowanie dostarczony przez Gnome is nazywany gdm, a ten z KDE nazywa się kdm.

Jeśli X11 jest uruchamiany pierwszym sposobem (przez startx, ważnym plikiem jest .xinitrc, który przesiaduje w katalogu domowym. W przypadku startowania przez menedżer logowania, tym plikiem jest .xsession, który znajduje się w tym samym katalogu.

Kolejnym krokiem jest znalezienie pliku wykonywalnego Fluxboksa. W większości przypadków będzie to /usr/local/bin/fluxbox. Teraz musisz wyedytować (lub utworzyć) plik, o którym wcześniej wspomniałem. Po prostu wstaw na końcu tego pliku następującą linię:

   exec /usr/local/bin/fluxbox

Zmień /usr/local/bin/fluxbox na ścieżkę, w którem znajduje się plik wykonywalny Fluxboksa. Powyższe jest domyślną lokalizacją w przypadku kompilacji ze źródeł. Jak już to zrobisz, zapisz plik i zamknij edytor, jakiego użyłeś. Teraz musisz wykonać poniższe polecenie jeśli używasz startx:

   $ chmod 700 .xinitrc

W przypadku .xsession nie jest to wymagane. W obu przypadkach powinieneś utworzyć katalog, w którym Fluxbox będzie przechowywał swoją konfigurację:

   $ mkdir .fluxbox

Jeśli go nie utworzysz, to po wyjściu i ponownym uruchomieniu Fluxboksa stracisz wszystkie ustawienia (niestety, katalog nie jest automagicznie tworzony).


2.1.4. Na zakończenie

Jeśli potrzebujesz pomocy, udaj się na forum pomocy Fluxbox i zadaj tam pytanie, a z pewnością ktoś będzie chętny, by ci pomóc. Możesz też zadawać pytania na liście dyskusyjnej użytkowników Fluxboksa. Link do tej listy możesz znaleźć na stronie Fluxboksa. Polecam też wzięcie plików init, menu i titlebar z katalogu /usr/local/share/fluxbox i skopiowanie ich do katalogu .fluxbox/ w twoim katalogu domowym.


Chapter 3. Użytki

3.1. Wprowadzenie

Fluxbox przychodzi z zestawem użytków, które ułatwiają trochę życie lub oferują pożądane własności. Domyślnie są one instalowane w tym samym katalogu co fluxbox, czyli w /usr/local/bin, chyba że użyłeś innego prefiksu podczas konfiguracji. Większość dystrybucji również wybiera inną lokalizację, więc jeśli instalowałeś binarne pakiety, możesz je znaleźć w /usr/bin.


3.2. fbrun

fbrun jest w zasadzie odpowiednikiem okienka "Uruchom..." z innych środowisk graficznych. Oznacza to, że jest to łatwy sposób na uruchamianie programu, który nie jest zawarty w menu (lub wymaga specjalnego zestawu parametrów dla danego wywołania).

fbrun może też być przydatny w przypadku podania domyślnej lini poleceń w menu, którą możesz edytować, a potem wykonać. Przykładem może być łączenie się przez ssh z komputerem o bardzo długiej nazwie z ogromną ilością opcji, które się bez przerwy zmieniają. W takim przypadku możesz dodać fbrun do swojego menu, które będzie zawierało wszystko opcje i nazwę komputera. Gdy użyjesz wspomnianego wpisu w menu będziesz mógł edytować linię poleceń, gdy to konieczne i wykonać ją.

fbrun przyjmuje różne opcje:

   -font [font name]           Czcionka tekstu
   -title [title name]         Ustaw tytuł na podany
   -text [text]                Tekst wejściowy
   -w [width]                  Szerokość okna w pikselach
   -h [height]                 Wysokość okna w pikselach
   -display [display string]   Nazwa wyświetlacza
   -pos [x] [y]                Pozycja okna w pikselach
   -fg [color name]            Kolor tekstu pierwszoplanowego
   -bg [color name]            Kolor tła
   -a                          Wygładzanie
   -hf [history file]          Plik histori do załadowania (domyślnie ~/.fluxbox/history)
   -help                       Pokaż tą pomoc

Nazwy większości opcji powinny mówić same za siebie. Opcje -text i -hf mogą wymagać wytłumaczenia. Pierwsza jest używana do podania domyślnego (modyfikowalnego) tekstu w oknie fbrun. Jeśli zechcesz podać wiele argumentów (jak np. ssh -X -f), upewnij się, że podajesz je w cudzysłowach:

	fbrun -text "ssh -X -f"

Opcja -hf określa plik, w którym fbrun przechowują swoją "pamięć" o użytych poleceniach (tak jak to robi bash). Zazwyczaj nie potrzebujesz tej opcji i wtedy używana jest domyślna lokalizacja. Ta opcja jest użyteczna, gdy masz wiele wpisów fbrun w menu i chcesz mieć oddzielne historie poleceń dla każdego z nich.


3.3. fluxbox-generate_menu

FIXME: Ta sekcja musi być napisana.


Chapter 4. Zakładki

4.1. Wprowadzenie do zakładek

Zakładki Fluxboksa nie są nowym pomysłem. Ich implementacja jest całkiem podobna do tej w PWM Window Manager. Oto zasada ich działania: wiele okien jest grupowanych razem i dzielą one tą samą geometrię - są tego samego rozmiaru, w tej samej pozycji na ekranie, a przesuwając jedno okno przesuwasz wszystkie na raz. Pomyśl o nich jak o stosie kartek. Zakładki są jak te małe, plastykowe zakładki, które wkładasz między kartki, by ułatwić i przyspieszyć dostęp do danej strony.

Dokładnie tak samo działają zakładki we Fluxboksie. Wybierając odpowiednią zakładkę odpowiadającą danemu oknu, to właśnie okno pojawia się na wierzchu stosu okien. Teraz wybrój to.

Proste użycie zakładek

Pierwszą rzeczą do zapamiętania jest to, że wszystkie operacje na zakładkach są wykonywane przy użyciu trzeciego przycisku myszy. By zacząć wybierz dwa okna, które chciałbyś zgrupować. Kliknij trzecim przyciskiem myszy na zakładce pierwszego i przeciągnij ją na zakładkę drugiego. Gratulacje! Są ze sobą połączone. Możesz teraz używać zakładek do przełączania się między tymi dwoma oknami.

By usunąć zakładkę, zrób podobnie. Kliknij trzecim przyciskiem na zgrupowaną zakładkę i przeciągnij ją w wolne miejsce.


4.2. Zaawansowane grupowanie

4.2.1. Niechlujne grupowanie okien

"Ale to jest strasznie niewygodne, by przeciągać zakładką na inną, małą zakładkę."

Mam w takim razie dobre wieści. Z menu konfiguracyjnego Fluxboksa wybierz opcję "Niechlujne grupowanie okien". To ci pozwoli na upuszczenie zakładki gdziekolwiek w obrębie docelowego okna.


4.2.2. Grupowanie pojedynczej klasy okien

"To jest super, ale chcę grupować tylko program X!"

Są dwa różne sposoby na osiągnięcie tego, w zależności od tego jak dużo programów ma mieć zakładki. Możesz włączać i wyłączać zakładki dla każdego okna (kliknij prawym przyciskiem myszy na belce tytułowej i wybierz opcję "Zakładka") lub możesz je globalnie wyłączyć opcją 'Konfiguracja'->'Używaj zakładek'. Po wyłączeniu ich, możesz włączać zakładki dla pojedynczych okien tak, jak to zostało wcześniej opisane.


4.2.3. Całkowite wyłączanie zakładek

"Myślę, że zakładki nie są dla mnie. Mogę je wyłączyć?"

Oczywiście. Wybierz opcję "Używaj zakładek" z menu konfiguracyjnego Fluxboksa. Ponieważ to jest przełącznik, ponownie wybranie tej opcji włączy na nowo zakładki. Jest również opcja konfiguracyjna w pliku init, która jest za to odpowiedzialna:

    session.tabs:   true

Możesz wyłączyć zakładki zmieniając true na false.


4.2.4. Położenie zakładek

W mnue konfiguracyjnym jest opcja o nazwie 'Położenie zakładek'. Są to miejsca na oknie, w których zakładki będą umieszczone. Nazwy mówią same za siebie, jedynie należy wytłumaczyć znaczenie opcji "względnych". Te opcje sprawiają, że sumaryczna szerokość zakładek jest równa szerokości okna. Jeśli jest jedna zakładka na oknie, wtedy ma ona szerokość okna. Jeśli są dwie zakładki, to każda z nich ma szerokość równą 50% szerokości okna. Ta opcja sprawia, że zakładki wyglądają ładnie i są bardzo popularne.


4.2.5. Automatyczne grupowanie zakładek

Czasami chciałbyś, by pewne programy były automatycznie grupowane podczas ich startu. Jest to nazywane "Automatycznym grupowaniem". Po pierwsze potrzebujesz Fluxboksa w wersji 0.1.11 lub nowszej. Automatyczne grupowanie nie działa ze starszymi wersjami. Następnie utwórz plik ~/.fluxbox/groups jeśli nie jest już utworzony. Edytuj plik ~/.fluxbox/init i dodaj poniższą linię (lub ją zmień, jeśli już się znajduje w tym pliku):

         session.groupFile:		~/.fluxbox/groups

Możesz teraz wypełnić plik grup.

Format pliku grup

Każda pojedyncza linia oznacza jedną grupę. Wpisujesz po prostu nazwę instancji (klasy) programu do grupowania. Przykład:

Example 4-1. Plik groups

    Navigator nedit
    xterm

To utworzy dwie grupy - jedną z programami netscape i nedit i drugą z xterm. Nowe okna będą automatycznie grupowane do innych w obrębie tego samego pulpitu do ostatniego aktywnego okna. Nazwę, którą wstawiasz do pliku w grupami pobierasz poleceniem:

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

Po uruchomieniu programu klikasz na dane okno. Jeśli nic się nie pojawi spróbuj zmienić $4 na $3.

Automatyczne grupowanie z zakładek

Jeśli klikniesz prawym przyciskiem myszy na zakładce, to wyświetli się główne menu, z którego możesz wybrać program, który po uruchomieniu zostanie zgrupowany do tej zakładki.

Note

Grupowanie tą metodą (z zakładek) może się kłócić z normalnym automatycznym grupowaniem.


4.2.6. Zakładki i style

Mamy całą, odzielną sekcją (Chapter 9) poświęconą temu, jak wyglądają zakładki z różnymi stylami. Możesz to sprawdzić, jeśli cię interesuje zmiana wyglądu zakładek w twoim stylu (zakładki w stylach domyślnie wyglądają tak samo jak belki tytułowe, co często ludzie lubią zmieniać).


Chapter 5. Przypisania klawiszy

5.1. Keygrabber

Keygrabber działa podobnie do bbkeys, który jest wspaniałym użytkiem, ale miał pewne ograniczenia (i jego licencja była niekompatybilna). Keygrabber ma całkiem nową składnię pliku konfiguracyjnego i kilka nowych właściwości, które czynią Fluxboksa jeszcze lepszym.

Nowy keygrabber obsługuje łańcuchy sekwencji klawiszy (jak emacs)... więc możesz używać np. Mod1 + M + Mod1 + F do przejścia na następny pulpit (ale wątpię, by ktoś właściwie używałaj tej sekwencji).

A jeśli wystukałeś część sekwencji, ale postanowiłeś jej nie kontynuować (przerwać ją) wtedy możesz wcisnąć inną sekwencję klawiszy (którą skonfigurowałeś w pliku klawiszy), by ją przerwać (opcja AbortChain).

Dodatkowo możesz przypisać sekwencję klawiszy do przełączania się pomiędzy zgrupowanymi oknami (używając NextTab i PrevTab).

W końcu, dla twojej wygody my (a raczej vlaad i tarzeau) przygotowaliśmy dwa skrypty (oba robią to samo) do konwersji pliku konfiguracyjnego bbkeys na plik konfiguracyjny klawiszy Fluxboksa (ich użycie jest opisane w nich samych). Ściągnij: convertkeys lub convertkeys2.

Example 5-1. Plik klawiszy Fluxboksa

    Mod1 Tab :NextWindow
    Mod1 F1 :Workspace1
    Mod1 F2 :Workspace2
    Mod1 F3 :Workspace3
    Mod1 F4 :Workspace4
    Control n Mod1 n :NextTab

Ja widzisz, pierwsza pozycja to modyfikator, następna to klawisz (i znowu modyfikator i znowu klawisz, jeśli chcesz mieć dłuższe sekwencje) i w końcu dwukropek, po którym następuje akcja.

Jeśli chcesz znać listę poprawnych akcji lub klawiszy czytaj dalej ten dokument.

A dlaczego jest to dla ciebie takie dobre? Bo możesz sterować swoim xmms, przykład:

Example 5-2. Przypisania klawiszy dla XMMS

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

Jeśli masz jakieś dodatkowe klawisze (np. do sterowania multimediami), możesz sterować xmms w ten sposób, jeśli je poprawnie skonfigurujesz w XFree86:

Example 5-3. Klawisze multimedialne dla XMMS

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

Powiedziałbym, żebyś odpalił xmms --help po więcej informacji, ale prawdopodobnie już to robisz...


5.2. Nazwy klawiszy

Pewnie zastanawiasz się jak znaleźć nazwy klawiszy. Odpal xev, przesuń myszkę na nowo-utworzone okno, wciśnij klawisz i zobacz co o nim zostanie napisane. Oto przykład po wciśnięciu strzałki w prawo:

Example 5-4. Wynik xev po wciśnięciu strzałki w prawo

    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:  ""

Interesującą nas informacją jest nazwa klawisza, która się znajduje pomiędzi nawiasami razem z keysym. W tym przypadku będzie to (keysym 0xff53, Right). Stąd nazwą klawisza jest Right.

Klawisze specjalne

Oto kilka klawiszy specjalnych. Zauważ, że będą one wyświetlane przez xev od razu po ich naciśnięciu (a nie jako modyfikatory innych klawiszy).

KlawiszNazwa X11
Control, StrgControl
AltMod1
Super, Meta, klawisze Win*Mod4


5.3. Akcje

Poniżej jest lista akcji, które obecnie obsługuje Fluxbox. Pokrywają one większość potrzeb, jakie można mieć po wicśnięciu klawisza. Zauważ, że w pliku klawiszy ostatnim znakiem przed właściwą akcją powinien być :.

Table 5-1. Nawigacja

AkcjaDziałanie
WorkspacePrzejdź na podany pulpit. Używaj :Workspace 1, :Workspace 2, itp.
WorkspaceNNZachowane dla kompatybilności i wkrótce zniknie. Przykład :Workspace1.
NextTabPrzełącz na następną zakładkę w obecnej grupie.
PrevTabPrzełącz na poprzednią zakładkę w obecnej grupie.
NextWindow NPrzejdź do następnego okna. Zobacz Note 1.
PrevWindow NPrzejdź do poprzedniego okna. Również zobacz Note 1.
NextWorkspacePrzejdź na następny pulpit.
PrevWorkspacePrzejdź na poprzedni pulpit.
LeftWorkspaceTo samo co PrevWorkspace.
RightWorkspaceTo samo co NextWorkspace.

Note1. NextWindow / PrevWindow
 

NextWindow/PrevWindow przyjmują argument liczbowy, który jest zbyt skompilowany do objaśnienia w powyższej tabeli. Oto jak on działa.

Parametr liczbocy, który określa opcje wzięce z poniższej tabeli a następnie poddane logicznemu LUB (OR):

WartośćOpcja
1Pomiń zakładki (traktuj zgrupowane zakładki jak jedno okno).
2Pomiń stuck windows.
4Pomiń zasłonięte (shaded) okna.

Zsumuj wartości interesujących cię opcji. Wynik jest parametrem dla NextWindow/PrevWindow. Lub po prostu wybierz wartość z poniższej tabeli:

ParametrOpcja
0Bez pomijania.
1Pomiń zakładki.
2Pomiń przyczepione okna.
3Pomiń zakładki/przyczepione okna.
4Pomiń zasłonięte okna.
5Pomiń zakładki/zasłonięte okna.
6Pomiń przyczepione okna/zasłonięte okna.
7Pomiń zakładki/przyczepione okna/zasłonięte okna.

Table 5-2. Operacja na oknach

AkcjaDziałanie
CloseZamknij okno.
KillWindowOdpowiednik wywołania xkill i kliknięcia na oknie.
MinimizeRównież znane jako 'ikonifikacja'. Ikonifikuje okno.
ShadeWindowZmienia stan okna na 'zasłonięte' lub przywraca ze stanu 'zasłoniętego'.
StickWindowPrzełącza stan 'przyczepiony' okna.
ToggleDecorPrzełącza, czy okno ma obramowanie, przyciski, belkę tytułową, czy nie.
ToggleTabWłącza lub wyłącza zakładkę na oknie.
RaisePrznosi okno na wierch, pojawi się ono nad wszystkimi oknami.
LowerPrzeciwieństwo Raise.

Table 5-3. Zmiana rozmiaru okna

AkcjaDziałanie
HorizontalIncrementPoszerza okno o jedną jednostkę (patrz Note 2).
HorizontalDecrementPrzeciwnieństwo HorizontalIncrement
VerticalIncrementPoszerza w pionie okno o jedną jednostkę (patrz Note 2).
VerticalDecrementPrzeciwieństwo VerticalIncrement
MaximizeHorizontalMaksymalizuj okno w poziomie.
MaximizeVerticalMaksymalizuj okno w pionie.
MaximizeWindowMaksymalizuj okno.

Note2. HorizontalIncrement / HorizontalDecrement / VerticalIncrement / VerticalDecrement
 

Opisując zmiany rozmiaru użyłem zwrotu "jedna jednostka". Jest to ze względu na xterm/aterm/Eterm, gdzie zamiast powiększania o jeden piksel powiększa się o szerokość jednego znaku.

Inne programy powinny zmieniać swój rozmiar o jeden piksel.

Table 5-4. Przesuwanie okien

AkcjaDziałanie
SendToWorkspaceWysyła okno na podany pulpit. Użyj :SendToWorkspace 1
NudgeDownPrzesuwa okno w dół.
NudgeLeftPrzesuwa okno w lewo.
NudgeRightPrzesuwa okno w prawo.
NudgeUpPrzesuwa okno w górę.
BigNudgeDownPrzesuwa okno w dół o większą ilość pikseli.
BigNudgeLeftPrzesuwa okno w lewo o większą ilość pikseli.
BigNudgeRightPrzesuwa okno w prawo o większą ilość pikseli.
BigNudgeUpPrzesuwa okno w górę o większą ilość pikseli.

Table 5-5. Różne

AkcjaDziałanie
AbortKeychainPrzerywa łańcuch sekwencji klawiszy.
ExecCommandWykonuje polecenie. Przykład :ExecCommand xmms -t.
RootMenuPokazuje menu główne.

Chapter 6. Tła pulpitów

Fluxbox, podobnia jak Blackbox, ma tylko dwa użytki-owijacze (wrappers) do tego i nawet nazywają się tak samo jak w Blackboksie: bsetroot i bsetbg. Zobaczmy jak działają.

bsetroot

bsetroot jest odpowiednikiem xsetroot. Może ustawiać tapety pod warunkiem, że są one proste, jak np. jeden kolor. bsetroot potrafi również ustawiać gradienty.

bsetbg

bsetbg jest programem wyższego poziomu. Właściwie to używa on innych użytków, które ustawiają tło, takich jak wmsetbg, Esetroot czy display z pakietu ImageMagick, itp. Przy pierwszym uruchomieniu utworzy plik konfiguracyjny ~/.fluxbox/bsetbg, który będzie określał, którego programu ma użyć. Możesz do w dowolnej chwili zmodyfikować, by ustalić samemu dany program. By móc korzystać z programów obsługujących przezroczystość, takich jak xchat czy Eterm, powienieś użyć wmsetbg lub Esetroot.

Nadpisywanie teł tematów

Jedną z pozostałości po Blackboksie jest to, że tła są całkowicie zależne od wybranego tematu. Gdy zmieniasz temat/styl, otrzymujesz tło, jakie autor tematu uważał, że będzie dobre. Wielu ludzi nie lubi takiego zachowania. Fluxbox oferuje metodę radzenia sobie z tym problemem. dodaj poniższą linię do swojego pliku ~/.fluxbox/init:

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

I cokolwiek tu wstawisz będzie twoim tłem, nie ważne co autor stylu ma do powiedzenia na ten temat.


Chapter 7. Szczelina

Jednym z najczęściej zadawanych pytań jest "Co to jest szczelina?" Gdy ten dokument był pisany, skopiowałem je na górę FAQa, by wskazać tą sekcję. A wszystko po to, by zatrzymać lawinowe pytania o szczelinę na #fluxbox i skończyć z błędnym założeniem, że szczelina jest inną nazwą belki.

Szczelina jest jedną z wielu rzeczy, jakie Fluxbox odziedziczył po Blackboksie. Jest ona zaprojektowana do przechowywania dockappów WindowMakera (i czegokolwiek, co działa w trybie zwanym 'withdrawn' lub rzadziej 'swallowed'). Takie aplikacje zazwyczaj mają opcję -w.

Najpierw upewnij się, że szczelina zostało wkompilowana w twoją kopię Fluxboksa. Zazwyczaj jest. Z tego co wiem, różne dystrybucje dostarczają pakiety z włączoną szczeliną. Jeśli uważasz, że będzie się lepiej czuł bez niej, możesz ją wyłączyć podczas kompilacji programu. Zauważ jednak, że nieużywana szczelina nie zabiera miejsca na ekranie, a jedynie zjada niewielką ilość pamięci, więc zazwyczaj wyłączenie szczeliny jest konieczne tylko wtedy, gdy w jakiś sposób gryzie się ona z innymi programami, których używasz.

Możesz uruchamiać dowolną dokującą aplikację (zwane również uruchamianie w trybie 'withdrawn'). Na przykład xmms jest dostarczana razem z aplikacją wmxmms. Po prostu uruchom wmxmms -w &, a zobaczysz go w szczelinie.

Popularny program gkrellm również posiada opcję -w, dzięki której uruchamia się w szczelinie.

Gdzie mogę dostać dockappy?

Najlepiej udaj się na początku na stronę the Dockapp warehouse. Jest tam bardzo duże repozytorium różnych dostępnych dockappów. Poza tym, możesz szukać używając Freshmeat lub sprawdzić co dostarcza twoja dystrybucja.

Strona bbtools przechowuje wiele użytków Blackbox/Fluxbox, z których większość może się uruchamiać w szczelinie.

Jeśli masz włączoną obsługę KDE, to jego aplety dokujące również pojawią się w szczelinie.

Dockapps.Org jest nową stroną poświęconą tylko dockappom.

Czy mogę zmienić zachowanie szczeliny?

Oczywiście. Po prostu kliknij prawym przyciskiem myszy na widocznej częsci szczeliny i wybierz opcje z menu. Większość tych opcji jest taka sama jak dla belki. Jedynie różni się opcją Kierunek szczeliny. Szczelina może mieć kierunek Poziomy lub Pionowy.

W menu konfiguracyjnym jest również opcja Maksymalizuj nad szczeliną, która pozwala, by zmaksymalizowane okna zasłaniały szczelinę.

Chcę, by moje programy były zawsze w tej samej kolejności w szczelinie!

Począwszy od Fluxbox 0.1.10 jest to możliwe, korzystając z pliku slitlist. Oto kilka informacji odnośnie jego użycia.

Aktualna kolejność dockappów jest przechowywana w pliku, którym domyślnie jest ~/.fluxbox/slitlist. Podczas ładowania dockappów do szczeliny, Fluxbox stara się urzymać poprzenią kolejność dobierając poprzenio-uruchomione dockappy po nazwie.

Prosta procedura ustawiania dockappów w szczelinie tak jak chcesz:

Ustawianie kolejności dockappów

  1. Uruchom Fluxboksa bez ładowania dockappów.

  2. Uruchamiaj dockappy pojedynczo w takiej kolejności, w jakiej mają się pojawiać.

  3. Ponownie dodaj dockappy do twojego skryptu startowego, np. .xinitrc lub .xsession. Kolejność nie ma znaczenia.

Powyższa kolejność jest zapisywana domyślnie w pliku ~/.fluxbox/slitlist i w przyszłych sesjah Fluxboksa jest odtwarzana.

Możesz dowolnie edytować plik slitlist. Jest to prosta lista nazw okien, jedna na dockappa. Podobnie jak plik init, powinien być edytowane, gdy Fluxbox nie jest uruchomiony. Inaczej zmiany mogą być nadpisane.

Masz też możliwość wyboru ścieżki dla pliku z kolejnością dockappów. Poniższy przykład wpisu w pliku init zmienia ścieżkę:

Example 7-1. Ustawianie ścieżki do pliku z kolejnością dockappów

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

Zauważ, że nie ma opcji do całkowitego wyłączenia sortowania. Autor łatki nie widział żadnego zastosowania dowolnego rozmieszczania dockappów.


Chapter 8. Edycja menu

Więc już zainstalowałeś Fluxboksa i widzisz tą fajną, mają uruchamiaczkę programów nazywaną menu, które się pojawia po kliknięciu prawym przyciskiem myszy na pulpicie. Byłoby to mało użyteczne, gdybyś nie mógł edytować listy programów do uruchamiania. Ten dokument postara się odpowiedzieć na pytania dotyczące właśnie tego.

Po pierwsze, Fluxbox posiada miły użytek zwany fluxbox-generate_menu. Stara się on zebrać ścieżki zazwyczaj używanych programów takich jak przeglądarki lub emulatory terminali z twojego środowiska i tworzy plik menu. fluxbox-generate_menu jest opisany szczegółowo w sekcji Section 3.3.


8.1. Ustawianie ścieżki do pliki menu

Menu Fluxboksa domyślnie przesiaduje w pliku ~/.fluxbox/menu. Może to być jednak zmienione w pliku init. Oto przykład:

Example 8-1. Ustawianie pliku menu

    session.menuFile:       ~/.fluxbox/menu

Zmień po prostu ~/.fluxbox/menu, jeśli chcesz używać innego pliku dla swojego menu. Obecna struktura jednak powinna być dobra dla większości ludzi.


8.2. Dostępne polecenia

Menu Fluxboksa jest zwykłym plikiem tekstowym, który pozwala ci tworzyć podkatalogi, uruchamiać aplikacje, kontrolować pulpity, konfigurować Fluxboksa i wychodzić z X. Menu przyjmuje poniższe polecenia:

    [begin] (Tytuł menu)
    [submenu]  (Nazwa podmenu) {Tytuł podmenu}
    [exec] (Nazwa aplikacji) {/ścieżka/do/programu}
    [include] (/ścieżka/do/pliku/menu)
    [end]
    [nop] (--------)
    [workspaces] (Nazwa podmenu)
    [stylesdir] (/ścieżka/do/katalogu/ze/stylami)
    [config] (Konfiguracja)
    [reconfigure] (Przekonfiguruj)
    [restart] (Zrestartuj)
    [exit] (Wyjdź)

Większość z powyższego powinna mówić sama za siebie. W menu widoczny będzie tylko tekst, który w tym pliku jest ujęty w nawiasy. Zauważ, że nie ma żadnych limitów w ilość podmenu poza jednym praktycznym.

[nop] - To ci pozwala na umieszczenie tekstu lub pustej lini, który nie będzie niczego uruchamiał, ale się zachowywał jako zwykły separator w menu.

[reconfigure] - Jeśli używasz menu do zmiany konfiguracji Fluxboksa, będą one stracone przy wyjściu. Muszą być zapisane do pliku init, jeśli chcesz je na stałe. Możesz tego dokonać przez wybranie właśnie tej pozycji w menu po tym, jak wprowadziłeś swoje zmiany.

[restart] - Ta pozycja zrestartuje tylko Fluxboksa, a nie cały system.

I, jak zwykle, jeśli potrzebujesz dalszych przykładów, dostarczamy kompletny, przykładowy pliku menu razem z Fluxboksem.


Chapter 9. Tematy

9.1. Podstawy tematów

Justin Rebelo aka "demerol" podesłał tą sekcję.

Co to jest styl i jak on działa?

Styl jest po prostu tematem dla Fluxboksa. Jest to prosty plik ASCII, który podpowiada Fluxboksowi jaki ma być wygląd różnych komponentów menedżera okien. Zazwyczaj są one umieszczone w katalogu ~/.fluxbox/styles oraz we wspólnym, globalnym katalogu Fluxboksa, którego położenie różni się w zależności od użytej metody instalacji.

Jak mogę zrobić własny styl?

Zacznij od otworzenie stylu w swoim ulubionym edytorze tekstowym (polecam vim). Popatrz na styl, jak jest zorgranizowany i jaką ma strukturę. Tylko patrząc sam sobie odpowiesz na większość twoich pytań.

Struktura stylu

Styl składa się z kilku głównych komponentów, które posiadają własne poddyrektywy. Głównymi komponentami są toolbar (belka), menu i window (okno). Dyrektywy window.* określają wygląd obramować okna, natomiast window.tab.* wygląd zakładek okna. menu.* określa wygląd menu, które widzisz po kliknięciu prawym przyciskiem myszy na pulpicie. toolbar.* jest belką, którą widzisz na górze lub dole ekranu. Szczelina (nazywana również dokiem, wharf w innym menedżerach okien) jest określana przez również przez ustawienia toolbar, jeśli nie ustawisz im stylu oddzielnie.

Jak zmienić wygląd szczeliny?

Szczelina używa tych samych opcji co belka. W większości wypadków nie powinno to robić różnicy, ale jeśli chcesz mieć oddzielny styl dla szczeliny, to masz dostępne trzy dyrektywy, których możesz użyć:

    slit: [opcje tekstury]
    slit.color: [wartość koloru]
    slit.colorTo: [wartość koloru]

Te komendy będą działały tak jak dla menu, okien itp. podczas nakładania tekstury na szczelinę.

Czy mogę ustawić kolor/obraz jako tło?

Gdzieś w pliku stylu znajdziesz linię z rootCommand na początku, po którym nastąpi polecenie (zwykle bsetbg) do ustawienia koloru tła lub obrazka jako tła w stylu. Możesz użyć rootCommand innego niż bsetbg, ale odradzam to. bsetbg jest właściwie otoczką dla innych poleceń ustawiających tło okna root. Tym sposobem, ustawiasz, którego polecenia chcesz użyć do faktycznego ustawiania tła, a zostanie on użyty w każdym temacie, który wykorzystuje bsetbg.

Czy mogę dodawać uwagi/komentarze do moich stylu?

Jasne, po prostu rozpocznij linię krzaczkiem (#), wykrzyknikiem (!) lub użyć komentarzy w stylu C++ (//).

Nadal mam pytania...

Przejrzyj style dostarczone razem z Fluxboksem, powinieneś tam znaleźć odpowiedzi, a jeśli nie, to próbuj różnych ustawień. Jeśli nadal nie możesz sobie poradził, wejdź na #fluxbox na OPN. Mój nick to demerol.


9.2. Zaawansowana edycja tematów

Większość tej sekcji została wzięta lub na jej wygląd wpłynęła strona podręcznika systemowego o Fluxboksie z wersji 0.1.13. Zazwyczaj strony podręcznika są najbardziej autorytatywne, ale ten dokument powinien być trochę jaśniejszy dla początkującego autora styli.

By zrozumieć jak działa mechanizm styli dobrze jest wiedzieć co nieco jak działają zasoby X11.

Zasoby X11 składają się z klucza i wartości. Klucz składa się z kilku mniejszych kluczy (czasami określanych jako dzieci), rozdzielonych kropką (.). Klucze mogą zawierać gwiazdę (*) i wtedy działają jak maska, co oznacza, że jedna linia wpisanego tekstu może pasować do wielu kluczy. Jest to przydatne w stylach, które np. składają się z jednego lub dwóch kolorów.

Fluxbox pozwala ci na skonfigurowanie jego trzech głównych komponentów: belkę, menu i dekoracje okien. Szczelina automatycznie dziedziczy styl po belce, ale może też być skonfigurowana oddzielnie, jeśli jest taka potrzeba. Małe okienko pokazujące położenie okna podczas jego przenoszenia pożycza styl z belki tytułowej okna.

Poniżej jest kilka przykładów ilustrujących prostą składnię:

Example 9-1. Styl zegara na belce

    toolbar.clock.color:  green

To ustawi color zasobu zegara na belce na green (zielony). Inny przykład:

Example 9-2. Styl menu

    menu*color: rgb:3/4/5

To ustawi kolor zasobu menu i wszystkich jego dzieci na rgb:3/4/5. Zobacz strony manuala od X11, tam znajdziesz opis kolorów. Tak więc powyższe tyczy się menu.title.color jak również menu.frame.color. A tym:

Example 9-3. Styl czcionki

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

ustawiasz zasób czcionki dla wszystkich kluczy na tą nazwę czcionki na raz. Po informacje odnośnie zainstalowanych czcionek w twoim systemie sięgnij po program xfontsel, gfontsel lub xlsfonts.

A teraz to, co czyni Fluxboksa tak widowiskowym, czyli jego możliwość renderowania tekstur w locie. Opisy tekstur są podawana bezpośrednio do kluczy, do których powinny się tyczyć:

Example 9-4. Styl tekstur

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

Nie martw się, wyjaśnimy jak działają powyższe dyrektywy. Opis tekstury składa się maksymalnie z pięciu pól, którymi są:

Table 9-1. Dyrektywy tekstur

DyrektywaOpis
Flat / Raised / Sunkennadaj komponentowi wygląd płaski, podniesiony lub wklęsły.
Gradient / Solidrysuj jednym kolorem lub teksturę z gradientu.
Horizontal / Vertical / Diagonal / Crossdiagonal / Pipecross / Elliptic / Rectangle / PyramidWybierz jeden z tych typów tekstur. Działają tylko, jeśli jest użyte razem z gradientem. Horizontal - poziomy, Vertical - pionowy, Diagonal - po przekątnej, Crossdiagonal - po obu przekątnych, Elliptic - eliptyczny, Rectangle - prostokątny, Pyramid - piramidyczny ;-)
Interlacedprzeplataj teksturę (ściemniaj każdą inną linię). Ta opcja jest najczęściej wykorzystywana przy grandientowych teksturach, ale od wersji Blackboksa 0.60.3 (i stąd w każdej wersji Fluxboksa) działa też ze stałymi teksturami.
Bevel1 / Bevel2rodzaj zaciemniana na kantach do użycia. Bevel1 jest domyślne. Zaciemnianie jest umieszczane na brzegach obrazka. Bevel2 jest alternatywą. Zaciemnianie jest umieszczane w odległości jednego piksela od brzegu obrazka.

Abstahując od opisu tekstur, jest również dostępna opcja ParentRelative, która sprawia, że komponent wygląda jak część rodziaca.

Wszystkie gradientowe tekstury są tworzone z dwóch kolorów: color (kolor początkowy) i colorTo (kolor końcowy). Gdy przeplot jest włączony przy użyciu trybu Solid, zasób colorTo jest używane do określenia koloru przeplotu.

Kompletna lista komponentów i jakiego typu wartości zawierają jest dostępna tutaj - Appendix C.

Jest to długa lista, ale pamiętaj, że możesz utworzyć swój styl używając jednej komendy do ustawienia wielu kluczy, na przykład:

Example 9-5. Typowy, krótki styl

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

Appendix A. Ustawianie .xinitrc/.xsession

Podesłane przez Verin.

Miejsce xinit w świecie

Menedżer okien jest po prostu jeszcze jedną aplikacją X11, taką jak netscape, gimp czy xterm. Nowicjusze w X11 uważają, że X11 uruchamia menedżera okien, a ten uruchamia programy. Ale to nie jest prawdą. Jeśli tylko zechcesz, możesz uruchomić wszystkie swoje programy pod X11, zabić menedżera okien i uruchomić innego.

Prawdziwym program, który X11 uruchamia, który z kolei uruchamia inne programy, jest skrypt .xinitrc lub .xsession. Gdy X11 startuje, twój skrypt .xinitrc lub .xsession jest uruchamiany, a gdy ten skrypt kończy swoje działanie, X11 również to robi. Powtórzę to, bo to jest ważne: gdy .xinitrc kończy działanie, wtedy X również kończy działanie., a nie wtedy gdy twój menedżer okien się wyłącza.

Wygląd skryptu

Najpierw musi do ciebie dotrzeć to, że już to wiesz. Gdy wpisujesz polecenie w powłoce, nie możesz robić niczego innego, dopóki to polecenie się wykonuje. Twój skrypt .xinitrc lub .xsession działa tak samo. Po uruchomieniu, startuje po kolei wszystkie wpisane tam programy, a gdy napotka program, który działa bardzo długo (jak większość programów X11) zatrzymuje się dopóki ten program nie zakończy swojego działania.

Powienieś mieć tylko jedno miejsce, w którym skrypt się 'zawiesza'. I zazwyczaj jest to pod koniec skryptu. Więc jeśli masz jakieś programy, które chciałbyś uruchomić pod X11 zanim dojdziesz do miejsca 'zawieszenia', powinieneś uruchomić je w tle. Po prostu dodaj na końcu lini znak &. Więc jeśli chcesz uruchomić xclock, wstaw poniższą linię przed miejscem 'zawieszenia':

    xclock &

Następną rzeczą do wytłumaczenia jest ten exec, który jest polecany do wstawienia do tego skryptu. Szczere mówiąc nie jest to konieczne. Jeśli umieścisz wywołanie menedżera okien w ostatniej lini skryptu, ten zawiesi swoje wykonanie bez użycia exec.

Ale czemu polecają exec? Może chcież umieścić wiele lini startujących różne menedżery okien w twoim skrypcie, ale chcesz by tylko jeden się uruchamiał. Jeśli umieścić wywołanie wybranego menedżera poprzedzone exec przed wywołaniami innych menedżerów. A oto jak działa exec:

"Zastąp mnie tym programem, np. uruchomo go i zabij mnie natychmiast po jego zakończeniu."

Więc jeśli umieścisz exec wmaker przed exec enlightenment, gdy wmaker przerwie działanie, skrypt również to zrobi i nie dojdzie do kolejnej lini.

Widzisz więc czemu jest to niepotrzebne? Możesz po prostu zakomentować linie, które mają nie być wykonywane i będzie to działało tak samo.

Inny sposób

Jako alternatywa, możesz uruchomić menedżer okien na początku, zachować jego identyfikator procesu w zmiennej środowiskowej:

        wmaker & wmpid=$!

To uruchomi menedżera w tle (&) i umieści identyfikator procesu ($!) w zmiennej (wmpid). Następnie, by 'zawiesić' skrypt użyj polecenia wait:

    wait $wmpid

lub zawieszaj na programie, którego zawsze używasz, jak np. gkrellm, przez nie uruchamianie go w tle. Ale pamiętaj, że jak tylko zamkniesz ten program, również twoja sesja X11 się zakończy.

Ja używam metody z wait, ponieważ lubię mieć uruchomiony menedżer okien przed uruchomieniem dockappów i innych programów. Również, zanim cokolwiek innego zrobię, lubię zmieniać ustawienia serwera X11, takie jak dpms, wygaszacz ekranu, jak również dodać kilka ścieżek do czcionek (których nie chcę instalować globalnie). A wtedy, jak już wszystko jest zrobione, czyszczę ścieżkę do czcionek, ponieważ gdy uruchomię menedżer logowania, to nie jest dla niego zbyt dobre ciągłe resetowanie ścieżki do czcionek.

Example A-1. .xinitrc

    # deaktywuj wyłączanie ekranu i włącz funkcje energy star
    xset s off
    xset dpms 600 60 60

    # dodaj moje dodatkowe czcionki do ścieżki
    xset +fp "$X_FONTPATH"
    xset fp rehash

    # wyeksportuj środowisko, w razie potrzeby odpluskwiania
    env > ~/.xenv

    # menedżer okien
    fluxbox & wmpid=$!

    bbrun &
    wmCalClock &
    wmxmms &

    # PUNKT ZAWIESZENIA - zaczekaj na wyjście menedżera okien
    wait $wmpid

    # przywróć ścieżkę do czcionek
    xset fp default

Appendix B. Najczęściej zadawane pytania (FAQ)

B.1. Co to jest szczelina?
B.2. Czy jest możliwość, by dockappy pojawiały się w szczelinie w określonym porządku?
B.3. Jak zmienić format czasu wyświetlanego na belce?
B.4. Wprowadzam zmiany do pliku ~/.fluxbox/init, ale są one nadpisywane.
B.5. Jak działają zakładki??
B.6. Ciągle słyszę o tych czcionkach Artwiz. Co one dają?
B.7. Jak mogę ustawić tło?
B.8. Moje tło robi się brzydkie przy zmianie tematów.
B.9. Czy mogę używać mojego .blackboxrc z Fluxboksem?
B.10. Jak się automatycznie uruchamia programy podczas startu Fluxboksa?
B.11. Czy mogę używać styli (tematów) Blackboksa z Fluxboksem?
B.12. Jak mogę ustawić .xinitrc/.xsession?
B.13. Czy Fluxbox posiada obsługę KDE?
B.14. Czy Fluxbox posiada obsługę GNOME?
B.15. BBtools nie korzysta z mojego obecnego stylu nawet po restarcie.
B.16. Zakładki wyglądają brzydko z pewnymi stylami, jak to naprawić?
B.17. Jak umieścić ikona na pulpicie Fluxboksa?

B.1. Co to jest szczelina?

Po pierwsze, szczelina nie jest belką Fluxboksa.

Szczelina jest miejscem, gdzie dokujące aplikacje mogą zadokować. Mamy cały rozdział poświęcony szczelinie: Chapter 7. Przeczytaj go zanim zaczniesz zadawać pytania dotyczące szczeliny.

B.2. Czy jest możliwość, by dockappy pojawiały się w szczelinie w określonym porządku?

Począwszy od wersji 0.1.10 Fluxboksa - tak. Wyjaśnienie jest w rozdziale Chapter 7.

B.3. Jak zmienić format czasu wyświetlanego na belce?

Zmień poniższą linię w twoim pliku init:

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

Informacje o formacie otrzymasz po wydaniu polecenia man 3 strftime na swoim komputerze.

B.4. Wprowadzam zmiany do pliku ~/.fluxbox/init, ale są one nadpisywane.

Jest to błąd w wersjach wcześniejszych niż 0.1.8-bugfix2. Uaktualnij do najnowszej wersji / nałóż łatkę przed zgłaszaniem tego.

B.5. Jak działają zakładki??

Zobacz Chapter 4.

B.6. Ciągle słyszę o tych czcionkach Artwiz. Co one dają?

Wyjaśnienie jest w sekcji Appendix D

Jeśli podobają ci się czcionki Artwiz, ale nie lubisz ich wyglądu na terminalu, spróbuj zestawu czcionek LFP ze strony Linux Font Project. Są tam dostępne dwa zestawy - LFP-Fixed width (dobra dla terminali, czcionka o stałej szerokości) oraz LFP Variable-width (dobra w innych przypadkach, zmienna szerokość). Czcionki o stałej szerokości są również dostępne na konsolę Linuksa.

B.7. Jak mogę ustawić tło?

Jest to wyjaśnione w sekcji Chapter 6.

B.8. Moje tło robi się brzydkie przy zmianie tematów.

Rozwiązanie jest podane w sekcji Chapter 6.

B.9. Czy mogę używać mojego .blackboxrc z Fluxboksem?

Oczywiście, że możesz, ale pamiętaj o dodaniu dodatkowych lini odnośnie belki i przechwytywania klawiszy. Dobrze by było również, gdybyś utworzył łącze symboliczne tak, by pliki blackboxrc i ~/.fluxbox/init były takie same.

B.10. Jak się automatycznie uruchamia programy podczas startu Fluxboksa?

Zobacz Appendix A.

B.11. Czy mogę używać styli (tematów) Blackboksa z Fluxboksem?

Jasne. Paczki z nimi dla obu tych programów powinny być w pełni kompatybilne. To powinno się też tyczyć innych projektów, takich jak Waimea czy Openbox, ale tego nie mogę zagwarantować. Nie widziałem żadnej obietnicy od obu tych projektów, ale jednym z celów Fluxboksa jest pozostanie w zgodzie ze stylami Blackboksa.

B.12. Jak mogę ustawić .xinitrc/.xsession?

Zobacz Appendix A.

B.13. Czy Fluxbox posiada obsługę KDE?

Jasne, użyj opcji --enable-kde w configure. To sprawi, że ikony KDE będą się pojawiały w szczelinie.

B.14. Czy Fluxbox posiada obsługę GNOME?

Jasne, użyj opcji --enable-gnome w configure. To włączy obsługę GNOME. Od wersji 0.1.12 jest to domyślnie włączone.

B.15. BBtools nie korzysta z mojego obecnego stylu nawet po restarcie.

Podlinkuj ~/.blackboxrc do twojego ~/.fluxbox/init korzystając z poniższego polecenia:

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

B.16. Zakładki wyglądają brzydko z pewnymi stylami, jak to naprawić?

Żeby sprawić, by zakładki wyglądały (jeszcze) ładniej, musisz dodać kilka lini do twojego wymarzonego stylu (tematu). Zauważ, że nie musisz tego robić, gdyż Fluxbox jest jest w stanie sam ustawić poprawny kolor/styl zakładek, ale jeśli chcesz mieć nad tym kontrolę, dodaj linie takie jak poniżej:

Example B-1. Opisane zakładki w pliku tematu

    ! -- styl zakładek (dla Fluxboksa)
    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
    ! --- koniec, styl zakładek

Dobrze, ale co to wszystko robi? To samo co inne linie w temacie i jestem pewien i jestem pewien, że jeśli już zrobiłeś styl dla Blackboksa, zrozumiesz (a jeśli nie zrobiłeś żadnego stylu, to sekcja Chapter 9 może być pomocna).

Zauważ również, że styl zawierający te dodatkowe linie nadal będzie wyglądał pięknie w Blackboksie, więc nic nie tracisz dodając je.

B.17. Jak umieścić ikona na pulpicie Fluxboksa?

Fluxbox sam w sobie nie oferuje takiej funkcjonalności, ale są inne aplikacje, które to robią. Są to idesk, fbdesk oraz RoxFiler.


Appendix C. Ściąga do tematów

C.1. Dyrektywy tematów

Jest to kompletna lista dostępnych dyrektyw tematów określające, jakie wartości mogą być przypisane. Zobacz Chapter 9, jeśli cię interesują szczegóły tych dyrektyw.

Table C-1. Style belki

toolbarTekstura
toolbar.colorKolor
toolbar.colorToKolor
Przyciski
toolbar.buttonTekstura lub ParentRelative
toolbar.button.colorKolor
toolbar.button.colorToKolor
Kolor strzałek na przyciskach
toolbar.button.picColorKolor
Wciśnięte przyciski
toolbar.button.pressedTekstura (np. Sunken) lub ParentRelative
toolbar.button.pressed.colorKolor
toolbar.button.pressed.colorToKolor
Kolor strzałek wciśniętych przycisków
toolbar.button.pressed.picColorKolor
Nazwa pulpitu
toolbar.labelTekstura lub ParentRelative
toolbar.label.colorKolor
toolbar.label.colorToKolor
toolbar.label.textColorKolor
Tytuł okna
toolbar.windowLabelTekstura lub ParentRelative
toolbar.windowLabel.colorKolor
toolbar.windowLabel.colorToKolor
toolbar.windowLabel.textColorKolor
Zegarek
toolbar.clockTekstura lub ParentRelative
toolbar.clock.colorKolor
toolbar.clock.colorToKolor
toolbar.clock.textColorKolor
Tekst
toolbar.justifycenter (na środku), left (po lewej) lub right (po prawej)
toolbar.fontCzcionka

Table C-2. Styl menu

Tytuł
menu.titleTekstura
menu.title.colorKolor
menu.title.colorToKolor
menu.title.textColorKolor
menu.title.fontCzcionka
menu.title.justifycenter (na środku), left (po lewej) lub right (po prawej)
Obramowanie
menu.frameTekstura
menu.frame.colorKolor
menu.frame.colorToKolor
menu.frame.textColorKolor
menu.frame.disableColorKolor
menu.frame.fontCzcionka
menu.frame.justifycenter (na środku), left (po lewej) lub right (po prawej)
Kulki podmenu
menu.bulletempty (brak), triangle (trójkąt), square (kwadrat) lub diamond (diament)
menu.bullet.positionright (po prawej) lub left (po lewej)
Podświetlone wpisy
menu.hiliteTekstura (np. Raised)
menu.hilite.colorKolor
menu.hilite.colorToKolor
menu.hilite.textColorKolor

Table C-3. Styl okna

Pasek tytułowy
window.title.focusTekstura
window.title.focus.colorKolor
window.title.focus.colorToKolor
window.title.unfocusTekstura
window.title.unfocus.colorKolor
window.title.unfocus.colorToKolor
Tytuł okna
window.label.focusTekstura lub ParentRelative
window.label.focus.colorKolor
window.label.focus.colorToKolor
window.label.focus.textColorKolor
window.label.unfocusTekstura lub ParentRelative
window.label.unfocus.colorKolor
window.label.unfocus.colorToKolor
window.label.unfocus.textColorKolor

Table C-4. Handlebar styles

window.handle.focus.colorKolor
window.handle.focus.colorToKolor
window.handle.unfocusTekstura
window.handle.unfocus.colorKolor
window.handle.unfocus.colorToKolor

Table C-5. Resize grip styles

window.grip.focusTekstura
window.grip.focus.colorKolor
window.grip.focus.colorToKolor
window.grip.unfocusTekstura
window.grip.unfocus.colorKolor
window.grip.unfocus.colorToKolor

Table C-6. Styl przycisków na oknie

window.button.focusTekstura lub ParentRelative
window.button.focus.colorKolor
window.button.focus.colorToKolor
window.button.focus.picColorKolor
window.button.unfocusTekstura lub ParentRelative
window.button.unfocus.colorKolor
window.button.unfocus.colorToKolor
window.button.unfocus.picColorKolor
window.button.pressed Tekstura
window.button.pressed.colorKolor
window.button.pressed.colorToKolor

Table C-7. Styl obramowania okna

window.frame.focusColorKolor
window.frame.unfocusColorKolor

Table C-8. Styl zakładek

window.tab.justifyRight (po prawej), Left (po lewej) lub Center (na środku)
window.tab.label.unfocusTekstura
window.tab.label.unfocus.colorKolor
window.tab.label.unfocus.textColorKolor
window.tab.label.focusTekstura
window.tab.label.focus.colorKolor
window.tab.label.focus.textColorKolor
window.tab.borderWidthIlość pikseli
window.tab.borderColorKolor
window.tab.fontCzcionka

Table C-9. Styl czcionki tytule okna

window.fontCzcionka
window.justifycenter (na środku), left (po lewej) lub right (po prawej)

Table C-10. Różne style

Obramowanie wszystkich komponentów
borderWidthIlość pikseli
borderColorKolor
bevelWidthIlość pikseli
handleWidthIlość pikseli
frameWidthIlość pikseli
Polecenia do wykonania za każdym razem, gdy styl jest ładowany
rootCommandPolecenie powłoki, np. bsetbg fajnyrysunek.jpg
Zasoby starego BB 0.51
menuFontCzcionka
titleFontCzcionka

Appendix D. Czcionki Artwiz dla Fluxboksa

Wprowadzenie

Tak zwane Artwiz Fonts są czcionkami utworzonymi (dosyć tajemniczo) przez gościa, który sam się nazywa Artwiz. Han umieścił paczkę z tym czcionkami na jego stronie. Możesz ją ściągnąć ze strony http://www.xs4all.nl/~hanb/software/fluxbox/artwiz-fonts.tar.bz2.

Nie musisz instalować ręcznie tych czcionek jeśli masz pakiety RPM Mandrake'a. Są one już dołączone do dystrybucji. Jeśli nie masz, oto przepis. Są dwa sposoby instalacji czcionek artwiz: globalnie lub tylko dla użytkownika.

Instalacja globalna

Jeśli chcesz zainstalować czcionki dla wszystkich użytkowników systemu, ściągnij paczkę do /tmp i postępuj wg. poniższego schematu:

    # 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

Następnie zrestartuj serwer czcionek. Zauważ, że twoja dystrybucja może mieć inne miejsce, w którym przechowuje czcionki systemowe, jak np. /usr/share/fonts. Powyższy katalog powinien być jednak poprawny.

Instalacja tylko dla użytkownika

Jeśli chcesz zainstalować czcionki tylko dla jednego użytkownika, to cały proces jest trochę łatwiejszy. Ściągnij paczkę do twojego katalogu domowego a następnie:

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

Wyedytuj pklik .xinitrc lub .xsession (w zależności od tego, jak startujesz X11) tak, by zawierał poniższą linię przed wywołaniem jakiegokolwiek programu:

    xset +fp $HOME/.fonts

Następnie zrestartuj X11 i użyj xlsfonts lub xfontsel, by sprawdzić, czy czcionki zostały rozpoznane przez system.

Błędy

Czcionki artwiz czasami gryzą się z twoimi ustawieniami locale. Żeby działały poprawnie, możesz dodać następujące linie do pliku .xinitrc lub .xsession:

    export LC=C
    export LC_ALL=C

Te linie ustawiają locale, więc jeśli brakuje ci twoich czcionek lub masz inne problemy związane z locale, usuń je. Aleczapka podesłał inne rozwiązanie, które jest opisane poniżej.

A oto rozwiązanie jak używać swoich narodowych ustawień i nadal cieszyć się czcionkami Artwiz we Fluxboksie.

Naprawianie ustawień locale

Rozwiązanie jest bardzo proste. Wszystko co musisz zrobić to poprawić plik fonts.alias (i/lub fonts.dir).

To rozwiąże również problemy z innymi aplikacjami (np. Evolution z UTF-8). Najpierw musisz znaleźć właściwy plik fonts.dir. Powinien się znajdować w katalog, w którym zainstalowałeś czcionki Artiwiz. Jeśli go tam nie ma, to przejdź do tego katalogu i uruchom mkfontdir.

Składnia tego pliki jest prosta. Pierwsza linia zawiera tylko liczbę czcionek w katalogu. Wszystkie kolejne linie mają format:

     nazwa_pliku_czcionki nazwa_czcionki

Oto przykładowa zawartość pliku 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

Nas interesują tylko te wpisy, które mają krótką nazwę czcionki, w tym przypadku Nu, Drift, Cure i Aqui. Problemem jest to, że brakuje w nich pełnej nazwy czcionki X11.

Zmień plik tak, by wyglądał w ten sposób:

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

No i w końcu musisz jeszcze poprawić plik fonts.alias (by używać czcionek z innymi kodowaniami niż iso646).

Składnia to alias_czcionki nazwa_czcionki. Przykładowo, by czcionki artwiz współpracowały z kodowaniem ISO-8859-2 stwórz taki alias (poniższe w jednej lini):

-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 

Popatrz też na moje pliki fonts.dir i fonts.alias , którę obsługują kodowania ISO-8859-1, ISO-8859-2 oraz iso10646-1 (UTF-8). Jeśli ustawisz wszystko tak jak powyżej, nie będziesz musiał zmieniać flag LC_* na C lub POSIX, a wszystkie aplikacje (a nie tylko Fluxbox) będą działały tak, jak powinny, bez skarżenia się, że "can't convert character set" lub podobnie.


Appendix E. Odpluskiwanie

Ogólne informacje

Odpluskiwanie jest umiejętnością, której można się nauczyć. Jest kilka dobrych dokumentów opisujących jak pisać dobre zgłoszenia błędów. Przeczytaj je uważnie zanim napiszesz jakieś zgłoszenie - "twój" błąd nie ucieknie i cię nie zabije. To my go chcemy zabić i dlatego potrzebujemy twojej pomocy :-). Więc stań do walki dobrze przygotowany. Oto dwa, całkiem przyjemne dokumenty: Bugzilla Bug Reporting HOWTO i How to Report Bugs Effectively autorstwa Simona Tathams.

Z powodu natury niektórych nieoficjalnych łatek, nie możemy ich wszystkich wspierać. To oznacza, że powinieneś sprawdzić, czy Fluxbox działa błędnie bez nałożonych łatek. Jeśli łatki zostały nałożone przez jakiegoś opiekuna pakietów w danej dytrybucji, skontaktuj się z nim w tej sprawie.

Jeśli potrzebujesz więcej pomocy w odpluskwianiu niż jest jej dostarcza ten przewodnik, możesz sprawdzić, czy ludzie na #fluxbox na irc.freenode.net będę w stanie ci pomóc. Zazwyczaj są tam główni programiści jak i wiele, wykwalifikowanych ludzi, więc masz duże szanse na pomoc.

Speficyka Fluxboksa

Co wyrzuca Fluxbox?

Tak jak wiele innych aplikacji, Fluxbox wysyła wiele komunikatów na konsolę, z której został uruchomiony. Problemem jest to, że zazwyczaj cały wynik idzi na konsolę tekstową. Zmień linię startujące Fluxboksa na exec xterm lub jakikolwiek jest twój ulubiony emulator terminala. Uruchom X11 i wystartuj Fluxboksa z okienka xterm i jak widzisz, wszystkie komunikaty Fluxboksa się na niej pojawiają.

Informacje, których oczekujemy

Musimy wiedzieć wiele rzeczy. Upewnij się, że wiesz o nich wszystko.

Co robić ze zrzuconymi rdzeniami?

Jeśli kiedykolwiek Fluxbox zrzuci rdzeń, zrób co następuje: wejdż na kanał #fluxbox na OPN i powiedz fluxgenowi, że masz zrzucony rdzeń. Podaj mu wszystkie informacje, o jakie cię poprosi. Pewnie też poprosi cię, żebyś zrobić poniższe. Jest to dosyć dużo pracy, ale każdy z odpowiednim wyczuciem i doświadczeniem z Uniksem jest w stanie to zrobić. Aha, potrzebujesz też odpluskwiacza GNU, zwanego gdb.

Przebuduj Fluxboksa

Dokładnie, ale czytaj dalej. By zostać prawdziwym poszukiwaczem błędów, musisz przebudować Fluxboksa z symbolami debugującymi.

Skompiluj Fluxboksa jak zwykle, ale dodaj poniższe opcje podczas budowania:

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

Jeśli używasz pakietów źródłowych RPM ze strony Fluxboksa lub ze swojej dystrybucji, możesz zrobić poniższe:

    $ 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

Przejdź do katalogu z Fluxboksem (żebyśmy otrzymali rdzeń w dobrym miejscu). Powłowa ma całkiem fajną funkcję, dzięki której można m.in. wyłączyć zrzucanie rdzenia. My użyjemy go, do włączenia zrzucania:

    $ ulimit -c unlimited

Uruchom X11 i zacznij szukać błędów. Rób wszystko to, co sprawi, że Fluxbox zrzuci rdzeń. Jak już go otrzymasz, rozpoczniemy odpluskwianie:

    $ gdb fluxbox core

Teraz wpisz poniższą komendę w gdb (pierwsza część to zgłoszenie gdb, nie pisz jej :)):

    (gdb) where

W tym momencie otrzymasz masę tekstu jako wynik. Fluxgen chce znać cały wynik zaczynając od #.

Teraz wklej to do emaila, którego napiszesz do fluxgena i dołącz swoje pliki z ustawieniami z katalogu ~/.fluxbox.

Nie usuwaj jeszcze rdzenia, ani katalogu z kodem źródłowym. Fluxgen może zadać ci jeszcze kilka pytań, a później będziesz ich potrzebować. Nie wysyłaj rdzenia, jeśli fluxgen tego specjalnie nie zaznaczy, ponieważ jest on specificzna dla twojego systemu i prawdopodobnie nie będzie dla niego przydatki. No i rdzenia najczęściej są pokaźnych rozmiarów.

Done.