[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]
Fvwm(1) è un gestore di finestre semplice, dal punto di vista operativo, che, a seconda di come viene configurato, può richiedere più o meno risorse dal sistema. Sapendo utilizzare bene le possibilità di configurazione di Fvwm, si può fare a meno di tanti altri strumenti che appesantiscono inutilmente la sessione grafica.
Purtroppo, la sintassi del file di configurazione, rispetto alle potenzialità, non è molto chiara; nello stesso modo, la documentazione diventa difficile da comprendere a fondo. In questo capitolo si annotano alcuni esempi di direttive usate nella configurazione con scopi particolari, senza entrare nella generalità della sintassi.
Per varie circostanze è possibile creare o ridefinire delle funzioni, che vengono richiamate da altre direttive oppure sono utilizzate in modo predefinito. Per esempio vengono chiamate in modo predefinito le funzioni InitFunction, RestartFunction e ExitFunction, rispettivamente all'avvio, al riavvio e alla conclusione del funzionamento di Fvwm. Gli esempi seguenti riguardano la ridefinizione delle funzioni predefinite comuni:
|
Si osservi che la stessa cosa avrebbe potuto essere scritta così:
|
Si osservi che se Fvwm viene avviato da un gestore di sessione, vengono usate, invece, le funzioni SessionInitFunction, SessionRestartFunction e SessionExitFunction.
Agli eventi del mouse e della tastiera è possibile associare delle funzioni, sia predefinite, sia inventate per l'occasione. Si osservi, comunque, che sarebbe meglio evitare di attribuire funzioni speciali ad alcuni tasti, in modo da poter utilizzare in modo uniforme tutti i programmi. Segue un esempio di tale configurazione, riferita solo a eventi del mouse.
|
L'apertura di un menù si ottiene attraverso l'uso delle funzioni Menu o Popup. In particolare, è già apparso un esempio in cui si controlla l'apertura di due menù (FastMenu e Start), a seconda della pressione di un tasto del mouse, quando il puntatore grafico si trova sulla superficie della finestra principale:
|
La differenza tra le due funzioni, consiste nel fatto che il menù della funzione Popup rimane aperto solo fino a quando si mantiene premuto il tasto del mouse che ha generato l'evento corrispondente; al contrario, la funzione Menu apre e lascia aperto il menù che si ottiene, fino a quando non si verifica un evento nuovo.
Generalmente, la funzione Popup si usa per i sottomenù, ovvero quelli che dipendono da una voce di un altro menù.
I menù statici si realizzano in modo semplice, con direttive che contengono eventualmente una condizione per la quale visualizzare o meno la voce corrispondente. Le condizioni vengono valutate una volta sola, all'avvio o al riavvio. L'esempio successivo è molto semplice e mostra voci prive di condizioni:
|
Alle voci di un menù si associano delle funzioni, dove in particolare exec consente l'avvio di un comando. L'esempio seguente mostra l'uso di condizioni con le quali si verifica che i programmi indicati siano accessibili ed eseguibili; altrimenti le voci corrispondenti non vengono visualizzate:
|
I menù dinamici sono ricostruiti attraverso una funzione, ogni volta che vengono aperti. Nell'esempio seguente viene definito il menù Start, in due fasi, dove una voce del menù è condizionate dall'esistenza di un certo programma, che potrebbe apparire e scomparire durante il funzionamento:
|
Un menù dinamico potrebbe essere ottenuto anche attraverso comandi che si traducono nelle componenti delle direttive, attraverso l'uso della funzione PipeRead:
|
In pratica, la funzione PipeRead trasforma il risultato di quanto generato dalla stringa successiva, in voci del menù. In questo caso, per poter interpretare ciò che accade, occorre ricostruire il comando:
|
Naturalmente, può essere più comodo realizzare degli script separati, così da non dover fare troppa attenzione al problema della protezione di certi simboli.
FVWM
Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>
1) Fvwm 2 software libero soggetto a diverse licenze a seconda della porzione di codice coinvolta
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome annotazioni_sulla_configurazione_di_fvwm_2.htm
[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]