1 .\" Copyright (c) 2009 Marco Peereboom <marco@peereboom.us>
2 .\" Copyright (c) 2009 Darrin Chandler <dwchandler@stilyagin.com>
4 .\" Permission to use, copy, modify, and distribute this software for any
5 .\" purpose with or without fee is hereby granted, provided that the above
6 .\" copyright notice and this permission notice appear in all copies.
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 .Dd $Mdocdate: September 15 2011 $
21 .Nd gestore di finestre per X11
26 ? un gestore di finestre minimale che cerca di stare in disparte, in modo
27 che il prezioso spazio sullo schermo possa essere usato per cose pi?
28 importanti. Hai dei default sensati e non costringe l'utente ad imparare
29 un linguaggio di programmazione per configurarlo. ? stato scritto dagli
30 hacker per gli hacker e cerca di essere piccolo, compatto e veloce.
34 viene avviato, legge le impostazioni presenti nel file di configurazione
37 .Sx FILE DI CONFIGURAZIONE
40 In questa pagina di manuale viene usata la seguente notazione:
42 .Bl -tag -width Ds -offset indent -compact
50 Tasto 1 (sinistro) del mouse
52 Tasto 3 (destro) del mouse
56 ? molto semplice da usare. La maggior parte delle operazioni vengono
57 svolte usando combinazioni di tasti sulla tastiera o sul mouse.
60 pi? sotto per i default e le possibilit? di personalizzazione.
61 .Sh FILE DI CONFIGURAZIONE
63 prova per prima cosa ad aprire il file di configurazione personale
66 Se il file in questione non ? disponibile, prova ad usare il file di
67 configurazione globale
68 .Pa /etc/scrotwm.conf .
70 Il formato di questo file ? \*(Ltchiave\*(Gt = \*(Ltvalore\*(Gt.
75 Per abilitare o disabilitare un'opzione, usare i valori 1 o 0
78 Il file supporta le seguenti chiavi:
80 .Bl -tag -width "title_class_enabledXXX" -offset indent -compact
82 Esegue un'applicazione nel workspace specificato all'avvio.
83 Definito nel formato ws[<idx>]:applicazione, eg. ws[2]:xterm esegue un
84 xterm nell'area di lavoro 2.
86 Colore del bordo della finestra che ha il focus.
88 Colore del bordo delle finestre che non hanno il focus.
90 Abilita o disabilita la barra di stato.
91 .It Cm bar_border Ns Bq Ar x
92 Colore del bordo della barra di stato nello schermo
94 .It Cm bar_border_width
95 Spessore del bordo attorno alla barra di stato in pixel. Il bordo
96 pu? essere disabilitato usando il valore 0.
97 .It Cm bar_color Ns Bq Ar x
98 Colore della barra di stato nello schermo
100 .It Cm bar_font_color Ns Bq Ar x
101 Colore del testo della barra di stato nello schermo
104 Font della barra di stato.
106 Script esterno che aggiunge informazioni come la carica della batteria alla
109 Frequenza di aggiornamento, in secondi, dello script esterno che aggiunge
110 informazioni alla barra di stato.
112 Posiziona la barra di stato sul fondo dello schermo anzich? in cima.
114 Abilita o disabilita la visualizzazione dell'algoritmo di stacking
115 corrente nella barra di stato.
117 Abilita o disabilita l'orologio nella barra di stato. Se disabilitato,
118 usando il valore 0, ? possibile usare un orologio personalizzato nello
119 script specificato in
122 Alcune applicazioni hanno finestre di dialogo troppo piccole per risultare
123 utili. Questa ? la percentuale dello schermo che verr? usata per le finestre
124 di dialogo: ad esempio, 0.6 indica il 60% della dimensione fisica dello
127 Layout da utilizzare all'avvio. Definito nel formato
128 ws[<idx>]:master_grow:master_add:stack_inc:layout:always_raise:stack_mode,
129 eg. ws[2]:-4:0:1:0:horizontal assegna il layout orizzontale all'area di
130 lavoro 2, riduce l'area principale di 4 unit?, aggiunge una finestra allo
131 stack e mantiene il comportamento predefinito per quanto riguarda le
133 I valori possibili per stack_mode sono
148 per ulteriori informazioni.
149 Queste impostazioni sono complesse e hanno effetti secondari; ? opportuno
150 familiarizzare con questi comandi prima di modificare l'opzione
153 Questa impostazione non viene applicata dopo il restart.
155 Alloca una regione personalizzata, rimuovendo qualsiasi regione
156 automaticamente rilevata stia occupando lo stesso spazio sullo schermo.
157 Definita nel formato screen[<idx>]:LARGHEZZAxALTEZZA+X+Y, ad esempio
158 \& screen[1]:800x1200+0+0.
160 Per fare s? che pi? monitor vengano considerati come una singola entit?
161 ? sufficiente creare una regione sufficientemente grande da contenerli,
162 eg. screen[1]:2048x760+0+0 unisce due monitor con risoluzione 1024x768
163 posizionati uno di fianco all'altro.
165 Imposta la dimensione minima preferita per il terminale. Se questo valore
168 cercher? di riaggiustare la dimensione del testo nel terminale in modo che
169 la larghezza del terminale rimanga sopra il valore quando la finestra
170 viene ridimensionata. Al momento solo
172 ? supportato. Il binario di
174 deve essere setuid o setgid perch? questo funzioni: nella maggior parte dei
175 sistemi, questo ? il default. L'utente potrebbe voler impostare
176 program[term] (vedere la sezione
178 pi? sotto) per usare una seconda copia del binario di
180 che non abbia il bit setgid impostato.
181 .It Cm title_class_enabled
182 Abilita o disabilita la visualizzazione della classe della finestra nella
183 barra di stato. Impostare a 1 per abilitare.
184 .It Cm title_name_enabled
185 Abilita o disabilita la visualizzazione del titolo della finestra nella
186 barra di stato. Impostare a 1 per abilitare.
187 .It Cm urgent_enabled
188 Abilita o disabilita l'hint "urgente".
189 In molti emulatori di terminale, il supporto deve essere abilitato
190 separatamente: per xterm, ad esempio, ? necessario aggiungere la riga
191 .Pa xterm.urgentOnBell: true
194 .It Cm window_name_enabled
195 Abilita o disabilita la visualizzazione del nome della finestra nella
196 barra di stato. Impostare a 1 per abilitare.
197 .It Cm verbose_layout
198 Abilita o disabilita la visualizzazione dei valori correnti di master e
199 stack nella barra di stato. Impostare a 1 per abilitare.
201 Cambia il tasto modificatore.
202 Solitamente Mod1 ? il tasto ALT e Mod4 ? il tasto Windows su un PC.
204 Se viene usato il valore
206 il gestore di finestre dar? il focus alla finestra sotto il puntatore
207 quando si cambia area di lavoro o si creano finestre.
208 .It Cm disable_border
209 Rimuovi il bordo dalle finestre se la barra di stato ? nascosta e c'?
210 una sola finestra sullo schermo.
212 Spessore del bordo delle finestre in pixel. Il valore 0 disabilita il bordo.
213 .It Cm program Ns Bq Ar p
214 Definisce una nuova azione per lanciare il programma
219 .It Cm bind Ns Bq Ar x
220 Assegna una combinazione di tasti all'azione
225 .It Cm quirk Ns Bq Ar c:n
226 Aggiunge un "quirk" per le finestre di classe
235 I colori devono essere specificati nel formato usato da
237 e i font in quello usato da
240 Per avere una lista dei font disponibili sul proprio sistema utilizzare
246 ? utile per visualizzare la X Logical Font Description ("XLFD") usata per
251 consente la definizione di azioni personalizzate per lanciare programmi di
252 propria scelta, che possono essere assegnate a combinazioni di tasti nello
253 stesso modo in cui ? possibile farlo con le azioni predefinite.
258 I programmi di default sono descritte qui sotto:
260 .Bl -tag -width "screenshot_wind" -offset indent -compact
263 .It Cm screenshot_all
265 .It Cm screenshot_wind
272 dmenu_run \-fn $bar_font \-nb $bar_color \-nf $bar_font_color \-sb $bar_border \-sf $bar_color
275 I programmi personalizzati vengono specificati con la seguente sintassi:
277 .Dl program[<nome>] = <percorso> [<arg> [... <arg>]]
280 ? un qualsiasi identificatore che non va in conflitto con un'azione
281 predefinita o una chiave,
283 ? il programma desiderato, e
285 sono zero o pi? argomenti da passare al programma.
287 Le seguenti variabili rappresentano valori impostabili in
290 .Sx FILE DI CONFIGURAZIONE
291 sopra), e possono essere usati nel campo
293 dove saranno sostituite con il valore al momento del lancio del programma:
295 .Bl -tag -width "$bar_font_color" -offset indent -compact
299 .It Cm $bar_font_color
301 .It Cm $color_unfocus
305 .Bd -literal -offset indent
306 program[ff] = /usr/local/bin/firefox http://scrotwm.org/
307 bind[ff] = Mod+f # adesso Mod+F lancia firefox
310 Per eliminare la combinazione precedente:
311 .Bd -literal -offset indent
318 fornisce molte funzioni (o azioni) accessibili tramite combinazioni di
319 tasti sul mouse o sulla tastiera.
321 Le scorciatoie assegnate al mouse sono:
323 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
325 D? focus alla finestra
329 Ridimensiona la finestra
331 Ridimensiona la finestra mantenendola centrata
334 Le scorciatoie da tastiera di default sono:
336 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
337 .It Cm M-S- Ns Aq Cm Return
345 .It Cm M- Ns Aq Cm Space
347 .It Cm M-S- Ns Aq Cm Space
361 .It Cm M- Ns Aq Cm Return
370 .Cm M-S- Ns Aq Cm TAB
387 .It Cm M-S- Ns Aq Ar n
389 .It Cm M- Ns Aq Cm Right
391 .It Cm M- Ns Aq Cm Left
395 .It Cm M-S- Ns Aq Cm Right
397 .It Cm M-S- Ns Aq Cm Left
407 .It Cm M-S Aq Cm Delete
421 I nomi delle azioni e le relative descrizioni sono le seguenti:
423 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
425 Lancia un nuovo terminale
443 Re-inizializza il layout.
445 Restringe l'area principale.
447 Allarga l'area principale.
449 Aggiunge finestre all'area principale.
451 Rimuove finestre dall'area principale.
453 Aggiunge righe/colonne all'area di stacking.
455 Rimuove righe/colonne dall'area di stacking.
457 Muove la finestra corrente nell'area principale.
459 D? il focus alla finestra successiva.
461 D? il focus alla finestra precedente.
463 D? il focus alla finestra principale.
465 Scambia con la finestra successiva dell'area di lavoro.
467 Scambia con la finestra precedente dell'area di lavoro.
469 Mostra/nascondi la barra di stato da tutte le aree di lavoro.
471 Chiude la finestra corrente.
473 Distrugge la finestra corrente.
475 Passa all'area di lavoro
479 ? compreso tra 1 e 10.
481 Sposta la finestra corrente nell'area di lavoro
485 ? compreso tra 1 e 10.
487 Passa all'area di lavoro non vuota successiva.
489 Passa all'area di lavoro non vuota precedente.
491 Passa all'ultima area di lavoro visitata.
493 Sposta il puntatore nella regione successiva.
495 Sposta il puntatore nella regione precedente.
496 .It Cm screenshot_all
497 Cattura uno screenshot dell'intero schermo, se abilitato (vedere la sezione
500 .It Cm screenshot_wind
501 Cattura uno screenshot di una singola finestra, se abilitato (vedere la
506 Abilita/disabilita il numero di versione nella barra di stato.
508 Passa la finestra che ha il focus da floating a tiled.
510 Blocca lo schermo (vedere la sezione
514 Re-inizializza gli schermi fisici (vedere la sezione
518 Minimizza (unmap) la finesta che ha il focus.
520 Massimizza (map) la finestra selezionata tramite dmenu.
522 Quando ? abilitato, le finestre floating possono essere oscurate da
525 Simula la pressione del tasto centrale del mouse.
528 Le scorciatoie personalizzate sono specificate nel file di configurazione
531 .Dl bind[<azione>] = <tasti>
534 ? una delle azioni elencate sopra (oppure nulla) e
536 ? dato da zero o pi? modificatori (MOD, Mod1, Shift, ecc.) e uno o pi?
537 tasti normali (b, space, ecc.), separati da "+".
539 .Bd -literal -offset indent
540 bind[reset] = Mod4+q # assegna reset ai tasti Windows + q
541 bind[] = Mod1+q # rimuovi l'assegnazione di Alt + q
544 Pi? combinazioni di tasti possono essere assegnate alla stessa azione.
547 fornisce la possibilit? di specificare dei "quirk" per la gestione di
548 finestre che devono subire un trattamento speciale da un gestore di finestre
549 tiling, come ad esempio alcune finestre di dialogo e applicazioni a
552 I quirk abilitati di default sono elencati qui sotto:
554 .Bl -tag -width "OpenOffice.org N.M:VCLSalFrame<TAB>XXX" -offset indent -compact
555 .It Firefox\-bin:firefox\-bin
562 FLOAT + FULLSCREEN + FOCUSPREV
563 .It OpenOffice.org 2.4:VCLSalFrame
565 .It OpenOffice.org 3.1:VCLSalFrame
573 .It xine:xine Video Fullscreen Window
583 I quirk sono descritti qui sotto:
585 .Bl -tag -width "XTERM_FONTADJ<TAB>XXX" -offset indent -compact
587 Questa finestra deve essere lasciata libera di muoversi (float).
589 Aggiusta la dimensione delle finestre troppo piccole usando dialog_ratio
591 .Sx FILE DI CONFIGURAZIONE ) .
593 Consente alla finestra di decidere da sola dove posizionarsi.
595 Ridimensiona il font di xterm quando viene ridimensionata la finestra.
597 Rimuove i bordi, consentendo alla finestra di usare l'intera dimensione
600 Quando la finestra viene chiusa, d? il focus alla finestra che aveva il
601 focus precedente anzich? all'applicazione precedente nello stack.
604 I quirk personalizzati vanno specificati nel file di configurazione come
607 .Dl quirk[<classe>:<nome>] = <quirk> [ + <quirk> ... ]
612 specificano a quali finestre i quirk vanno applicati, e
614 ? uno dei quirk presente nella lista sopra.
616 .Bd -literal -offset indent
617 quirk[MPlayer:xv] = FLOAT + FULLSCREEN + FOCUSPREV
618 quirk[pcb:pcb] = NONE # rimuovi un quirk precedentemente specificato
625 usando xprop(1) e facendo click sulla finestra desiderata.
626 Nel seguente esempio ? stato fatto click sulla finestra principale di
628 .Bd -literal -offset indent
629 $ xprop | grep WM_CLASS
630 WM_CLASS(STRING) = "Navigator", "Firefox"
633 Bisogna tenere conto del fatto che usare grep per trovare WM_CLASS inverte
634 la classe e il nome. Nell'esempio precedente, la dichiarazione del quirk
636 .Bd -literal -offset indent
637 quirk[Firefox:Navigator] = FLOAT
641 assegna automaticamente i quirk alle finestre in base al valore della
642 propriet? _NET_WM_WINDOW_TYPE in base al seguente schema:
644 .Bl -tag -width "_NET_WM_WINDOW_TYPE_TOOLBAR<TAB>XXX" -offset indent -compact
645 .It _NET_WM_WINDOW_TYPE_DOCK
647 .It _NET_WM_WINDOW_TYPE_TOOLBAR
649 .It _NET_WM_WINDOW_TYPE_UTILITY
651 .It _NET_WM_WINDOW_TYPE_SPLASH
653 .It _NET_WM_WINDOW_TYPE_DIALOG
657 In tutti gli altri casi, nessun quirk ? automaticamente assegnato alla
658 finestra. I quirk specificati nel file di configurazione hanno la precedenza
659 sui quirk assegnati in automatico.
662 implementa in maniera parziale la specifica Extended Window Manager Hints
663 (EWMH). Ci? permette di controllare sia le finestre che
665 stesso tramite script e programmi esterni. Per renderlo possibile,
667 risponde ad alcuni eventi di tipo ClientMessage; questo tipo di messaggio
668 pu? essere inviato da un terminale usando programmi come
672 Per il formato esatto di questi messaggi, si veda la specifica EWMH.
674 L'id della finestra che ha il focus ? memorizzato nella propriet?
675 _NET_ACTIVE_WINDOW della root window. ? quindi possibile ottenere il titolo
676 della finestra attiva usando
680 .Bd -literal -offset indent
681 $ WINDOWID=`xprop \-root _NET_ACTIVE_WINDOW | grep \-o "0x.*"`
682 $ xprop \-id $WINDOWID WM_NAME | grep \-o "\\".*\\""
685 Per dare il focus ad una finestra, ? sufficiente inviare il messaggio
686 _NET_ACTIVE_WINDOW alla root window. Ad esempio, usando
688 (supponendo che 0x4a0000b sia l'id della finestra a cui dare il focus):
689 .Bd -literal -offset indent
690 $ wmctrl \-i \-c 0x4a0000b
693 Per chiudere una finestra si pu? inviare il messaggio _NET_CLOSE_WINDOW
694 alla root window. Ad esempio, usando
696 (supponendo che 0x4a0000b sia l'id della finestra da chiudere):
697 .Bd -literal -offset indent
698 $ wmctrl \-i \-c 0x4a0000b
701 Per passare una finestra da floating a tiled si pu? aggiungere o rimuovere
702 l'atomo _NET_WM_STATE_ABOVE alla propriet? _NET_WM_STATE della finestra,
703 inviando il messaggio _NET_WM_STATE alla root window. Ad esempio, usando
705 (supponendo che 0x4a0000b sia l'id della finestra):
706 .Bd -literal -offset indent
707 $ wmctrl \-i \-r 0x4a0000b \-b toggle,_NET_WM_STATE_ABOVE
710 Le finestre floating possono essere ridimensionate o spostate inviando il
711 messaggio _NET_MOVERESIZE_WINDOW alla root window. Ad esempio, usando
713 (supponendo che 0x4a0000b sia l'id della finestra da spostare):
714 .Bd -literal -offset indent
715 $ wmctrl \-i \-r 0x4a0000b \-e 0,100,50,640,480
718 Questo comando sposta la finestra in (100,50) e la ridimensiona a 640x480.
720 I messaggi _NET_MOVERESIZE_WINDOW vengono ignorati per le finestre stacked.
722 ? possibile riavviare
724 inviandogli il segnale HUP.
726 .Bl -tag -width "/etc/scrotwm.confXXX" -compact
727 .It Pa ~/.scrotwm.conf
731 .It Pa /etc/scrotwm.conf
732 impostazioni globali di
737 prende ispirazione da xmonad & dwm.
744 .Bl -tag -width "Ryan Thomas McBride Aq mcbride@countersiege.com " -offset indent -compact
745 .It Cm Marco Peereboom Aq marco@peereboom.us
746 .It Cm Ryan Thomas McBride Aq mcbride@countersiege.com
747 .It Cm Darrin Chandler Aq dwchandler@stilyagin.com
748 .It Cm Pierre-Yves Ritschard Aq pyr@spootnik.org
749 .It Cm Tuukka Kataja Aq stuge@xor.fi
750 .It Cm Jason L. Wright Aq jason@thought.net
753 Al momento il menu, invocato usando