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
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 <rando@babblica.net> o scritto direttamente da lui; seguito da <klausman@users.sourceforge.net> e molti altri che hanno contribuito. Se manca un credit, per favore contatta l' <editor> per sistemarlo.
Questa documentazione è stata tradotta in italiano da Andrea Franchi <andrea.franchi@gmail.com> 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.
![]() | Contributi 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.
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...
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
Session Management
Windows Snapping
Toolbar configurabile
Altre features minori
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.
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.
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.
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.
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
$ makeDopo aver compilato Fluxbox, diventa root e lancia:
# make install
Congratulazioni, hai compilato ed installato 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).
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/
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.
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.
(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.
Il programma wmctrl e un tool a riga di comando per interagire con un Window Manager compatibile con EWMH/NetWM.
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 ...
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.
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.
"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.
"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.
"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.
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.
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.
C'è un gruppo per ogni linea nel file e devi solo il nome del programma che deve essere raggruppato. Per esempio:
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.
Questo ti permette di far apparire il menu principale, cliccando col tasto destro sul tab e, selezionando un appicazione, di farla partire già raggruppata.
![]() | Raggruppando in questo modo (dai tabs) si potrebbe interferire col normale raggruppamento automatico. |
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.)
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 :NextTabCome 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:
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 -sControlla xmms --help per maggiori informazioni, ma se hai fatto tutto giusto ora probabilmente...
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.
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).
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
| Azione | Risultato |
|---|---|
| Workspace | Vai ad un particolare workspace. Uso :Workspace 1, :Workspace 2, etc. |
| NextTab | Passa al prossimo tab nel gruppo corrente. |
| PrevTab | Passa al tab precedente nel gruppo corrente. |
| NextWindow N | Vai alla prossima finestra. Guarda Note 1. |
| PrevWindow N | Vai alla finestra precedente. Ancora, guarda Note 1. |
| NextWorkspace | Vai al prossimo workspace. |
| PrevWorkspace | Vai al workspace precedente. |
| NextGroup, PrevGroup | Vai al prossimo/precedente gruppo di finestre. |
| LeftWorkspace | Come PrevWorkspace. |
| RightWorkspace | Come NextWorkspace. |
Table 5-2. Operazioni Sulle finestre
| Azione | Risultato |
|---|---|
| Close | Chiude la finestra. |
| KillWindow | L'equivalente di lanciare xkill e clicckare culla finestra. |
| Minimize | Detto anche "iconify". Riduce la finestra a icona. |
| ShadeWindow | Mette la finestra nello stato'shaded' (in ombra), o la ripristina dallo stato 'shaded'. |
| StickWindow | Attiva o disattiva lo stato 'sticky'. |
| ToggleDecor | Attiva o disattiva (bordo, bottoni o barra del titolo) della finestra attiva. |
| Raise | Mette la finestra al 'Top', apparirà sopra tutte le altre finestre. |
| Lower | Contrario di Raise. |
| NextTab, PrevTab | Attiva il prossimo/precedente tab. |
| MoveTabLeft, MoveTabRight | Muove il tab selezionato n tabs a destra/sinistra. |
| DetachClient | Toglie la finestra selezionata dal gruppo. |
Table 5-3. Dimensioni delle Finestre
| Azione | Risultato |
|---|---|
| HorizontalIncrement | Aumenta di un'unità la larghezza della finestra (Guarda Note 2). |
| HorizontalDecrement | Opposto di HorizontalIncrement |
| VerticalIncrement | Aumenta di un'unità l'altezza della finestra (Guarda Note 2). |
| VerticalDecrement | Opposto di VerticalIncrement |
| MaximizeHorizontal | Massimizza la finestra orizzontalmente. |
| MaximizeVertical | Massimizza la finestra verticalmente. |
| MaximizeWindow | Massimizza la finestra. |
| Resize | Ridimensiona la finestra della differenza specificata, per esempio: resize -8 -8. |
| ResizeHorizontal | Ridimensiona solo orizzontalmente. |
| ResizeVertical | Ridimensiona solo verticalmente. |
| ArrangeWindows | Tile la finestra magicamente. |
| ShowDesktop | Iconifica tutte le finestre. |
![]() | 2. 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
| Azione | Risultato |
|---|---|
| SendToWorkspace | Manda la finestra corrente ad un workspace specifico. Uso :SendToWorkspace 1 |
| Move | Muovi di delta-x delta-y. |
| MoveLeft | Indovina. |
| MoveRight | Indovina. |
| MoveUp | Indovina. |
| MoveDown | Indovina. |
Table 5-5. Varie
| Azione | Risultato |
|---|---|
| AbortKeychain | Utilizzando le keychains, cancella l'azione. |
| ExecCommand | Esegui un comando. Esempio :ExecCommand xmms -t. |
| RootMenu | Invoca il menu principale. |
| WorkSpaceMenu | Invoca il menu del workspace. |
| Restart | Riavvia Fluxbox. |
| Reconfigure | Riconfigura Fluxbox, rileggendo la configurazione. Ad esempio se keys è stato cambiato, ma init e slitlist sono stati scritti prima di leggere. |
| SetStyle | Carica il file specificato. |
| SetWorkspaceName | Imposta il nome del workspace. |
| SaveRC | Salva il file delle risorse. |
| Quit | Esce da Fluxbox. |
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 è circa l'equivalente di xsetroot. Può settare uno sfondo molto semplice, come un colore unico. bsetroot in più puo anche settare il gradiente.
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.
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.
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.
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.
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.
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
Esegui Fluxbox senza pre-caricare le dockapps.
Esegui le dockapps individualmente e nell'ordine che intendi stabilire.
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:
Notare che non c'è nessuna opzione per disabilitare completamente l'ordinamento. L'autore della patch non pensa si tragga beneficio da un ordine arbitrario.
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.
Possibili tools: workspacename, prevworkspace, nextworkspace, iconbar, systemtray, prevwindow, nextwindow, clockLa 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.
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.
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:
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.
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 fileo consulta il più completo file di esempio menu che è incluso in Fluxbox.
Questa sezione è un contributo di Justin Rebelo aka "demerol".
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.
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.
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.
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.
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.
Certo, basta iniziare una linea con il simbolo (#), il punto esclamativo (!), o usare i commenti in stile C++ (//).
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.
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:
Questo setta l'orologio della toolbar di colore green. Un altro esempio:
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:
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/2Non 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
| Direttive | Descrizione |
|---|---|
| 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 / Solid | disegna un colore solido o una texture con gradiente. |
| Horizontal / Vertical / Diagonal / Crossdiagonal / Pipecross / Elliptic / Rectangle / Pyramid | Scegliere uno di questi tipi di texture. Funzionano solo quando è specificato anche il gradiente. |
| Interlaced | interlaccia 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 / Bevel2 | tipo 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:
Contributo di Verin.
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.
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.
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 defaultLa 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.
Nelle versioni di Fluxbox superiori alla 0.1.10 si. C'è una spiegazione qui: Chapter 7.
Cambiando questa riga nel file init:
session.screen0.strftimeFormat: %a %d %H:%M
Per informazioni sul formato, guarda il man 3 strftime.
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.
Guarda Chapter 4.
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.
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.
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.
Questo è spiegato in Chapter 6.
C'è una soluzione qui: Chapter 6.
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.
Guarda Appendix A.
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.
Guarda Appendix A.
Si, usa configure con l'opzione --enable-kde. Questo abilita l'icona di KDE nella Slit.
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.
Fai un semplice link tra ~/.blackboxrc e ~/.fluxbox/init, per esempio con questo comando:
$ ln -s ~/.fluxbox/init ~/.blackboxrc
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 styleOkay, 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.
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
| toolbar | Texture |
| toolbar.height | Number |
| toolbar.color | Color |
| toolbar.colorTo | Color |
| Bottoni | |
|---|---|
| toolbar.button | Texture or ParentRelative |
| toolbar.button.color | Color |
| toolbar.button.colorTo | Color |
| Colore delle frecce dei bottoni non premuti | |
|---|---|
| toolbar.button.picColor | Color |
| Bottoni premuti | |
|---|---|
| toolbar.button.pressed | Texture (e.g. Sunken) or ParentRelative |
| toolbar.button.pressed.color | Color |
| toolbar.button.pressed.colorTo | Color |
| Colore delle frecce dei bottoni premuti | |
|---|---|
| toolbar.button.pressed.picColor | Color |
| Etichetta del workspace | |
|---|---|
| toolbar.label | Texture or ParentRelative |
| toolbar.label.color | Color |
| toolbar.label.colorTo | Color |
| toolbar.label.textColor | Color |
| Workspace label | |
|---|---|
| toolbar.workspace | Texture or ParentRelative |
| toolbar.workspace.pixmap | Pixmap |
| toolbar.workspace.color | Color |
| toolbar.workspace.colorTo | Color |
| toolbar.workspace.textColor | Color |
| toolbar.workspace.font | Font |
| Etichetta della finestra | |
|---|---|
| toolbar.windowLabel | Texture or ParentRelative |
| toolbar.windowLabel.color | Color |
| toolbar.windowLabel.colorTo | Color |
| toolbar.windowLabel.textColor | Color |
| Orologio | |
|---|---|
| toolbar.clock | Texture or ParentRelative |
| toolbar.clock.pixmap | Pixmap |
| toolbar.clock.color | Color |
| toolbar.clock.colorTo | Color |
| toolbar.clock.textColor | Color |
| toolbar.clock.font | Font |
| Barra delle icone quando vuota | |
|---|---|
| toolbar.iconbar.empty | Texture o ParentRelative |
| toolbar.iconbar.empty.pixmap | Pixmap |
| toolbar.iconbar.empty.color | Color |
| toolbar.iconbar.empty.colorTo | Color |
| toolbar.iconbar.empty | Texture o ParentRelative |
| Barra delle icone selezionata e deselezionata | |
|---|---|
| toolbar.iconbar.focused | Texture o ParentRelative |
| toolbar.iconbar.focused.pixmap | Pixmap |
| toolbar.iconbar.focused.color | Color |
| toolbar.iconbar.focused.colorTo | Color |
| toolbar.iconbar.focused.textColor | Color |
| toolbar.iconbar.focused.font | Font |
| Testo | |
|---|---|
| toolbar.justify | center, left, o right |
| toolbar.font | Font |
Table C-2. Stili del Menu
| Titolo | |
|---|---|
| menu.title | Texture |
| menu.title.color | Color |
| menu.title.colorTo | Color |
| menu.title.textColor | Color |
| menu.title.font | Font |
| menu.title.justify | center, left, or right |
| Frame | |
|---|---|
| menu.frame | Texture |
| menu.frame.color | Color |
| menu.frame.colorTo | Color |
| menu.frame.textColor | Color |
| menu.frame.disableColor | Color |
| menu.frame.font | Font |
| menu.frame.justify | center, left, o right |
| Indicatori Submenu | |
|---|---|
| menu.bullet | empty, triangle, square, o diamond |
| menu.bullet.position | right o left |
| menu.submenu.pixmap | Pixmap |
| Oggetti selezionati | |
|---|---|
| menu.hilite | Texture (per esempio Raised) |
| menu.hilite.color | Color |
| menu.hilite.colorTo | Color |
| menu.hilite.textColor | Color |
| menu.selected.pixmap | Pixmap |
| menu.unselected.pixmap | Pixmap |
Table C-3. Stili delle Finestre
| Titolo | |
|---|---|
| window.title.focus | Texture |
| window.title.focus.color | Color |
| window.title.focus.colorTo | Color |
| window.title.unfocus | Texture |
| window.title.unfocus.color | Color |
| window.title.unfocus.colorTo | Color |
| window.title.height | Number |
| Label | |
|---|---|
| window.label.focus | Texture o ParentRelative |
| window.label.focus.color | Color |
| window.label.focus.colorTo | Color |
| window.label.focus.textColor | Color |
| window.label.unfocus | Texture o ParentRelative |
| window.label.unfocus.color | Color |
| window.label.unfocus.colorTo | Color |
| window.label.unfocus.textColor | Color |
Table C-4. Stili della Handlebar
| window.handle.focus.color | Color |
| window.handle.focus.colorTo | Color |
| window.handle.unfocus | Texture |
| window.handle.unfocus.color | Color |
| window.handle.unfocus.colorTo | Color |
Table C-5. Resize Grip Style
| window.grip.focus | Texture |
| window.grip.focus.color | Color |
| window.grip.focus.colorTo | Color |
| window.grip.unfocus | Texture |
| window.grip.unfocus.color | Color |
| window.grip.unfocus.colorTo | Color |
Table C-6. Stile dei bottoni delle finestre
| window.button.focus | Texture o ParentRelative |
| window.button.focus.color | Color |
| window.button.focus.colorTo | Color |
| window.button.focus.picColor | Color |
| window.button.unfocus | Texture o ParentRelative |
| window.button.unfocus.color | Color |
| window.button.unfocus.colorTo | Color |
| window.button.unfocus.picColor | Color |
| window.button.pressed | Texture |
| window.button.pressed.color | Color |
| window.button.pressed.colorTo | Color |
Table C-8. Stile dei tab
| window.tab.justify | right, left o center |
| window.tab.label.unfocus | Texture |
| window.tab.label.unfocus.color | Color |
| window.tab.label.unfocus.textColor | Color |
| window.tab.label.focus | Texture |
| window.tab.label.focus.color | Color |
| window.tab.label.focus.textColor | Color |
| window.tab.borderWidth | Number of Pixels |
| window.tab.borderColor | Color |
| window.tab.font | Font |
Table C-10. Stili vari
| Bordo attorno ai componenti | |
|---|---|
| borderWidth | Number of pixels |
| borderColor | Color |
| bevelWidth | Number of pixels |
| handleWidth | Number of pixels |
| frameWidth | Number of pixels |
| Comando da eseguire ogni volta che viene caricato lo stile | |
|---|---|
| rootCommand | Shell command, per esempio bsetbg nicepiccy.jpg |
| Vecchi elementi di BB 0.51 | |
|---|---|
| menuFont | Font |
| titleFont | Font |
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)
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:unscaledRiavvia 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.
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/.fontsModifica 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.
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=CQueste 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.
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.
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.
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.
Noi vogliamo conoscere molte cose. Assicurati di conoscerle bene.
Il sistema operativo / la disribuzione e la sua versione.
La versione di Fluxbox, se usi CVS (o il tarball di sviluppo) e anche il giorno.
Quando è successo? Hai fatto qualcosa? Puoi riprodurre nuovamente l'evento?
Le tue impostazioni. Le puoi trovare in ~/.fluxbox/init
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.
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/fluxboxVai 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.