Using catalogs: /etc/sgml/sgml-docbook.cat Using stylesheet: /usr/share/sgml/docbook/utils-0.6.6/docbook-utils.dsl#html Working on: /usr/src/other/fluxdocs.it/sgml/main.sgml Fluxbox Documentation

Fluxbox Documentation

Tobias Klausmann

Edited by

Engelbert Gruber


Table of Contents
1. Introduzione
1.1. A proposito di questa documentazione
1.2. A proposito di Fluxbox
1.2.1. Cos'è Fluxbox
1.2.2. Features
1.2.3. Procurarsi Fluxbox
1.2.4. Fare domande e ricevere supporto
2. Incominciare
2.1. Installazione di Fluxbox
2.1.1. Procurarsi i sorgenti
2.1.2. Estrarre e Compilare
2.1.3. Eseguire Fluxbox
2.1.4. Per Concludere
3. Tools
3.1. Introduzione
3.2. fbrun
3.3. fluxbox-generate_menu
3.4. fluxspace
3.5. wmctrl
3.6. Pagers
4. Tabs
4.1. Introduzione ai tabs
4.2. Uso Avanzato dei Tabs
4.2.1. Sloppy Window Grouping
4.2.2. Usare i tabs con una classe di finestre
4.2.3. Disattivare completamente i Tabs
4.2.4. Posizionamento dei Tabs
4.2.5. Tab Autogrouping
4.2.6. I tabs nei temi
5. Key Bindings
5.1. Il Keygrabber
5.2. Nomi dei Tasti
5.3. Azioni
6. Desktop Backgrounds
7. La Slit
8. La Toolbar
9. Modificare i menu
9.1. Configurare la locazione del File del Menu
9.2. Comandi Disponibili
10. Temi
10.1. Basi dei Temi
10.2. Modifiche Avanzate sui Temi
A. Configurare .xinitrc/.xsession
B. Frequently asked questions (FAQ)
C. Theme Reference
C.1. Direttive dei temi
D. Fonts Artwiz per Fluxbox
E. Debugging
List of Tables
5-1. Navigazione
5-2. Operazioni Sulle finestre
5-3. Dimensioni delle Finestre
5-4. Movimenti delle Finestre
5-5. Varie
10-1. Texture directives
C-1. Stili della toolbar
C-2. Stili del Menu
C-3. Stili delle Finestre
C-4. Stili della Handlebar
C-5. Resize Grip Style
C-6. Stile dei bottoni delle finestre
C-7. Stili della finestra
C-8. Stile dei tab
C-9. Font sul etichetta della finestra
C-10. Stili vari
List of Examples
4-1. groups file
5-1. Il key-file di Fluxbox
5-2. XMMS keybindings
5-3. Tasti multimediali per XMMS
5-4. xev output per il tasto freccia destra
7-1. Specifiche del file Slitlist
8-1. toolbar tools example
9-1. Configurare il file del menu
9-2. menu
10-1. Toolbar Clock style
10-2. Menu style
10-3. Font style
10-4. Texture style
10-5. Tipiche dichiarazioni corte:
A-1. .xinitrc
B-1. Tabs personalizzati nel file dello style
D-1. fonts.dir

Chapter 1. Introduzione

1.1. A proposito di questa documentazione

Questa è la nuova documentazione per Fluxbox, un window manager per X11. E' stata creata dalla vecchia documentazione HTML con l'intento di renderla più facilmente adattabile ai vari formati di output. Il suo sorgente è scritto in DocBook 4.1, un formato che è stato specificatamente progettato per la documentazione.

Ci sono stati pochi mantainers della documentazione di Fluxbox. Il documento che stai leggendo è quasi interamente basato su lavoro di Rando Christensen o scritto direttamente da lui; seguito da e molti altri che hanno contribuito. Se manca un credit, per favore contatta l' per sistemarlo.

Questa documentazione è stata tradotta in italiano da Andrea Franchi Sono benvenuti commenti e/o correzioni.

Domande riguardanti Fluxbox possono essere inviate alla mailing list. Puoi trovare le informazioni per sottoscriverla nella pagina ufficiale di Fluxbox.

NoteContributi e Traduzioni
 

Accetterò la maggior parte dei contributi di documentazione ben scritta, per qualunque argomento che qui non viene trattato e che le persone ritengano vada aggiunto; Semplicemente inviatemi una mail all'indirizzo sopra menzionato se avete delle domande a proposito di come puoi aiutare o se hai della documentazione che vorresti aggiungere.

Sia il sorgente di questa documentazione che i vari formati disponibili come l'HTML e il PostScript sono disponibili sul sito di Fluxbox. Se desideri utilizzare un DTD o un altro formato di output, il sorgente è il tuo amico, sebbene probabilmente hai bisogno di un pò di esperienza coi DocBook nella modifica dei DTD. Se vuoi convertire il file sorgente in un altro file di diverso formato da quelli presenti sul sito di fluxbox, il pacchetto docbook2x può risultare utile.


1.2. A proposito di Fluxbox

1.2.1. Cos'è Fluxbox

Fluxbox è una altro gestore di finestre per X. E' basato sul codice di Blackbox 0.61.1. Fluxbox assomiglia a Blackbox e ne mantiene esattamente gli stili, i colori, il piazzamento delle finestre e simili (i temi/stili sono al 100% compatibili).

Allora quali sono le differenze tra Fluxbox e Blackbox? La risposta è: MOLTE! Qui c'è una lista di features che Fluxbox implementa, o che sono in via di sviluppo...


1.2.2. Features

Implementate:

  • Tab delle finestre configurabili.

  • Supporto per l'Antialias (Xft)

  • Supporto UTF-8

  • Barra delle Icone (per le finestre rimpicciolite/iconificate)

  • Autoraggruppamento delle finestre/tab

  • Cambio del workspace con la rotella del mouse

  • Titlebar configurabile (posizionamento dei bottoni, nuovi bottoni, etc.)

  • Supporto per KDE e Gnome (incluso Gnome2)

  • Supporto per "Extended Window Manager Hints" (ewmh)

  • Keygrabber integrato (supporta emacs-like keychains)

  • Opzione "Maximize over slit"

  • Ordinamento delle dockapp nella slit

Previste:

  • Session Management

  • Windows Snapping

  • Toolbar configurabile

  • Altre features minori

A parte questo, molti cambiamenti e miglioramenti sono stati fatti sul codice.


1.2.3. Procurarsi Fluxbox

Il sorgente di Fluxbox può essere scaricato dal sito principale, http://fluxbox.sourceforge.net/. Molte distribuzioni Linux e altri Unix liberi includono i pacchetti col sorgente o i binari di Fluxbox. Nel dubbio, usa il più recente pacchetto per la tua distribuzione.


1.2.4. Fare domande e ricevere supporto

Nonostante Fluxbox è facile da utilizzare e configurare, c'è la possibilità che vi siano alcuni punti poco chiari, domande o problemi da porre. Alla maggior parte di essi comunque è già stata data una risposta. In ogni caso, prima di fare delle domande sulla mailing list o sul canale IRC di Fluxbox, dai uno sguardo alle FAQ in Appendix B.


Chapter 2. Incominciare

2.1. Installazione di Fluxbox

Questa sezione è un contributo di Jason Gillman Jr. aka "Ircaddict".

Molte distribuzioni provvedono ad un pacchetto binario di Fluxbox (o nel caso di Gentoo e FreeBSD, ports/ebuilds) che rendono l'installazione di Fluxbox assai meno dolorosa. Ci sono comunque anche delle ragioni per compilare i sorgenti. Per esempio, la più recente versione di Fluxbox può non essere ancora disponibile in formato pacchetto. Inoltre può essere interessante compilare Fluxbox con certe particolari opzioni (flags). Se vuoi utilizzare il pacchetto binario della tua distribuzione, consultane la documentazione. Per alcune distribuzioni, sia i sorgenti che i pacchetti binari sono reperibili sul sito di Fluxbox.

La funzionee di questo documento è di aiutare le persone che sono per lo più nuove col sistema X11 (o Linux in generale), a compilare e installare il gestore di finestre Fluxbox.


2.1.1. Procurarsi i sorgenti

