|
Lasciando stare gli aneddoti divertenti, ce n'é
voluto poi di tempo per capire che in fondo l'amico aveva
ragione: con Linux si possono riutilizzare vecchi pc a patto
però di
essere in grado di configurarli e di ottimizzarli.
In questo senso tanti e di varia natura sono gli accorgimenti
da adottare ma in questo breve articolo mi soffermerò
sull'analisi di TWM (Tab Window Manager), il gestore di
finestre più leggero (e spartano) di Linux fornito
insieme al server x, che risulta essere un ottimo strumento
in computer non molto potenti.
Per quelli di voi che non hanno mai utilizzato TWM è
necessario dire che per lanciarlo (almeno su red hat) occorre
prima digitare da console il comando:
switchdesk TWM
e poi:
startx
TWM ha un file di configurazione che si trova generalmente
in
/etc/X11/twm/system.twmrc
che permette una buona configurazione del gestore di finestre.
Il file, composto da variabili e funzioni, puo' essere diviso
in 4 parti:
- nella prima vengono dichiarate alcune variabili generali
(font, icona, colori dei vari elementi)
- nella seconda vengono definite le funzioni composte che
riguardano il movimento
- nella terza vengono abbinate le funzioni precedenti con
i tasti del mouse
- nella quarta vengono definiti i menu e gli eventuali sottomenu
e la funzione attribuita a ciascuna voce.
Per entrare nel dettaglio, di seguito vi mostro un esempio
di file system.twmrc che non esaurisce certo tutte le opzioni
di configurazione ma può essere una buona base di
partenza (ricordatevi che la pagina man di TWM è
piuttosto dettagliata).
##################
#### system.twmrc
####################################
### Definizione di alcune variabili
NoGrabServer
# non coinvolge il server durante la visualizzazione di
menu', ecc.
# (notate che ho usato l'apostrofo, i caratteri accentati
non sono
# consentiti nemmeno nei commenti)
RestartPreviousState
# riporta lo schermo allo stato precedente lo spengimento
del
# gestore di finestre
DecorateTransients
# inserisce la barra del titolo per le finestre in movimento
# indica il font, l'icona, ecc..
TitleFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
ResizeFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
MenuFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
IconFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*-*-*-*"
IconManagerFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*"
# di seguito i colori dei vari elementi
Color
{
BorderColor "lavender"
DefaultBackground "azure"
DefaultForeground "darkgreen"
TitleBackground "azure"
TitleForeground "darkgreen"
MenuBackground "azure"
MenuForeground "darkgreen"
MenuTitleBackground "darkgreen"
MenuTitleForeground "azure"
IconBackground "azure"
IconForeground "darkgreen"
IconBorderColor "darkgreen"
IconManagerBackground "azure"
IconManagerForeground "darkgreen"
}
# visualizza l'immagine indicata sulla barra della finestra
# al passaggio del puntatore
Pixmaps
{
TitleHighlight "/root/immagine.bmp"
}
##################################
# Definizione di alcune funzioni composte utili per azioni
basate sul movimento
# (utilizzate nella sezione successiva)
MoveDelta 3
# questa variabile specifica il numero di pixel che il puntatore
# deve percorrere prima che la funzione f.move inizi a funzionare;
# provate a dargli valore 0 e vedrete la sottile differenza!
Function "sposta-sotto" { f.move f.deltastop f.lower
}
Function "sposta-sopra" { f.move f.deltastop f.raise
}
Function "sposta-icona" { f.move f.deltastop f.iconify
}
# Le funzioni sopra dichiarate sono composte da un gruppo
di tre funzioni
# ciascuna; vediamone alcune nel dettaglio:
# f.move ----> permette di trascinare il contorno della
finestra selezionata mentre il
# pulsante del mouse indicato è premuto
# f.lower ----> abassa la finestra selezionata
# f.deltastop ----> permette di terminare una funzione
definita dall'utente se
# il puntatore è stato mosso più del numero
di pixel definito
# in MoveDelta
# f.raise ----> alza la finestra selezionata
# f.iconify ----> riduce a icona o ripristina la finestra
o l'icona selezionata
#################################
# Definizione di alcuni abbinamenti di funzioni viste in
precedenza con i tasti
# del mouse.
# La sintassi è:
# Pulsante = TASTI : CONTESTO : FUNZIONE
# I pulsanti sono ovviamente il sinistro, il destro e il
centrale del mouse;
# i tasti sono indicati da una lettera che si riferisce
ad un tasto (s indica il ta
# sto shift, c il tasto control, ecc.); il contesto indica
l'elemento visualizza
# to da considerare (root e' lo sfondo); la funzione è
la funzione assegnata.
#################################
Button1 = : root : f.menu "principale"
Button1 = c : window|icon : f.function "sposta-sotto"
Button2 = c : window|icon : f.iconify
Button3 = c : window|icon : f.function "sposta-sopra"
Button1 = : title : f.function "sposta-sopra"
Button2 = : title : f.raiselower
Button1 = : icon : f.function "sposta-icona"
Button2 = : icon : f.iconify
Button1 = : iconmgr : f.iconify
Button2 = : iconmgr : f.iconify
####################################
# Definizione dei menù; ad ogni menù e sottomenù
viene attribuito un nome e i
# colori che acquisiscono i nomi degli elementi e lo sfondo
al passaggio del pun
# tatore; ad ogni elemento del menù viene attribuita
una funzione che svolge un
# determinato compito (per alcune funzioni non sarà
necessaria una descrizione)
####################################
menu "principale" ("mediumblue" : "orange")
{
"MENU PRINCIPALE" f.title # indica il titolo del
menu'
"" f.raise # esegue la funzione lasciando uno
spazio vuoto nel menu
"TERMINALE" f.exec "exec xterm &"
# esegue il programma xterm
"Programmi" f.menu "Programmi" # esegue
la funzione che apre un
sottomenu'
"" f.nop # serve solo per lasciare uno spazio
vuoto
"Riduci a icona" f.iconify
"Ridimensiona" f.resize
"Sposta sotto" f.lower
"Messa a fuoco" f.focus
"Fuori fuoco" f.unfocus
"Mostra riepilogo finestre" f.showiconmgr
"Nascondi riepilogo finestre" f.hideiconmgr
"Termina" f.destroy # termina l'applicazione
"Cancella" f.delete # chiude la finestra
"Riavvia" f.restart
"Esci" f.quit
}
menu "Programmi" ("mediumblue" : "pink")
{
"Mozilla" f.exec "exec mozilla &"
"Open Office" f.exec "exec ooffice &"
"Calcolatrice" f.exec "exec xcalc &"
"Grafica" f.menu "Grafica"
}
menu "Grafica" ("mediumblue" : "gold")
{
"Gimp" f.exec "exec gimp &"
"Bitmap" f.exec "exec bitmap &"
}
###########
# Fine - Buona configurazione!
|