La prima cosa da fare è di andare alla pagina dei download e scaricare il tarball dei sorgenti (l'estensione del file è .tar.gz).

Di tanto in tanto, sono presenti versioni speciali di sviluppo. Queste permettono di avere un'anteprima sule novità che verranno, nuove funzionalità. Nonostante la loro qualità di versioni di sviluppo, a volte peccano di funzionalità o stabilità. Provale se desideri la Fluxbox più nuova, con tutti i benefici e le controindicazioni. Indicazioni su come scaricarli possono essere reperite nella sezione News del sito ufficiale di Fluxbox.


2.1.2. Estrarre e Compilare

Okay, ora che hai il tarball dei sorgenti, devi scompattarlo. Questo può essere fatto lanciando il seguente comando, sostituendo il nome del file con quello del file che hai scaricato:

    $ tar xzvf fluxbox-0.1.14.tar.gz

Avrai ora una lista di files che sono stati scompattati. Dopo aver fatto questo, entra nella directory che si è stata creata (sarà qualcosa del tipo fluxbox-0.1.14/, ma dipende dalla versione). Il prossimo passo è quello di configurare (configure) e compilare (make) Fluxbox. Durante la configurazione, puoi abilitare o disabilitare alcune funzionalità di Fluxbox. Per molte persone, la configurazione di default dovrebbe essere sufficiente. Se vuoi che la slit funzioni anche con le icone del pannello di KDE, devi usare l'opzione --enable-kde. Per veder quali opzioni sono disponibili nello script di configurazione, usa l'opzione --help. Se non vuoi abilitare il supporto per KDE, questo dovrebbe essere sufficente:

    $ ./configure
    $ make

Dopo aver compilato Fluxbox, diventa root e lancia:

    # make install

Congratulazioni, hai compilato ed installato Fluxbox


2.1.3. Eseguire Fluxbox

E' una bella cosa avere installato Fluxbox, ma che utilità può avere se non la puoi usare?

Ci sono generalmente due diversi modi di laciare X11 (e quindi Fluxbox). Il modo tradizionale è usando il comando startx. L'altro modo è utilizzando un gestore grafico del login (anche chiamato "display manager") Il più comune display manager è xdm Che è integrato nella distribuzione de XFree86. Il display manager fornito da Gnome si chiama gdm, e quello da KDE kdm.

Se X11 è lanciato nel modo tradizionale (usando startx), il file che è importante è .xinitrc che si trova nella tua home directory. In caso si utilizzi il display manager, il file è .xsession che risiede sempre nella tua home directory.

Il prossimo passo è di trovare l'eseguibile di Fluxbox. Per molte persone è /usr/local/bin/fluxbox. Ora hai bisogno di modificare (o creare) il file prima menzionato. Basta metterci la seguente linea in cima al file:

   exec /usr/local/bin/fluxbox

Eventualmente cambia /usr/local/bin/fluxbox nel percorso dove si trova il tuo eseguibile, dato che quello qui sopra è il percorso predefinito compilando i sorgenti. Una volta fatto ciò, salvalo e chiudi il file con qualunque editor tu abbia usato. Ora hai bisogno di lanciare il seguente comando se utilizzi startx:

   $ chmod 700 .xinitrc

Nel caso di .xsession quest'ultima operazione non è necessaria In entrambi i casi, dovresti creare la directory dove Fluxbox memorizza i suoi files di configurazione:

   $ mkdir .fluxbox

Se non la crei, quando esci da Fluxbox e la riutilizzi, perderai tutti i tuoi settaggi (la directory non si crea da sola sfortunatamente).


2.1.4. Per Concludere

Se hai bisogno di aiuto, basta andare sul forum di aiuto di Fluxbox e fare la tua domanda, sono sicuro che qualcuno sarà felice di aiutarti. Puoi anche fare le tue domande sulla mailing list degli utenti di Fluxbox. L'indirizzo della mailing list lo trovi sul sito di Fluxbox. Come ultima nota, raccomando di copiare i files init, menu, e titlebar dalla directory /usr/local/share/fluxbox e copiarli nella tua directory .fluxbox/


Chapter 3. Tools

3.1. Introduzione

Fluxbox è provvista di un'assortimento di utilità che rendono la vita più semplice o che offrono piacevoli funzionalità. Di default sono installate nella stessa locazione del binario fluxbox che solitamente è in /usr/local/bin a meno di non aver specificato un diverso percorso durante la configurazione. Molte distribuzioni usano locazioni diverse, così se hai usato il pacchetto binario, li dovresti trovare in /usr/bin.


3.2. fbrun

fbrun è fondamentalmente l'equivalente del comando "Run..." negli altri ambienti desktop. Questo significa che è una facile via per eseguire un programma che non è contenuto nel menù (o che necessita di particolari parametri quando invocato).

In un'altro modo fbrun può essere utile lanciandolo dal menù con una riga di commando preimpostata che è possibile modificare ed eseguire. Un esempio potrebbe essere collegandosi via ssh ad un host con un nome molto lungo e con molte opzioni che cambiano ogni volta. In questo caso, si può aggiungere una voce per fbrun al menu che contiene tutte le opzioni ed il nome dell'host. Quando viene usato questo comando, è possibile editarlo a seconda delle necessità e poi eseguirlo.

fbrun ha diverse opzioni:

   -font [font name]           Font del testo
   -title [title name]         Configura il titlo
   -text [text]                Testo in input
   -w [width]                  Larghezza della finestra in pixels
   -h [height]                 Altezza della finestra in pixels
   -display [display string]   Nome del display
   -pos [x] [y]                Posizione ella finestra in pixels
   -fg [color name]            Colore di sfondo del testo
   -bg [color name]            Colore dello sfondo
   -a                          Antialias
   -hf [history file]          File della cronologia da caricare (default ~/.fluxbox/history)
   -help                       Mostra questo help

Molte di queste opzioni sono autoesplicative. Le opzioni -text e -hf forse necessitano una spiegazione. Il former è usato per specificare il testo preimpostato (modificabile) all'interno della finestra di fbrun. Se desideri specificare argomenti multipli (come ssh -X -f), assicurati di inserirli tra le virgolette:

	fbrun -text "ssh -X -f"

L'opzione -hf specifica il file della cronologia, che è il luogo ove fbrun tiene "memoria" dei comandi che hai usato (proprio come fà la shell bash). Normalmente non c'è bisogno di questa opzione, ed è usato quello di default. Può essere utile se usi diversi fbrun nel tuo menu e vuoi tenere una cronologia separata per ognuno.


3.3. fluxbox-generate_menu

FIXME: Questo capitolo deve essere scritto.


3.4. fluxspace

(Preso da :http://fluxspace.sourceforge.net):

Fluxspace aggiunge alla gestione delle finestre di Fluxbox una nuova capacità di gestione del desktop. Utilizza i componenti esistenti e la potenza di Python per aiutare a costruire un ambiente desktop flessibile attorno a Fluxbox e agli altri window managers leggeri.

  • Aggiunge icone e pannelli per ogni workspace integrando tools come Rox Filer e Idesx.

  • Gestisce le applicazioni all'avvio

  • Lancia o ferma automaticamente le applets ogni qual volta entri o esci da un worksapce, permettendo così ad ogni workspace di avere proprie icone e dockapps.


3.5. wmctrl

Il programma wmctrl e un tool a riga di comando per interagire con un Window Manager compatibile con EWMH/NetWM.


3.6. Pagers

Un desktop/workspace pagers aiuta nel lavoro con più di un workspace, visualizzando gli spazi di lavoro in piccole viste e permettendo alle finestre di essere spostate in questa visione. Un pager non è richiesto lavorando con più spazi di lavoro dato che la loro gestione è fatta dal windowmanager e il nome del workspace e il suo contenuto possono essere letti nella toolbar e le finestre posono essere spostate da uno spazio di lavoro all'altro dal menu della finestra stessa o configurate nell file apps.

Ma i pager offrono una migliore visione d'insieme, alcuni visualizzando solo il bordo delle finestre, altri figure del contenuto o icone delle applicazioni in esecuzione.

  • bbpager: il pager di Blackbox, con un simile stile di configurazione. Visualizza solo il bordo delle finestre. bbtools

  • fluxter: è una modifica a bbpager, la cui configurazione è simile a Fluxbox. fluxter

  • Rox pager: il pager di ROX desktop, un ambiente desktop. ROX

  • 3d-Desktop: OpenGL pager che mostra gli spazi di lavoro in 3D. desk3d

  • e molti altri ...


Chapter 4. Tabs

4.1. Introduzione ai tabs

I tabs di Fluxbox non sono un'idea nuova. L'implementazione è molto simile a quella del window manager PWM. Come funzionano: le finestre multiple sono raggruppate insieme, e condividono la stessa geometria; cioè sono della stessa dimensione, nella stessa posizione e muovendone una si spostano tutte. Pensate ad una pila di fogli. I tabs sono come piccole etichette attaccabili alle pagine per ritorovarle più velocemente.

Nelle versioni superiori alla 0.1.14 i tabs erano attaccati alla finestra, mentre dalle versioni 0.9.x i tabs sono integrati nella titlebar della finestra.

Questo è esattamente il modo in cui i tabs funzionano in Fluxbox. Selezionando il tab nella finestra desiderata, essa apparirà in cima. Ora provaiamoli.

Concetti dii base dei tabs

La prima cosa da ricordare è che tutte le manipolazioni sui tab vengono fatte col terzo bottone del mouse. Per cominciare, prendi due finestre che desideri raggruppare insieme. Clicca col terzo bottone del mouse sul tab della prima finestra e spostalo su quello della seconda. Congratulazioni, sono raggruppati insieme! Puoi passare da una finestra all'altra usando i tab.

Per rimuovere un tab, è la stessa cosa. Clickare col terzo bottone su un tab ragguppato e spostarlo via.


4.2. Uso Avanzato dei Tabs

4.2.1. Sloppy Window Grouping

"Ma faccio un pò di fatica a spostare un tab dentro un'altro tab molto piccolo."

Buone notizie. Dal menu 'configuration' di Fluxbox, scegli l'opzione 'Sloppy Window Grouping'. Essa permette di raggruppare le finestre spostando il tab in un punto qualunque.


4.2.2. Usare i tabs con una classe di finestre

"Che bello, ma io voglio solo i tab per il programma XYZ!"

Ci sono due modi differenti di fare ciò, dipende da quanti programmi vuoi che usino i tab. Puoi abilitarli/disabilitarli dalla finestra (click col tasto destro sulla barra del titolo e selezionare/deselezionare l'opzione 'tab'), oppure puoi disabilitarli nelle impostazioni globali con 'Configuration'->'Use Tabs'. Dopo averli disabilitati, puoi riattivare i tab individualmente per ogni finestra come descritto sopra.


4.2.3. Disattivare completamente i Tabs

"Non credo mi piacciano i tabs. Posso disattivarli?"

Certamente. Seleziona 'Use Tabs' dal menu 'Configuration' di Fluxbox. Essendo un'opzione di selezione, attivarla significa abilitare i tabs. C'è anche un'altra opzione nel file di configurazione init per fare ciò:

    session.tabs:   true

Per disabilitare i tabs sostituisci il valore true con false.


4.2.4. Posizionamento dei Tabs

Nelle versioni superiori alla 0.1.14 i tabs erano atttaccati alla finestra, mentre dalla versione 0.9.x i tabs sono incorporati nella barra del titolo della finestra.

(0.1.14) C'è un opzione nel menu di configurazione chiamata 'Tab Placement' (Posizionamento del Tab). Questi sono i posti sulla finestra dove possono essere messi i tabs. Il tutto è piuttosto semplice da comprendere, l'unica cosa che necessita di essere menzionata sono le opzioni 'Relative'. Queste fanno in modo che la lunghezza totale di tutti i tabs della finestra è uguale alla lunghezza di quest'ultima. Per esempio, se c'è un tab, esso avrà lunghezza pari a quella della finestra; se ci sono due tabs, ognuno di essi sarà il 50% della lunghezza della finestra. Questa opzione spesso rende i tabs facilmente utilizzabili ed è molto usata.


4.2.5. Tab Autogrouping

A volte potresti desiderare che certe applicazioni vengano automaticamente raggruppate insieme coi tabs quando vengono lanciate. Questo logicamente è chiamato "Autogrouping" (autoraggruppamento). Questa parte spiega come funziona. Prima di tutto, hai bisogno di una versione di Fluxbox superiore alla 0.1.11. L'autoraggruppamento non funziona con le versioni precedenti. Ora devi creare un file ~/.fluxbox/groups se non è già presente. Quindi edita il file ~/.fluxbox/init e aggiungi la linea (o modificala se già è presente ed è diversa):

         session.groupFile:		~/.fluxbox/groups

Okay, ogni cosa è a posto. Ora devi semplicemente inserirlo nel file dei gruppi.

Formato del file dei gruppi

C'è un gruppo per ogni linea nel file e devi solo il nome del programma che deve essere raggruppato. Per esempio:

Example 4-1. groups file

    Navigator nedit
    xterm

Questo creerà due gruppi, uno con netscape e nedit e un'altro con xterm. La nuova finestra si raggrupperà alle altre finestre nello stesso workspace e all'ultima di esse che è stata selezionata. Il nome da mettere nel file dei gruppi lo ricavi con:

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

e clicca sulla finestra. Se ciò non dovesse mostrare nulla, prova a cambiare $4 in $3.

Autoraggruppamento dai Tabs

Questo ti permette di far apparire il menu principale, cliccando col tasto destro sul tab e, selezionando un appicazione, di farla partire già raggruppata.

Note

Raggruppando in questo modo (dai tabs) si potrebbe interferire col normale raggruppamento automatico.


4.2.6. I tabs nei temi

C'è un'intera sezione (Chapter 10) dedicata ai tabs nei temi. Puoi controllarla se sei interessato a modificare la visualizzazione dei tabs nel tuo tema. (I tabs in un tema normalmente sono uguali allo stile della barra del titolo; ad alcune persone può però piacere farvi qualche modifica.)


Chapter 5. Key Bindings

5.1. Il Keygrabber

Il keygrabber funziona in modo simile a bbkeys, che è un eccellente tool ma con alcune limitazioni (ed ha una licenza incompatibile), ma con una sintassi totalmente nuova per il file di configurazione, e un paio di nuove funzionalità che rendono Fluxbox ancora più potente.

In primo luogo, il nuovo keygrabber supporta le sequenze di catene di caratteri (come emacs)... Per esempio potresti avere: Mod1 + M + Mod1 + F per passare al prossimo spazio di lavoro (non tutti probabilmente vogliono usare questa particolare sequenza).

E se hai scritto in una parte della sequenza ma decidi di non continuare (abortire) allora puoi premere un'altra sequenza di tasti (che devi configurare nel tuo file dei tasti) per abortire semplicemente (con: AbortChain).

In aggiunta a questo puoi anche collegare una sequenza di tasti per spostarti tra le finestre raggruppate mediante i tabs (con: NexTab e PrevTab).

In fine, per tua convenienza, ti abbiamo (o meglio Vlaad e Tarzeau) fornito due script (che fanno entrambi la stessa cosa) per convertire un file di configurazione di bbkeys in un key-file di Fluxbox. (L'utilizzo degli scripts e descritto al loro interno). Download: convertkeys or convertkeys2.

Example 5-1. Il key-file di Fluxbox

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

Come puoi vedere, prima c'è un modificatore (ModX), dopo una chiave (seguiti eventualmente da un ulteriore modificatore e una chiave, se desideri avere una sequenza lunga) e infine una colonna con un'azione.

Per una lista di azioni valide leggi un pò più in basso questo documento.

E perchè questo è cosa buona e giusta? Bene, ora puoi controllare il tuo xmms, per esempio:

Example 5-2. XMMS keybindings

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

Se hai dei tasti addizionali (ad esempio i tasti multimediali) puoi controllare xmms in questo modo se hai configurato questi tasti correttamente in XFree86/Xorg:

Example 5-3. Tasti multimediali per XMMS

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

Controlla xmms --help per maggiori informazioni, ma se hai fatto tutto giusto ora probabilmente...


5.2. Nomi dei Tasti

Probabilmente ti stai chiedendo come trovare il nome di un tasto. Lancia xev, muovi il mouse sulla finestra appena creata, premi un tasto e guarda cosa compare. Qui c'è un esempio dopo aver premuto il tasto freccia destra (Right Arrow):

Example 5-4. xev output per il tasto freccia destra

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

La cosa interessante è il nome del tasto, che è quello tra parentesi insieme con keysym. In questo esempio quindi (keysym 0xff53, Right). Dunque, il nome per questo tasto è Right.

Tasti Speciali

Qui ci sono alcuni tasti speciali per la tua comodità. Nota che sono immediatamente visualizzati da xev se li premi (e non come combinazione di altri tasti).

KeyX11 Name
Control, StrgControl
AltMod1
Super, Meta, Win* KeysMod4


5.3. Azioni

Queste sono le azioni correntemente fornite da Fluxbox. Coprono molte delle cose che una persona desidererebbe far partire premendo un tasto. Nota che nel file del keybindings l'ultimo carattere prima dell'azione deve essere un :.

Le azioni non fanno differenza tra maiuscole e minuscole (case insensitive).

Table 5-1. Navigazione

AzioneRisultato
WorkspaceVai ad un particolare workspace. Uso :Workspace 1, :Workspace 2, etc.
NextTabPassa al prossimo tab nel gruppo corrente.
PrevTabPassa al tab precedente nel gruppo corrente.
NextWindow NVai alla prossima finestra. Guarda Note 1.
PrevWindow NVai alla finestra precedente. Ancora, guarda Note 1.
NextWorkspaceVai al prossimo workspace.
PrevWorkspaceVai al workspace precedente.
NextGroup, PrevGroup Vai al prossimo/precedente gruppo di finestre.
LeftWorkspaceCome PrevWorkspace.
RightWorkspaceCome NextWorkspace.

Note1. NextWindow / PrevWindow
 

Le azioni NextWindow/PrevWindow hanno un argomento numerico, che è leggermente complicato per essere spiegato nella tabella sopra. Qui è spiegato come funziona.

Il parametro intero (integer) che specifica le opzioni è preso dalla tabella sottostante e viene fatta l'operazione di OR:

Valore del BitOpzione
1Passa ai tabs più bassi (tratta i gruppi di tabs come una finestra)
2Passa alle finestre raggruppate
4Passa alle finestre in ombra

Somma il valore dell'opzione che preferisici. Il risultato è il parametro per NextWindow/PrevWindow. O puoi più velocemente prendere il valore dalla tabella sottostante:

ParametroOpzioni
0Non passare.
1Passa ai tabs più bassi.
2Passa alle finestre raggruppate.
3Passa alle finestre/tabs più bassi
4Passa alle finestre in ombra.
5Passa alle finestre/tabs in ombra più basse.
6Passa alle finestre raggruppate o alle finestre in ombra.
7Passa ai tabs più bassi o alle finestre ragruppate o alle finestre in ombra.

Table 5-2. Operazioni Sulle finestre

AzioneRisultato
CloseChiude la finestra.
KillWindowL'equivalente di lanciare xkill e clicckare culla finestra.
MinimizeDetto anche "iconify". Riduce la finestra a icona.
ShadeWindowMette la finestra nello stato'shaded' (in ombra), o la ripristina dallo stato 'shaded'.
StickWindowAttiva o disattiva lo stato 'sticky'.
ToggleDecorAttiva o disattiva (bordo, bottoni o barra del titolo) della finestra attiva.
RaiseMette la finestra al 'Top', apparirà sopra tutte le altre finestre.
LowerContrario di Raise.
NextTab, PrevTabAttiva il prossimo/precedente tab.
MoveTabLeft, MoveTabRightMuove il tab selezionato n tabs a destra/sinistra.
DetachClient Toglie la finestra selezionata dal gruppo.

Table 5-3. Dimensioni delle Finestre

AzioneRisultato
HorizontalIncrementAumenta di un'unità la larghezza della finestra (Guarda Note 2).
HorizontalDecrementOpposto di HorizontalIncrement
VerticalIncrementAumenta di un'unità l'altezza della finestra (Guarda Note 2).
VerticalDecrementOpposto di VerticalIncrement
MaximizeHorizontalMassimizza la finestra orizzontalmente.
MaximizeVerticalMassimizza la finestra verticalmente.
MaximizeWindowMassimizza la finestra.
ResizeRidimensiona la finestra della differenza specificata, per esempio: resize -8 -8.
ResizeHorizontalRidimensiona solo orizzontalmente.
ResizeVerticalRidimensiona solo verticalmente.
ArrangeWindowsTile la finestra magicamente.
ShowDesktopIconifica tutte le finestre.

Note2. HorizontalIncrement / HorizontalDecrement / VerticalIncrement / VerticalDecrement
 

Si intende "un'unità" quando si parla di ridimensionamento, in particolare per xterm/aterm/Eterm invece di riferirsi ad un ridimensionamento di un pixel, cioè viene aggiunto uno spazio della larghezza di un carattere.

Gli altri programmi invece dovrebbero ridimensionarsi di un pixel.

Table 5-4. Movimenti delle Finestre

AzioneRisultato
SendToWorkspaceManda la finestra corrente ad un workspace specifico. Uso :SendToWorkspace 1
MoveMuovi di delta-x delta-y.
MoveLeftIndovina.
MoveRightIndovina.
MoveUpIndovina.
MoveDownIndovina.

Table 5-5. Varie

AzioneRisultato
AbortKeychainUtilizzando le keychains, cancella l'azione.
ExecCommandEsegui un comando. Esempio :ExecCommand xmms -t.
RootMenuInvoca il menu principale.
WorkSpaceMenuInvoca il menu del workspace.
RestartRiavvia Fluxbox.
ReconfigureRiconfigura Fluxbox, rileggendo la configurazione. Ad esempio se keys è stato cambiato, ma init e slitlist sono stati scritti prima di leggere.
SetStyleCarica il file specificato.
SetWorkspaceNameImposta il nome del workspace.
SaveRCSalva il file delle risorse.
QuitEsce da Fluxbox.

Chapter 6. Desktop Backgrounds

Fluxbox, come Blackbox, dispone di due wrapper utilities per questo, in fatti hanno lo stesso nome usato in Blackbox: bsetroot e bsetbg. Vediamo come funzionano.

bsetroot

bsetroot è circa l'equivalente di xsetroot. Può settare uno sfondo molto semplice, come un colore unico. bsetroot in più puo anche settare il gradiente.

bsetbg

bsetbg è un programma di più alto livello. E' in realtà un wrapper per altre utilities che possono settare gli sfondi come wmsetbg, Esetroot, il programma display di ImageMagick, etc. Qunado viene eseguito per la prima volta crea il file di configurazione ~/.fluxbox/bsetbg, che permette di configurare i programmi che può usare. Puoi modificarlo in ogni momento per scegliere quale usare. Per usare applicazioni che utilizzano le trasparenze, come xchat e Eterm, dovresti utilizzare wmsetbg o Esetroot.

Sovrascrivere lo sfondo

Uno degli inconvenienti di Blackbox è che lo sfondo è completamente dipendente dal tema. Ogniqualvolta si cambia il tema, avete solo quello scelto dal suo autore. Molte persone non amano questa caratteristica. Bene, Fluxbox ha la soluzione a questo. Aggiungi questa linea al file ~/.fluxbox/init file:

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

E qualunqe cosa avete messo, diventerà il vostro sfondo, non importa cosa l'autore del tema abbia da dire a riguardo.


Chapter 7. La Slit

Una delle domande poste più frequentemente è "Cos' è la slit?" Infatti, quando questo documento è stato scritto, l'ho copiato anche in cima alle FAQ per prevenire che la stessa domanda venisse posta dieci volte al giorno in #fluxbox e per metter fine al mito che la slit è un'altro nome della toolbar.

La slit è una delle molte parti di Fluxbox che sono state ereditate da Blackbox. E' stata disegnata per contenere le dockapps di WindowMaker (e qualunque altra cosa giri in modalità 'withdrawn' o (raramente) 'swallowed'). Alcune di queste applicazioni spesso supportano l'opzione -w, mentre alcune sono già in modalità withdrawn.

Bene, la prima cosa da fare è accertarsi che sia la slit sia stata compilata in Fluxbox. Generalmente lo si dà per scontato essendolo di default. Che io sappia, tutti i pacchetti per le differenti distribuzioni la includono. Se preferisci non averla, puoi disabilitarla al momento della compilazione. Nota che comunque, non utilizzando la slit non si occupa spazio sullo schermo e solo una piccola quantità di memoria viene consumata, per cui solitamente è necessario disabilitarla solo se interferisce con altri progarmmi.

A parte questo, è possibile lanciarvi qualunque applicazione 'dockabile' (withdrawn mode). Ad esempio, xmms contiene l'applicazione wmxmms. Semplicemente lanciando wmxmms &, apparirà nella slit. Come detto in precedenza, alcune applicazioni (per esempio gkrellm) necessitano dell'opzione -w per essere lanciate nella slit.

Dove posso prendere le dockapps?

Il miglior posto da cui iniziare è the Dockapp warehouse. C'è un vasto assortimento di dockapps disponibile qui. Inoltre puoi fare una ricerca su Freshmeat, o tra il software della tua distribuzione.

La pagina bbtools contiene varie utilities per Blackbox/Fluxbox, la maggior parte delle quali può girare nella slit.

Inoltre, se il supporto per KDE è abilitato, vi appariranno anche le appletts di KDE.

Dockapps.org è un nuovo sito completamente dedicato alle dockapps.

Posso cambiare il comportamento della slit?

Certo. Semplicemente cliccando col tasto destro sulla parte visibile della slit e selezionando le opzioni dal menù che appare. La maggior parte di queste opzioni sono le stesse della taskbar. L'unica differente è Direction. La slit può essere disposta Horizontal (orizzontalmente) oppure Vertical (verticalmente).

C'è inoltre l'opzione Maximize Over Slit nel menù di configurazione; Questa opzione permette alle finestre massimizzate di coprire la slit.

Voglio ricordare l'ordine delle mie dockapp sulla slit!

In Fluxbox 0.1.10 e successive, questo è possibile usando il flie slitlist. Di seguito alcune informazioni su come fare.

L'ordine corrente delle dockapps è memorizzato in un file, di default è ~/.fluxbox/slitlist. Quando vengono caricate le dockapps nella slit, quest'ultima cerca di mantenerne l'ordine, sulla base dell'esecuzione precedente, tramite il nome.

Una semplice procedura per mettere nella sequenza desiderata le applicaziioni sulla slit:

Ordinare le dockapps

  1. Esegui Fluxbox senza pre-caricare le dockapps.

  2. Esegui le dockapps individualmente e nell'ordine che intendi stabilire.

  3. Aggiungi o riaggiungi le dockapps allo script per lanciarle automaticamente, per esempio .xinitrc o .xsession. Qui l'ordine non è importante.

La sequenza è salvata di default in ~/.fluxbox/slitlist e sarà memorizzata anche per le sessioni di Fluxbox successive.

E' possibile modificare manualmente il file slitlist. E' una semplice lista di nomi di finestre, ogni dockapp su una riga. Questo file dovrebbe essere modificato mentre Fluxbox non è in esecuzione altrimenti le modifiche potrebbero essere sovrascritte.

E'possibile anche scegliere un percorso diverso del file slitlist. Il seguente esempio mostra come cambiare il percorso aggiungendo una riga al file init:

Example 7-1. Specifiche del file Slitlist

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

Notare che non c'è nessuna opzione per disabilitare completamente l'ordinamento. L'autore della patch non pensa si tragga beneficio da un ordine arbitrario.


Chapter 8. La Toolbar

La toolbar è una piccola area per visualizzare informazioni di Fluxbox, come l'orologio, o i bottoni per lanciare i programmmi.

E' configurata dai file init e style. Le opzioni del file init sono solitamente cambiate dal menu della toolbar.

La toolbar può essere disattivata (resa invisibile dall'opzione session.screen0.toolbar.visible: false nel file init).

Gli oggetti sono configurati solitamente nel file .fluxbox/init con la voce toolbar.tools.

Example 8-1. toolbar tools example

session.screen0.toolbar.tools: clock, iconbar, workspacename
Possibili tools: workspacename, prevworkspace, nextworkspace, iconbar, systemtray, prevwindow, nextwindow, clock

La larghezza, la trasparenza ed i livelli della toolbar possono essere configurati usando il menu di quest'ultima. Il menu viene visualizzato cliccando col tasto destro l'orologio o il nome del workspace nella toolbar.

La barra delle icone può essere configurata per non visualizzare niente, icone degli altri workspaces, icone del worspace corrente, tutte le finestre del workspace o tutte le finestre di tutti i workspaces.

Come questo è visualizzato è configurato nel file dello stile.


Chapter 9. Modificare i menu

Avete Fluxbox installata e ora potete vedere quellla piccola applicazione chiamata menu, cliccando sul desktop col tasto destro del mouse. Questo menu è poco utile se però non lo puoi modificare inserendo le applicazioni che usi. Questo documento cercherà di rispondere a tutte le domande riguardanti i menu.

Prima di tutto, c'è una graziosa utility inclusa in Fluxbox, chiamata fluxbox-generate_menu. Essa prova a verificare il percorso di vari programmi comunemente installati come i browser, emulatori di terminale e crea un file del menu. fluxbox-generate_menu è spiegato in dettaglio in Section 3.3.


9.1. Configurare la locazione del File del Menu

Il file del menu di Fluxbox è di default ~/.fluxbox/menu. Questo può essere comunque cambiato, tramite il file init. Qui c'è un esempio della modifica:

Example 9-1. Configurare il file del menu

    session.menuFile:       ~/.fluxbox/menu

Semplicemente cambia ~/.fluxbox/menu se desideri usare un file diverso per il menu. L'attuale struttura comunque dovrebbe andare bene per la maggior parte degli utenti.


9.2. Comandi Disponibili

Il menu di Fluxbox è semplicemente un file di testo che ti permette di creare sottodirectory, lanciare applicazioni, controllare i desktop, configurare Fluxbox e uscire da X. Il menu può accettare i seguenti comandi:

    [begin] (MenuTitle)
    [submenu]  (SubMenuName) {SubMenuTitle}
    [exec] (ApplicationName) {/path/to/program}
    [include] (/path/to/menufile)
    [end]
    [nop] (--------)
    [workspaces] (SubMenuName)
    [stylesdir] (/path/to/stylesdir)
    [config] (FluxboxConfiguration)
    [reconfigure] (Reconfigure)
    [restart] (Restart)
    [exit] (Exit)

La maggior parte sono autoesplicativi di ciò che fanno. Quelli in corsivo sono le parole che attualmente vedi sul tuo schermo. Voglio spiegare i più difficili per capire meglio. Notare che non c'è nessun limite fisico alla profondità dei menu innestati, probabilmente è giusto una questione di praticità.

[nop] - Questo permette di inserire testo o una riga vuota se non vuoi fargli fare niente ma usarlo giusto come separatore nel menu.

[reconfigure] - Se usi il menu per cambiare la configurazione di Fluxbox, i cambiamenti verranno persi una volta usciti dal programma. E' necessario scriverli nel file init per rendere permanenti le modifiche, che può essere fatto selezionando 'reconfigure' dopo aver fatto i cambiamenti chhe desideri.

[restart] - Vorrei essere sicuro che tutti sappiano che il comando restart riavvia solo Fluxbox e non l'intero sistema.

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

o consulta il più completo file di esempio menu che è incluso in Fluxbox.


Chapter 10. Temi

10.1. Basi dei Temi

Questa sezione è un contributo di Justin Rebelo aka "demerol".

Cos'è uno stile e come funziona?

Uno stile è fondamentalmente un tema per Fluxbox. E' un semplice file di testo ASCII che dice a Fluxbox come generare l'aspetto dei differenti componenti del window manager. Solitamente si trova in ~/.fluxbox/styles e nella directory globale di Fluxbox, che cambia a seconda del metodo di installaziione usato.

Come posso farmene uno mio?

Comincia aprendo uno stile col tuo editor di testo preferito (io raccomando vim). Osserva lo stile, come è strutturato e organizzato. Basta dargli un'occhiata e si chiariranno molte delle domande che avete.

Struttura di uno stile

Lo stile è composto da pochi componenti primari che hanno le proprie sotto-direttive. La toolbar, menu e window sono i componenti primari. Le direttive window.* controllano l'aspetto della window frames, window.tab.* controlla l'aspetto dei tab della finestra. menu.* controlla l'aspetto del popup menu che puoi vedere clickando col tasto destro sul desktop. toolbar.* è la barra che puoi vedere in cima o in fondo allo schermo. La slit, (anche chiamata dock, wharf o altro in altri gestori di finestre) è controllata dal parametro toolbar, se non setti il suo stile in modo specifico.

Come posso cambiare l'aspetto della slit?

La slit normalmente utilizza le stesse opzioni della toolbar. La maggior parte delle volte questa cosa funziona ragionevolmente bene. Se vuoi specificare lo stile della slit, ci sono tre direttive che puoi usare:

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

Questi comandi funzionano esattamente come quelli del menu, delle finestre, etc. quando renderizzano la slit.

Posso impostare un immagine/colore di sfondo?

Da qualche parte nel file dello stile puoi vedere una linea che inizia con rootCommand seguito da un comando (preferibilmente bsetbg) per impostare il colore o l'immagine di sfondo dello stile. Puoi usare un rootCommand differente da bsetbg, ma io non lo raccomando. bsetbg è un wrapper per altri comandi che settano la finsetra di root. In questo modo specifichi quale backend (Esetroot etc.) preferisci e sarà usato in tutti i temi che utilizzano bsetbg.

Posso aggiungere delle note/commenti nei miei stili?

Certo, basta iniziare una linea con il simbolo (#), il punto esclamativo (!), o usare i commenti in stile C++ (//).

Ho ancora delle domande...

Dai un'occhiata agli stili inclusi in Fluxbox, dovresti riuscire a trovarvi le risposte o provando impostazioni differenti. Se non ci riesci, vieini nel canale #fluxbox su OPN. Il mio nick è demerol.


10.2. Modifiche Avanzate sui Temi

La maggior parte di questa sessione è presa, o largamente influenzata, dalla pagina del man di Fluxbox 0.1.13. Normalmente, la pagina del man è l'autorità definitiva su queste cose, ma questo documento potrebbe essere maggiormente chiarificatore per un novello autore di stili.

Per capire come funziona il meccanismo degli stili, è utile conoscere un'po a proposito di come funziona X11.

Una risorsa di X11 consiste in una chiave ed in un valore. La chiave è costituita da molte altre chiavi più piccole (a volte denominate figli), delimitate da un punto (.). Le chiavi possono inoltre contenere un asterisco (*) che serve come wildcard, cioè significa che una linea di testo digitata influirà su diverse chiavi. Quuesto è utile per gli stili che sono basati su uno o due colori.

Fluxbox ti permette di configurarne i suoi tre componenti principali: la toolbar, il menu e le decorazioni delle finestre. La slit automaticamente incorpora il suo stile dalla toolbar ma può avere uno stile differente se necessario. La piccola finestra che visualizza la posizione x-y trascinando una finestra, trae il proprio stile dalla barra del titolo.

Qui ci sono alcuni esempi veloci per illustrare la sintassi base:

Example 10-1. Toolbar Clock style

    toolbar.clock.color:  green

Questo setta l'orologio della toolbar di colore green. Un altro esempio:

Example 10-2. Menu style

    menu*color: rgb:3/4/5

Questo setta il colore del menu e tutti i suoi figli a rgb:3/4/5. Per una descrizione dei nomi dei colori, guarda la pagina del man di X11. E questo inoltre si applica a menu.title.color e menu.frame.color. E con questo:

Example 10-3. Font style

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

setti il font per tutti i tasti Per informazioni riguardo i fonts installati nel sistema puoi usare un programma come xfontsel, gfontsel, o xlsfonts.

Ora, cio che rende Fluxbox così spettacolare è la sua abilità di renderizzare le texture al volo. La descrizioni di una texture sono specificate direttamente alla chiave a cui si riferiscono:

Example 10-4. Texture style

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

Non ti preoccupare, spiegeremo come funzionano queste direttive. La descrizzione di una texture consiste in più di cinque campi, che sono i seguenti:

Table 10-1. Texture directives

DirettiveDescrizione
Flat / Raised / Sunken / Tiled

conferisce al componente un apparenza piana (flat), in rilievo (raised), .... (Sunken) o ... (Tiled).

Tiled si applica solo alle pixmaps e non influisce sulla dimensione.

Gradient / Soliddisegna un colore solido o una texture con gradiente.
Horizontal / Vertical / Diagonal / Crossdiagonal / Pipecross / Elliptic / Rectangle / PyramidScegliere uno di questi tipi di texture. Funzionano solo quando è specificato anche il gradiente.
Interlacedinterlaccia la texture (darken ogni altra linea). Questa opzione è usata molto frequentemente con gradient textures ma da Blacbox 0.60.3 (e in tutte le versioni di Fluxbox) funziona anche con texture solide.
Bevel1 / Bevel2tipo di Bevel da utilizzare. Bevel1 è quello di default. L'ombreggiatura è piazzata sul bordo dell'immagine. Bevel2 è un'alternativa. L'ombra è piazzata a un pixel di di stanza dal bordo dell'immagine.

A differenza della descrizone delle texture, è anche disponibile l'opzione ParentRelative, che permette ai componenti di apparire come parte del proprio genitore.

Tutte le texture col gradiente sono composte da due valori di colore: l' attributo color e colorTo. Quando Interlaced è usata in modalità Solid, la risorsa colorTo è utilizzata per cercare l'interlacing color.

La lista completa dei componenti e dei tipi di valore che possono contenere può essere trovata nella sezione Appendix C.

Ora, questa sembra una lista molto lunga, ma ricorda, quando crei il tuo stile personale, puoi facilmente impostare molti valori con un singolo comando, per esempio:

Example 10-5. Tipiche dichiarazioni corte:

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

Appendix A. Configurare .xinitrc/.xsession

Contributo di Verin.

The place of xinit in things

Un window manager non è solo che un'altra applicazione per X11, come netscape o gimp o xterm. Molte persone nuove con X11 possono pensare che X esegue il window manager e quest'ultimo esegue a sua volta i programmi. Ma questo non è vero. Se giustamente configurato, puoi lanciare tutte le tue applicazioni sotto X11, uccidere il window manager ed eseguirne un'altro.

Il vero programma che X11 esegue, il quale a sua volta esegue poi gli altri programmi, è il tuo script .xinitrc o .xsession. Quando X11 è avviato, lo script .xinitrc o .xsession viene eseguito, e quando è completato, X11 termina. Lasciatemi ripeterlo, che è importante: quando .xinitrc è finito, è il momento in cui termina X. Non quando uscite dal vostro window manager.

Script layout

Bene, prima realizza qualcosa che già conosci. Quando digiti un comando in una shell, non puoi fare nient'altro finchè quel comando non è terminato, quando esce. Il tuo script .xinitrc o .xsession è la stesa cosa. Quando viene lanciato, esegue i programmi che contiene e se incontra un programma che impiega un lungo tempo per essere eseguito (come la maggior parte dei programmi di X11), si ferma lì fino a che questo programma non termina.

Idealmente, dovresti avere solo un posto dove lo script si pianta. E normalmente è alla fine. Così, se vuoi eseguire un qualunqe programma sotto X11 prima di arrivare al punto dove si ferma, dovresti eseguirlo in background. Metti un & alla fine della linea. Così, diciamo che vuoi eseguire xclock in aggiunta ad altre cose, metti questa linea prima del tuo punto di 'hangs':

    xclock &

Ora, la prossima cosa è il comando exec, che molte fonti raccomandano di aggiungere per lanciare il tuo window managewr nello script. Ma onestamente, non è realmente necessario se metti il comando per lanciare il tuo window manager sull'ultima riga dello script, il tutto si fermerà giustamente qui anche senza il comando exec.

Perchè il comando exec? Ammettiamo che tu voglia mettere molti comandi per far partire differenti window manager, e vuoi però farne partire realmente uno solo. Bene, col comando exec puoi mettere la tua linea di lancio all'inizio. Perchè il comando exec significa:

"Rimpiazzami con questo programma, per esempio lancialo e terminami immediatamente quando finisce."

Cosi se metti una linea col comando exec wmaker all'inizio della linea exec enlightenment, quando wmaker è terminato, lo è anche lo script, che non eseguirà mai la linea successiva.

Ti sembra che sia non necessario?Puoi anche mettere diverse linee commentate con differenti window manager e funzionerà nello stesso modo.

Un altro modo di fare le cose

Come alternativa, puoi far partire il tuo window manager prima, e memorizzare il process ID in una variabile d'ambiente:

        wmaker & wmpid=$!

questo lo pone in background (&) e mette il process ID ($!) nella variabile (wmpid). Quindi, per avere il punto di 'hang', puoi usare il comando wait:

    wait $wmpid

oppure puoi fermarti su un programma che vuoi sempre usare, come forse le gkrellm, non mettendole in background. Ma ricorda che terminando questo programma, termineà anche la sessione di X11.

Ora, io uso il metodo col wait, perchè mi piace lanciare il mio window manager prima delle dockapps e varie. Inoltre, prima di fare ogni altra cosa, mi piace modificare i parametri del server X11, come il dpms, il salvaschermo ed aggiungere alcune directory al percorso dei miei fonts (perchè sono fonts che non voglio installare per tutto il sistema). E dopo che tutto è stato fatto, mi piace ripulire il percorso dei fonts (font path), principalmente perchè se lanciavo un display manager, non è una cosa buona resettare il font path tutte le volte.

Example A-1. .xinitrc

    # disattiva lo screen blanking e attiva le opzioni energy star 
    xset s off
    xset dpms 600 60 60

    # aggiunge i miei fonts supplementari ai fonts di sistema
    xset +fp "$X_FONTPATH"
    xset fp rehash

    # esporta l'ambiente corrente, in caso necessiti di essere debuggato
    env > ~/.xenv

    # window manager
    fluxbox & wmpid=$!

    bbrun &
    wmCalClock &
    wmxmms &

    # HANG POINT - aspetta il window manager per uscire
    wait $wmpid

    # resetta il font path di X
    xset fp default

Appendix B. Frequently asked questions (FAQ)

B.1. Cosa è la Slit?
B.2. C'è un modo per avere le dockapps sulla Slit in un certo ordine?
B.3. Come posso cambiare il formato dell'ora nella toolbar?
B.4. Ho modificato il mio file ~/.fluxbox/init, ma le modifiche sono sovrascritte.
B.5. Come funzionano i tabs?
B.6. Utilizzando l'Anti-Aliasing, i fonts sono diventati enormi! Come posso rimediare?
B.7. Sembra che non riesca ad usare i vecchi fonts come Snap con AA... Qual è il problema?
B.8. Ho sentito parlare dei fonts Artwiz. Cosa sono?
B.9. Come posso impostare lo sfondo?
B.10. Lo sfondo diventa brutto quando cambio tema.
B.11. Posso utilizzare il mio vecchio .blackboxrc per Fluxbox?
B.12. Come faccio a far partire automaticamente delle applicazioni all'avviio di Fluxbox?
B.13. Posso usare gli stili (temi) di Blackbox con Fluxbox?
B.14. Come configuro i miei files .xinitrc/.xsession?
B.15. Esiste il supporto per KDE?
B.16. Esiste il supporto per Gnome?
B.17. BBtools non utilizza le impostazioni del tema corrente a meno di riavviare.
B.18. I tabs sono visualizzati male con alcuni temi, come posso sistemarli?
B.19. Come metto le icone sul desktop di Fluxbox?
B.20. Fluxbox 0.9.6 è lenta...

B.1. Cosa è la Slit?

La prima cosa da sapere a proposito della Slit è che non è la taskbar.

La Slit è una area dove puoi mettere le applicazioni "dockabili". C'è un intero capitolo dedicato alla Slit: Chapter 7. Leggerlo prima di domandare che cosa è la Slit e come funziona.

B.2. C'è un modo per avere le dockapps sulla Slit in un certo ordine?

Nelle versioni di Fluxbox superiori alla 0.1.10 si. C'è una spiegazione qui: Chapter 7.

B.3. Come posso cambiare il formato dell'ora nella toolbar?

Cambiando questa riga nel file init:

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

Per informazioni sul formato, guarda il man 3 strftime.

B.4. Ho modificato il mio file ~/.fluxbox/init, ma le modifiche sono sovrascritte.

Questo è un bug presente nelle versioni di Fluxbox antecedenti la 0.1.8-bugfix2. Aggiorna all'ultima versione o bugfix prima di segnalare questo problema.

B.5. Come funzionano i tabs?

Guarda Chapter 4.

B.6. Utilizzando l'Anti-Aliasing, i fonts sono diventati enormi! Come posso rimediare?

Con l'avvento di Xft, i fonts sono trattati in maniera diversa. Per iniziare, prova a specificare questo nel theme (style) file:

*.font: Verdana:size=7

E' possibile usare fonts e dimensioni diverse, tuttavia l'esempio mostrato dovrebbe rendere il menu usabile. Per informazioni sui fonts utilizzabili, vedere la prossima domanda.

B.7. Sembra che non riesca ad usare i vecchi fonts come Snap con AA... Qual è il problema?

Appena attivi l'antialias con Fluxbox, essa si appoggia a Freetype2 per fare il render dei caratteri. Se non utilizzi l'AA, puoi usare il render di X11. Siccome FT2 non supporta tutti i formati che invece supporta X11, la sceltta dei fonts per Fluxbox diventa limitata. FT2 supporta i seguenti formati:

  • TrueType files (.ttf) and collections (.ttc)

  • Type 1 font files both in ASCII (.pfa) or binary (.pfb) format

  • Type 1 Multiple Master fonts

  • Type 1 CID-keyed fonts

  • OpenType/CFF (.otf) fonts

  • CFF/Type 2 fonts

  • Adobe CEF fonts (.cef)

  • Windows FNT/FON bitmap fonts

Freetype1 supporta solamente i fonts TrueType, anche se il supporto per i fonts GX e OTF può essere abilitato usando un'altra libreria. Maggiori dettagli sono sul sito di Freetype.

B.8. Ho sentito parlare dei fonts Artwiz. Cosa sono?

Questo è spiegato qui: Appendix D

Se ti piaciono i fonts Artwiz, ma non come appaiono nei terminali, prendi in considerazionee il pacchetto LFP, da Linux Font Project. Ci sono due sets di fonts qui, LFP Fixed-Width (buoni per i terminali), e LFP Variable-Width (buoni per il resto). I fonts Fixed-Width sono inoltre disponibili per la console Linux.

B.9. Come posso impostare lo sfondo?

Questo è spiegato in Chapter 6.

B.10. Lo sfondo diventa brutto quando cambio tema.

C'è una soluzione qui: Chapter 6.

B.11. Posso utilizzare il mio vecchio .blackboxrc per Fluxbox?

Certamente che si può, ma assicurati di aggiungere anche alcune linee per la titlebar e il keygrabbing. E' cosa buona e giusta anche fare un link simbolico tra i files blackboxrc e ~/.fluxbox/init.

B.12. Come faccio a far partire automaticamente delle applicazioni all'avviio di Fluxbox?

Guarda Appendix A.

B.13. Posso usare gli stili (temi) di Blackbox con Fluxbox?

Si. I tarballs per entrambi i pacchetti dovrebbero essere 100% intercambiabili. Questo vale anche per i progetti Waimea e Openbox, anche se non è garantito. Non c'è nessuna promessa da parte di questi ultimi due progetti, ma una delle caratteristiche di Fluxbox è di rimanere compatibile coi temi di Blackbox.

B.14. Come configuro i miei files .xinitrc/.xsession?

Guarda Appendix A.

B.15. Esiste il supporto per KDE?

Si, usa configure con l'opzione --enable-kde. Questo abilita l'icona di KDE nella Slit.

B.16. Esiste il supporto per Gnome?

Si, usa configure con l'opzione --enable-gnome. Questo abilita Gnome hints. Nelle versioni di Fluxbox a partire dalla 0.1.12 è impostato di default.

B.17. BBtools non utilizza le impostazioni del tema corrente a meno di riavviare.

Fai un semplice link tra ~/.blackboxrc e ~/.fluxbox/init, per esempio con questo comando:

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

B.18. I tabs sono visualizzati male con alcuni temi, come posso sistemarli?

Versioni 0.1.14 o precedenti.

Per visualizzare (ancora) meglio i tabs è necessario aggiungere alcune voci extra al proprio stile (tema). Comunque, nota che non hai bisogno di fare questo perchè Fluxbox è capace di impostare i tabs al giosto colore/stile da sola, ma se vuoi avere un maggior controllo sulla loro visualizzazione, puoi aggiungere queste poche righe:

Example B-1. Tabs personalizzati nel file dello style

    ! -- 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

Okay, cosa fanno queste righe? Le stesse cose di ogni riga in un tema; sono sicuro che potete capirlo se avete mai fatto un tema per Blackbox (Chapter 10potrebbe essere interesante).

Nota anche che un tema che contiene queste linee extra continuerà ad essere perfettamente compatibile con Blackbox, quindi non ci perdi niente ad aggiungerle.

B.19. Come metto le icone sul desktop di Fluxbox?

Fluxbox ha il suo companion program per questa funzionalità che si chiama fbdesk. fbdesk che non è incluso di default in Fluxbox. Ci sono anche delle alternative: ilprogetto RoxFiler, idesk, xdesk.

B.20. Fluxbox 0.9.6 è lenta...

Aggiungi la seguente linea al file .xinitrc prima di eseguire Fluxbox:

export LC_ALL=C

Dovrebbe aiutare su RedHat.


Appendix C. Theme Reference

C.1. Direttive dei temi

Questa è una lista completa di tutte le direttive utilizzabili nella configurazione di un tema. Guarda Chapter 10 per i dettagli su queste direttive.

Table C-1. Stili della toolbar

toolbarTexture
toolbar.heightNumber
toolbar.colorColor
toolbar.colorToColor
Bottoni
toolbar.buttonTexture or ParentRelative
toolbar.button.colorColor
toolbar.button.colorToColor
Colore delle frecce dei bottoni non premuti
toolbar.button.picColorColor
Bottoni premuti
toolbar.button.pressedTexture (e.g. Sunken) or ParentRelative
toolbar.button.pressed.colorColor
toolbar.button.pressed.colorToColor
Colore delle frecce dei bottoni premuti
toolbar.button.pressed.picColorColor
Etichetta del workspace
toolbar.labelTexture or ParentRelative
toolbar.label.colorColor
toolbar.label.colorToColor
toolbar.label.textColorColor
Workspace label
toolbar.workspaceTexture or ParentRelative
toolbar.workspace.pixmapPixmap
toolbar.workspace.colorColor
toolbar.workspace.colorToColor
toolbar.workspace.textColorColor
toolbar.workspace.fontFont
Etichetta della finestra
toolbar.windowLabelTexture or ParentRelative
toolbar.windowLabel.colorColor
toolbar.windowLabel.colorToColor
toolbar.windowLabel.textColorColor
Orologio
toolbar.clockTexture or ParentRelative
toolbar.clock.pixmapPixmap
toolbar.clock.colorColor
toolbar.clock.colorToColor
toolbar.clock.textColorColor
toolbar.clock.fontFont
Barra delle icone quando vuota
toolbar.iconbar.emptyTexture o ParentRelative
toolbar.iconbar.empty.pixmapPixmap
toolbar.iconbar.empty.colorColor
toolbar.iconbar.empty.colorToColor
toolbar.iconbar.emptyTexture o ParentRelative
Barra delle icone selezionata e deselezionata
toolbar.iconbar.focusedTexture o ParentRelative
toolbar.iconbar.focused.pixmapPixmap
toolbar.iconbar.focused.colorColor
toolbar.iconbar.focused.colorToColor
toolbar.iconbar.focused.textColorColor
toolbar.iconbar.focused.fontFont
Testo
toolbar.justifycenter, left, o right
toolbar.fontFont

Table C-2. Stili del Menu

Titolo
menu.titleTexture
menu.title.colorColor
menu.title.colorToColor
menu.title.textColorColor
menu.title.fontFont
menu.title.justifycenter, left, or right
Frame
menu.frameTexture
menu.frame.colorColor
menu.frame.colorToColor
menu.frame.textColorColor
menu.frame.disableColorColor
menu.frame.fontFont
menu.frame.justifycenter, left, o right
Indicatori Submenu
menu.bulletempty, triangle, square, o diamond
menu.bullet.positionright o left
menu.submenu.pixmapPixmap
Oggetti selezionati
menu.hiliteTexture (per esempio Raised)
menu.hilite.colorColor
menu.hilite.colorToColor
menu.hilite.textColorColor
menu.selected.pixmapPixmap
menu.unselected.pixmapPixmap

Table C-3. Stili delle Finestre

Titolo
window.title.focusTexture
window.title.focus.colorColor
window.title.focus.colorToColor
window.title.unfocusTexture
window.title.unfocus.colorColor
window.title.unfocus.colorToColor
window.title.heightNumber
Label
window.label.focusTexture o ParentRelative
window.label.focus.colorColor
window.label.focus.colorToColor
window.label.focus.textColorColor
window.label.unfocusTexture o ParentRelative
window.label.unfocus.colorColor
window.label.unfocus.colorToColor
window.label.unfocus.textColorColor

Table C-4. Stili della Handlebar

window.handle.focus.colorColor
window.handle.focus.colorToColor
window.handle.unfocusTexture
window.handle.unfocus.colorColor
window.handle.unfocus.colorToColor

Table C-5. Resize Grip Style

window.grip.focusTexture
window.grip.focus.colorColor
window.grip.focus.colorToColor
window.grip.unfocusTexture
window.grip.unfocus.colorColor
window.grip.unfocus.colorToColor

Table C-6. Stile dei bottoni delle finestre

window.button.focusTexture o ParentRelative
window.button.focus.colorColor
window.button.focus.colorToColor
window.button.focus.picColorColor
window.button.unfocusTexture o ParentRelative
window.button.unfocus.colorColor
window.button.unfocus.colorToColor
window.button.unfocus.picColorColor
window.button.pressed Texture
window.button.pressed.colorColor
window.button.pressed.colorToColor

Table C-7. Stili della finestra

window.frame.focusColorColor
window.frame.unfocusColorColor

Table C-8. Stile dei tab

window.tab.justifyright, left o center
window.tab.label.unfocusTexture
window.tab.label.unfocus.colorColor
window.tab.label.unfocus.textColorColor
window.tab.label.focusTexture
window.tab.label.focus.colorColor
window.tab.label.focus.textColorColor
window.tab.borderWidthNumber of Pixels
window.tab.borderColorColor
window.tab.fontFont

Table C-9. Font sul etichetta della finestra

window.fontFont
window.justifycenter, left, o right

Table C-10. Stili vari

Bordo attorno ai componenti
borderWidthNumber of pixels
borderColorColor
bevelWidthNumber of pixels
handleWidthNumber of pixels
frameWidthNumber of pixels
Comando da eseguire ogni volta che viene caricato lo stile
rootCommandShell command, per esempio bsetbg nicepiccy.jpg
Vecchi elementi di BB 0.51
menuFontFont
titleFontFont

Appendix D. Fonts Artwiz per Fluxbox

Introduzione

I fonts chiamati Artwiz Fonts sono stati creati (sorprendentemente) da un ragazzo che si chiamava Artwiz. Han è stato molto gentile da rendere disponibili il tarball dei fonts sul suo sito. Puoi scaricare i fonts da http://www.xs4all.nl/~hanb/software/fluxbox/artwiz-fonts.tar.bz2.

Non devi installare i fonts a mano se disponi dell'RPM di Fluxbox di Mandrake, in quanto sono già inclusi. Se non ce l'hai, bene, di seguito è quanto. Ci sono due modi di installare i fonts Artwiz: per tutto il sistema (system-wide) e solo per un determinato/i utente/i (user-only)

Installazione per tutto il sistema

Se desideri installare i fonts per tutti gli utenti sul sistema, scarica il tarball nella directory /tmp e procedi così:

    # 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

Riavvia ora il font-server. Nota che la tua distribuzione potrebbe avere una differente locazione per i fonts di sistema, come /usr/share/fonts. La directory indicata sopra è solitamente quella più usata di default.

Installazione per un utente

Se vuoi installare i fonts per un utente solamente, le cose sono un poco più semplici. Scarica il tarball nella tua home directory e poi procedi così:

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

Modifica il tuo file .xinitrc o .xsession (dipende da come fai partire X11) in modo che contenga la seguente linea prima di lanciare i programmi:

    xset +fp $HOME/.fonts

Quindi (ri)avvia X11 e usa xlsfonts o xfontsel per verificare che i fonts siano riconosciuti dal sistema.

Bugs

I font Artwiz a volte entrano in conflitto con le tue impostazioni locali. Per farli funzionare devi mettere le seguenti linee all'inizio del tuo file .xinitrc o .xsession:

    export LC=C
    export LC_ALL=C

Queste impostazioni sono locali e se non utilizzi i fonts o hai altri problemi rimuovili pure. C'è una soluzione differente suggerita da aleczapka piu avanti.

E qui c'è la soluzione per usare le tue impostazioni nazionalizate e utilizzare i fonts Artwiz in Fluxbox.

Sistemazione dei parametri locali

La soluzione è molto semplice. Tutto quello chhe devi fare è di sistemare i tuoi files fonts.alias (e/o fonts.dir).

Questo sistemerà inoltre i problemi con le altre applicazioni (per esempio Evolution e UTF-8) Per prima cosa devi sistemare il fille fonts.dir . Lo trovi nella directory dove hai installato i fonts Artwiz. Se non è cosi, entra nella directory e lancia il comando mkfontdir.

La sintassi di questo file è semplice. La prima linea contiene solo il numero dei fonts nella directory. Tutte le linee seguenti sono nella forma:

     font_filename fontname

Questo è un esempio del file 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

Quello che ci interessa sono le chiavi che hanno un shortspec corto, in questo caso i fonts Nu, Drift, Cure, Aqui. Il problema è che questi non hanno il nome del font X11 in modo completo.

Cambia il file in questo:

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

L'ultima cosa da fare per sistemare il tuo file fonts.alias (per usare fonts con codifica differente da iso646).

La sintassi è font_alias font_name. Per esempio: per far funzionare i font artwiz con la codifica ISO-8859-2 fai giusto un alias (tutto su una riga).

-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 

Puoi anche dare un'occhiata ai miei files fonts.dir e fonts.alias, che supportano ISO-8859-1, ISO-8859-2, e iso10646-1 (UTF-8). Se imposti ogni cosa come descritto sopra, non hai bisogno di cambiare i tuoi flags LC_* in standard C o POSIX. E tutte (non solo Fluxbox), funzioneranno come dovuto senza visualizzare cose tipo "can't convert character set" o simili.


Appendix E. Debugging

Informazioni Generali

Il debugging è un'abilità che puoi imparare. Ci sono pochi buoni documenti che descrivono come ben segnalare i bugs. Leggili prima di iniziare tanto il bug non scapperà via e non tenterà di ucciderti. Piuttosto, siamo noi che vogliamo eliminare ogni bug e necessitiamo anche del tuo aiuto. Prepariamo bene la battaglia quindi. Due buoni documenti sono Bugzilla Bug Reporting HOWTO e How to Report Bugs Effectively di Simon Tathams.

A causa del numero e della natura di alcune patch non ufficiali, non le possiamo supportare tutte. Questo significa (per te) che devi controllare se Fluxbox va in crash anche senza le eventuali patch che puoi aver applicato. Se queste sono state applicate da mantainer di una qualche distribuzione, contattalo a riguardo.

Se debuggando necessiti di un aiuto maggiore rispetto a quello fornito da questa guida, puoi anche vedere se qualcuno del canale #fluxbox su irc.freenode.net è di aiuto. Siccome gli sviluppatori principali e un gruppo di persone qualificate sono spesso lì, ci sono buone possibilità che possano risolveree il problema.

Elementi specifici di Fluxbox

L'output di Fluxbox

Come ogni altra applicazionne, Fluxbox manda tutti i messaggi al terminale da cui è stato lanciato. Il problema è che in circostanze normali tutto l'output và ad un terminale di tipo testo. Cambia il comando con cui lanci Fluxbox in exec xterm o nell'emulatore di terminale che preferisci. Lancia X11 e fai partire Fluxbox nell'xterm e potrai facilmente vedere tutti i messaggi di output.

Le informazioni che vogliamo

Noi vogliamo conoscere molte cose. Assicurati di conoscerle bene.

Cosa fare con i core dumps

Se ti ritrovi ad avere un core dump con Fluxbox, fai come segue: vai sul canale #fluxbox su OPN e di a fluxgen come hai avuto il dump. Dagli tutte le informazioni che ti chiede. Inoltre ti chiederà probabilmente di fare come segue. E'un pò di lavoro ma chiunque possieda una minima esperienza con Unix può tranquillamente svolgerli. Oh, avrai bisogno del debugger GNU, che si chiama gdb.

Ricompilare Fluxbox

Si, stai leggendo bene. Per diventare un vero debugger devi ricompilare Fluxbox con i simboli del debugger.

Ricompilare Fluxbox come solito e aggiungere la seguente opzione quando lanci il make:

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

Se utilizzi i sorgenti via RPM dal sito di Fluxbox o della tua distribuzione, puoi fare qualcosa del tipo:

    $ 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

Vai alla directory dii Fluxbox (così possiamo avere il core dump ne l posto giusto). La shell ha una apprezzabile caratteristica che disabilita i core-files, così dobbiamo essere sicuri di averla abilitata così:

    $ ulimit -c unlimited

Lancia X11 e comincia il debug. Fai qualsiasi cosa per avere il core dump. Cominciamo quindi:

    $ gdb fluxbox core

Digitando questi comandi in gdb (La prima parte è il prompt di gdb, non scriverla :)):

    (gdb) where

Ora otterrai una gran quantità di output. Fluxgen necessita di tutto quello che comincia con #.

Copialo in una e-mmail e spediscilo a Fluxgen ad allega inoltre anche i quattro files di configurazione contenuti in ~/.fluxbox/.

Per favore, non rimuovere il core e la directory che contiene i sorgenti. Fluxgen potrebbe chiederti qualche altra informazione per cui ne puoi avere ancora bisogno. Per favore non inviare il core file a Fluxgen se non ti è stato specificatamente richiesto - in quanto questo file è specifico per la tua macchina e molto probabilmente non è necessario e tende ad avere dimensioni enormi.

Done.