1 .\" Copyright (c) 2009-2012 Marco Peereboom <marco@peereboom.us>
2 .\" Copyright (c) 2009 Darrin Chandler <dwchandler@stilyagin.com>
3 .\" Copyright (c) 2011-2014 Reginald Kennedy <rk@rejii.com>
4 .\" Copyright (c) 2011-2012 Lawrence Teo <lteo@lteo.net>
5 .\" Copyright (c) 2011-2012 Tiago Cunha <tcunha@gmx.com>
6 .\" Copyright (c) 2012 David Hill <dhill@mindcry.org>
8 .\" Permission to use, copy, modify, and distribute this software for any
9 .\" purpose with or without fee is hereby granted, provided that the above
10 .\" copyright notice and this permission notice appear in all copies.
12 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
20 .Dd $Mdocdate: February 15 2012 $
25 .Nd gestore di finestre per X11
30 \[`e] un gestore di finestre minimale che cerca di stare in disparte, in modo
31 che il prezioso spazio sullo schermo possa essere usato per cose molto
33 Ha delle impostazioni predefinite ragionevoli e non richiede all'utente di
34 imparare un nuovo linguaggio per modificarne la configurazione.
35 \[`E] stato scritto dagli hacker per gli hacker, ed ha come obiettivo quello
36 di essere piccolo, compatto e veloce.
40 legge le impostazioni presenti nel suo file di configurazione,
43 .Sx FILE DI CONFIGURAZIONE
46 Le seguenti notazioni verranno utilizzate all'interno di questa pagina:
48 .Bl -tag -width Ds -offset indent -compact
56 Tasto 1 (sinistro) del mouse
58 Tasto 3 (destro) del mouse
62 \[`e] molto semplice da usare.
63 La maggior parte delle azioni vengono svolte utilizzando combinazioni di
64 tasti sulla tastiera o sul mouse.
67 pi\[`u] sotto per informazioni sulle impostazioni predefinite e sulle
68 possibilit\[`a] di personalizzazione.
69 .Sh FILE DI CONFIGURAZIONE
71 da precedenza al file di configurazione specifico dell'utente,
72 .Pa ~/.spectrwm.conf .
73 Se quel file non \[`e] disponibile, tenta di utilizzare il file di
74 configurazione globale
75 .Pa /etc/spectrwm.conf .
77 Il formato del file \[`e]
79 .Dl Ar keyword Li = Ar setting
85 Le impostazioni di tipo binario possono essere abilitate e disabilitate
86 utilizzando rispettivamente i valori 1 e 0.
88 I colori devono essere specificati usando il formato usato da
91 I commenti iniziano con #.
92 Qualora fosse necessario usare usare
94 come parte di un'opzione, questo dovr\[`a] essere preceduto da un
97 Il file di configurazione supporta le seguenti impostazioni:
100 All'avvio, esegue un'applicazione nell'area di lavoro specificata.
101 Il formato da utilizzare \[`e]
102 .Li ws Ns Bo Ar idx Bc : Ns Ar application ,
103 eg. ws[2]:xterm esegue
105 nell'area di lavoro 2.
107 Script esterno che produce informazioni aggiuntive, come ad esempio quelle
108 sullo stato di carica della batteria, da inserire nella barra di stato.
110 Posiziona la barra di stato in fondo ad ogni regione anzich\['e] in cima.
111 .It Ic bar_borders Ns Bq Ar x
112 Colore del bordo della barra di stato nello schermo
114 .It Ic bar_border_unfocus Ns Bq Ar x
115 Colore del bordo della barra di stato nelle regioni dello schermo
117 che non hanno il focus.
118 .It Ic bar_border_width
119 Imposta lo spessore del bordo della barra di stato, in pixel.
120 Il bordo pu\[`o] essere disabilitato usando il valore 0.
121 .It Ic bar_color Ns Bq Ar x
122 Colore di sfondo della barra di stato nello schermo
125 Imposta il valore predefinito di
127 il valore predefinito per questa opzione \[`e] 1.
128 .It Ic bar_enabled_ws Ns Bq Ar x
129 Imposta il valore predefinito di
133 il valore predefinito per questa opzione \[`e] 1.
135 Font da usare per la barra di stato. Il font pu\[`o] essere specificato
136 usando Xft o X Logical Font Description (XLFD). \[`E] possibile specificare
137 dei font secondari separandoli tra loro con una virgola. Se tutte le
138 specifiche sono nel formato XLFD verranno usati i gruppi di font; se almeno
139 una delle specifiche \[`e] in formato Xft, verr\[`a] usato Xft. Quando Xft
140 \[`e] in uso, verr\[`a] usato solo il primo font caricato con successo
141 anche nel caso in cui non dovesse comprendere tutti i glifi necessari.
142 L'impostazione predefinita prevede l'uso dei gruppi di font; \[`e] bene
143 tenere conto del fatto che
148 .Bd -literal -offset indent
149 bar_font = Terminus:style=Regular:pixelsize=14:antialias=true
151 bar_font = -*-profont-medium-*-*-*-11-*-*-*-*-*-*-*,Terminus:pixelsize=14,\
152 -*-clean-medium-*-*-*-12-*-*-*-*-*-*-*
155 Esempio con gruppi di font:
156 .Bd -literal -offset indent
157 bar_font = -*-terminus-medium-*-*-*-14-*-*-*-*-*-*-*
159 bar_font = -*-profont-medium-*-*-*-11-*-*-*-*-*-*-*,\
160 -*-terminus-medium-*-*-*-14-*-*-*-*-*-*-*,\
161 -*-clean-medium-*-*-*-12-*-*-*-*-*-*-*
164 Per ottenere un elenco dei font disponibili sul proprio sistema,
171 pu\[`o] essere d'aiuto per il formato XLFD.
172 .It Ic bar_font_color Ns Bq Ar x
173 Colore del testo nella barra di stato nello schermo
176 Imposta il formato da utilizzare per la barra di stato,
179 e tutte le opzioni che terminano con
181 Il formato viene passato a
183 prima di essere usato, e pu\[`o] contenere le seguenti sequenze
185 .Bl -column "Sequenza di caratteri" "Sostituita con" -offset indent
186 .It Sy "Sequenza di caratteri" Ta Sy "Sostituita con"
187 .It Li "+<" Ta "Lascia uno spazio"
188 .It Li "+A" Ta "Output dello script esterno"
189 .It Li "+C" Ta "Classe della finestra corrente (da WM_CLASS)"
190 .It Li "+D" Ta "Nome dell'area di lavoro corrente"
191 .It Li "+F" Ta "Indicatore di float"
192 .It Li "+I" Ta "Indice dell'area di lavoro corrente"
193 .It Li "+M" Ta "Numero di finestre minimizzate nell'area di lavoro corrente"
194 .It Li "+N" Ta "Numero dello schermo corrente"
195 .It Li "+P" Ta "Classe e istanza della finestra corrente, separate da due punti"
196 .It Li "+S" Ta "Algoritmo di gestione delle finestre in uso"
197 .It Li "+T" Ta "Istanza della finestra corrente (da WM_CLASS)"
198 .It Li "+U" Ta "Indicatore di urgenza"
199 .It Li "+V" Ta "Versione del programma"
200 .It Li "+W" Ta "Nome della finestra corrente (da _NET_WM_NAME/WM_NAME)"
201 .It Li "++" Ta "Il carattere" Ql +
204 Tutte le sequenze di caratteri possono limitare il numero di caratteri
205 massimo utilizzato, eg. +64A. Il testo che non contribuisce a formare
206 una di queste sequenze di caratteri viene copiato senza subire modifiche.
208 Allinea il test all'interno della barra di stato. I valori possibili sono
216 Se il valore scelto non \[`e]
218 il testo potrebbe non risultare allineato correttamente.
221 per maggiori informazioni.
222 .It Ic bind Ns Bq Ar x
223 Associa una combinazione di tasti all'azione
229 Imposta lo spessore del bordo delle finestre, in pixel.
230 Il bordo pu\[`o] essere disabilitato usando il valore 0.
231 .It Ic boundary_width
232 Imposta la larghezza dell'area di contenimento delle regioni, in pixel.
233 Questo valore permette di controllare di quanto una finestra debba essere
234 trascinata o ridimensionata oltre il limite di una regione prima che
235 venga considerata al di fuori di essa.
236 Questa impostazione non viene presa in considerazione quando le finestre
237 vengono manipolate utilizzando la tastiera.
238 L'area di contenimento pu\[`o] essere disabilitata usando il valore 0.
240 Abilita o disabilita l'orologio nella barra di stato.
241 Se viene usato il valore 0, \[`e] possibile inserire un orologio
242 personalizzato nello script esterno definito in
244 .It Ic iconic_enabled
245 Visualizza nella barra di stato il numero di finestre minimizzate.
246 Questo indicatore pu\[`o] essere abilitato usando il valore 1.
248 Colore del bordo della finestra che detiene il focus.
249 Il colore predefinito \[`e] il rosso.
250 .It Ic color_focus_maximized
251 Colore del bordo della finestra che detiene il focus, se massimizzata.
252 Il colore predefinito \[`e] quello usato per
255 Colore del bordo delle finestre che non detengono il focus.
256 Il colore predefinito \[`e] rgb:88/88/88.
257 .It Ic color_unfocus_maximized
258 Colore del bordo delle finestre che non detengono il focus, se massimizzate.
259 Il colore predefinito \[`e] quello usato per
262 Alcune applicazioni creano finestre di dialogo troppo piccole per essere
264 Questa opzione indica la percentuale dello schermo da utilizzare per le
265 finestre di dialogo: ad esempio, il valore 0.6 indica che dovr\[`a] essere
266 usato il 60% dello spazio disponibile.
267 .It Ic disable_border
268 Non mostrare i bordi quando la barra di stato \[`e] nascosta e c'\[`e] una
269 sola finestra nella regione.
271 Imposta quale finestra ricever\[`a] il focus in seguito alla chiusura della
272 finestra che lo detiene al momento.
273 I valori possibili sono
279 (precedente, impostazione predefinita) e
285 sono intese relativamente alla finestra che \[`e] stata chiusa.
286 .It Ic focus_close_wrap
287 Se abilitata, l'ultima finestra ricever\[`a] il focus quando l'ultima
288 viene chiusa, e viceversa.
289 Questa opzione pu\[`o] essere disabilitata usando il valore 0.
291 Finestra che deve ricevere il focus quando nessun'altra finestra lo
293 I valori possibili sono
297 (ultima, impostazione predefinita).
299 Comportamento del focus in relazione al cursore del mouse.
300 I valori possibili sono:
302 .Bl -tag -width "default" -offset indent -compact
304 Modifica il focus quando viene attraversato un bordo in seguito ad un
305 movimento del cursore o all'interazione con una finestra.
307 Modifica il focus ogni volta che il cursore attraversa un bordo, anche se
308 questo avviene in seguito al passaggio ad un'area di lavoro diversa o ad
311 Modifica il focus solo quando si interagisce con una finestra.
313 .It Ic java_workaround
314 Evita alcuni problemi di rendering nelle GUI Java impersonando il window
315 manager LG3D, scritto da Sun. Il valore predefinito \[`e] 1.
316 .It Ic keyboard_mapping
317 Rimuove tutte le scorciatoie da tastiera esistenti e carica le nuove
318 scorciatoie dal file specificato.
319 Questo permette di caricare scorciatoie specifiche del proprio layout
322 .Sx MAPPE DI TASTIERA
323 pi\[`u] sotto per un elenco dei file che vengono forniti.
325 Imposta il layout da utilizzare all'avvio.
327 .Li ws Ns Bo Ar idx Bc : Ns Ar master_grow : Ns Ar master_add : Ns Ar stack_inc : Ns Ar always_raise : Ns Ar stack_mode ,
328 eg. ws[2]:-4:0:1:0:horizontal configura l'area di lavoro 2 per utilizzare
329 un algoritmo di stacking orizzontale, riduce l'area principale di 4
330 unit\[`a] e aggiunge una finestra all'area di stacking, mantenendo il
331 comportamento predefinito per le finestre floating.
332 I valori possibili per
350 per maggiori informazioni.
351 Le opzioni che controllano gli algoritmi di gestione delle finestre sono
352 complesse e possono influenzare altre opzioni, quindi \[`e] opportuno
353 prendere confidenza con esse prima di utilizzare l'opzione
356 Questa impostazione non viene applicata al riavvio.
358 Cambia il modificatore.
359 Solitamente Mod1 \[`e] il tasto Alt e Mod4 il tasto Windows su un PC.
361 Imposta il nome di un'area di lavoro all'avvio.
363 .Li ws Ns Bo Ar idx Bc : Ns Ar name ,
364 eg. ws[1]:Console assegna il nome
366 all'area di lavoro 1.
367 .It Ic program Ns Bq Ar p
368 Definisce la nuova azione
370 corrispondente all'esecuzione di un programma.
374 .It Ic quirk Ns Bq Ar c Ns Li : Ns Ar i Ns Li : Ns Ar n
375 Aggiunge un "quirk" per le finestre di classe
385 Definisce una regione personalizzata, rimuovendo tutte le regioni create in
386 automatico che occupano la stessa parte dello schermo.
388 .Li screen Ns Bo Ar idx Ns Bc : Ns Ar width Ns x Ns Ar height Ns + Ns Ar x Ns + Ns Ar y ,
389 eg. screen[1]:800x1200+0+0.
391 Per fare s\[`i] che una regione copra pi\[`u] monitor, \[`e] sufficiente
392 definirla in modo che li occupi tutti, eg. screen[1]:2048x768+0+0 definisce
393 una regione che copre due monitor con risoluzione 1024x768 posizionati uno
395 .It Ic region_padding
396 Larghezza, in pixel, dello spazio lasciato vuoto all'interno di una regione.
397 Questa opzione pu\[`o] essere disabilitata usando il valore 0.
398 .It Ic spawn_position
399 Posizione da assegnare alle finestre al momento della loro creazione.
400 I valori possibili sono
408 (ultima, predefinito).
412 sono intese relativamente alla finestra che detiene il focus.
414 Abilita o disabilita la visualizzazione dell'algoritmo di stacking in uso
415 all'interno della barra di stato.
417 Imposta la larghezza minima desiderata per i terminali.
418 Se il valore \[`e] maggiore di 0,
420 cercher\[`a] di regolare la dimensione del font usato dal terminale
421 per fare s\[`i] che la larghezza rimanga superiore ad esso mentre la
422 finestra viene ridimensionata.
425 \[`e] supportato al momento.
428 non deve avere i bit setuid o setgid abilitati, contrariamente a quanto
429 avviene nella maggior parte dei sistemi.
430 L'utente potrebbe dover creare una copia dell'eseguibile di
432 priva dei bit setuid e setgid, e modificare program[term] (vedere la
435 pi\[`u] sotto) in modo che punti a questa copia.
437 Larghezza, in pixel, dello spazio lasciato vuoto tra una finestra e l'altra.
438 L'utilizzo di un valore negativo fa s\[`i] che le finestre si sovrappongano.
439 Se il valore impostato \[`e] l'opposto di
441 non verr\[`a] visualizzato alcun bordo tra le finestre.
442 Questa opzione pu\[`o] essere disabilitata usando il valore 0.
443 .It Ic urgent_collapse
444 Disabilita la visualizzazione di un testo sostitutivo per le aree di lavoro
445 che non contengono finestre urgenti.
446 Questa opzione pu\[`o] essere abilitata usando il valore 1.
447 .It Ic urgent_enabled
448 Abilita o disabilita la visualizzazione dell'indicatore di urgenza
449 all'interno della barra di stato.
450 Molti emulatore di terminale devono essere configurati esplicitamente per
451 fare s\[`i] che il carattere "bell" causi la modifica dello stato di
452 urgenza della finestra. Ad esempio, in
454 \[`e] necessario aggiungere al file
457 .Bd -literal -offset indent
458 xterm.bellIsUrgent: true
460 .It Ic verbose_layout
461 Abilita o disabilita la visualizzazione del numero di finestre nell'area
462 principale e del numero di righe (o colonne) nell'area di stacking.
463 Questa opzione pu\[`o] essere disabilitata usando il valore 1.
470 per maggiori informazioni.
471 .It Ic window_class_enabled
472 Abilita o disabilita la visualizzazione del nome della classe (da WM_CLASS)
473 all'interno della barra di stato.
474 Questa opzione pu\[`o] essere abilitata usando il valore 1.
475 .It Ic window_instance_enabled
476 Abilita o disabilita la visualizzazione del nome dell'istanza (da WM_CLASS)
477 all'interno della barra di stato.
478 Questa opzione pu\[`o] essere abilitata usando il valore 1.
479 .It Ic window_name_enabled
480 Abilita o disabilita la visualizzazione del titolo della finestra (da
481 _NET_WM_NAME/WM_NAME) all'interno della barra di stato.
482 Questa opzione pu\[`o] essere abilitata usando il valore 1.
484 Per impedire che titoli di finestra troppo lunghi impediscano di
485 visualizzare altre informazioni, lo spazio dedicato al titolo \[`e]
486 limitato a 64 caratteri.
489 per maggiori informazioni.
491 Posiziona il cursore del mouse al centro della finestra che ha il focus
492 quando vengono utilizzate scorciatoie da tastiera per modificare il focus,
493 cambiare area di lavoro, cambiare regione, etc.
494 Questa opzione pu\[`o] essere abilitata usando il valore 1.
495 .It Ic workspace_limit
496 Imposta il numero di aree di lavoro disponibili.
497 Il valore minimo \[`e] 1, quello massimo \[`e] 22, quello predefinito
502 consente di definire azioni personalizzate per l'esecuzione di programmi,
503 e di assegnare queste azioni a scorciatoie da tastiera come \[`e]
504 possibile per quelle predefinite.
509 I programmi vengono definiti come segue:
511 .Dl program Ns Bo Ar action Bc = Ar progpath Op Ar arg Op Ar arg ...
514 \[`e] qualsiasi identificatore che non vada in conflitto con una delle
517 \[`e] il percorso del programma da eseguire e
519 sono gli argomenti (uno o pi\[`u]) da passare al programma.
521 Se il percorso o gli argomenti comprendono il carattere #, questo dovr\[`a]
522 essere preceduto da un carattere di escape, diventando \e#.
524 I seguenti argomenti verranno sostituiti, al momento dell'esecuzione, con
525 il valore assegnato all'opzione corrispondente:
527 .Bl -tag -width "$bar_font_color" -offset indent -compact
531 .It Cm $bar_font_color
533 .It Cm $color_unfocus
539 .It Cm $workspace_index
543 .Bd -literal -offset indent
544 program[ff] = /usr/local/bin/firefox http://spectrwm.org/
545 bind[ff] = MOD+Shift+b # Ora M-S-b esegue Firefox
548 Per eliminare la scorciatoia appena definita:
549 .Bd -literal -offset indent
553 Programmi predefiniti:
555 .Bl -tag -width "screenshot_wind" -offset indent -compact
559 dmenu_run $dmenu_bottom \-fn $bar_font \-nb $bar_color \-nf $bar_font_color \-sb
560 $bar_border \-sf $bar_color
564 initscreen.sh # opzionale
565 .It Cm screenshot_all
566 screenshot.sh full # opzionale
567 .It Cm screenshot_wind
568 screenshot.sh window # opzionale
571 I programmi opzionali non verranno verificati a meno di non essere
572 ridefiniti dall'utente.
573 Se uno dei programmi predefiniti fallisce la verifica, \[`e] possibile
574 risolvere l'errore installando il programma corrispondente, modificando
575 il percorso del programma o disabilitando la scorciatoia relativa.
577 Ad esempio, per ridefinire
579 .Bd -literal -offset indent
580 program[lock] = xscreensaver\-command \-lock
583 Per disabilitare la scorciatoia assegnata a
585 ed impedirne la verifica:
586 .Bd -literal -offset indent
587 bind[] = MOD+Shift+Delete
591 fornisce numerose azioni che possono essere attivate usando combinazioni
592 di tasti sulla tastiera o sul mouse.
594 Le combinazioni di tasti che coinvolgono il mouse sono le seguenti:
596 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
598 Assegna il focus ad una finestra
602 Ridimensiona una finestra
604 Ridimensiona una finestra, mantenendola centrata
607 Le scorciatoie da tastiera predefinite sono le seguenti:
609 .Bl -tag -width "M-j, M-<TAB>XXXXXX" -offset indent -compact
610 .It Cm M-S- Ns Aq Cm Return
618 .It Cm M- Ns Aq Cm Space
622 .It Cm M-S- Ns Aq Cm Space
636 .It Cm M- Ns Aq Cm Return
645 .Cm M-S- Ns Aq Cm TAB
664 .It Cm M- Ns Aq Ar 1-9,0,F1-F12
666 .It Cm M-S- Ns Aq Ar 1-9,0,F1-F12
667 .Pf mvws_ Ns Aq Ar 1-22
668 .It Cm M- Ns Aq Ar Keypad 1-9
670 .It Cm M-S- Ns Aq Ar Keypad 1-9
672 .It Cm M- Ns Aq Cm Right
674 .It Cm M- Ns Aq Cm Left
676 .It Cm M- Ns Aq Cm Up
678 .It Cm M- Ns Aq Cm Down
682 .It Cm M-S- Ns Aq Cm Left
684 .It Cm M-S- Ns Aq Cm Up
686 .It Cm M-S- Ns Aq Cm Right
688 .It Cm M-S- Ns Aq Cm Left
698 .It Cm M-S- Ns Aq Cm Delete
736 Le azioni predefinite disponibili sono le seguenti:
738 .Bl -tag -width "M-j, M-<TAB>XXXX" -offset indent -compact
740 Esegue un terminale (vedere la sezione
744 Mostra il menu (vedere la sezione
754 Passa al layout successivo.
756 Inverte l'area principale e quella di stacking.
758 Riporta il layout al suo stato iniziale.
760 Riduce la dimensione dell'area principale.
762 Aumenta la dimensione dell'area principale.
764 Aggiunge una finestra all'area principale.
766 Rimuove una finestra dall'area principale.
768 Aggiunge una riga (o colonna) all'area di stacking.
770 Rimuove una riga (o colonna) dall'area di stacking.
772 Sposta la finestra corrente nell'area principale.
774 Assegna il focus alla finestra successiva.
776 Assegna il focus alla finestra precedente.
778 Assegna il focus alla finestra principale dell'area di lavoro.
780 Assegna il focus alla finestra urgente successiva.
781 Verr\[`a] effettuato, se necessario, il passaggio ad un'altra area di
784 Inverte la finestra corrente con quella successiva.
786 Inverte la finestra corrente con quella precedente.
788 Modifica la visibilit\[`a] della barra di stato a livello globale.
790 Modifica la visibilit\[`a] della barra di stato nell'area di lavoro
793 Chiude la finestra corrente.
795 Distrugge la finestra corrente.
797 Passa all'area di lavoro
801 \[`e] un valore compreso tra 1 e
802 .Ic workspace_limit .
804 Sposta la finestra corrente nell'area di lavoro
808 \[`e] un numero compreso tra 1 e
809 .Ic workspace_limit .
811 Assegna il focus alla regione
815 \[`e] un numero compreso tra 1 e 9.
817 Sposta la finestra corrente nella regione
821 \[`e] un numero compreso tra 1 e 9.
823 Passa all'area di lavoro non vuota successiva.
825 Passa all'area di lavoro non vuota precedente.
827 Passa all'area di lavoro successiva.
829 Passa all'area di lavoro precedente.
831 Passa all'area di lavoro successiva, spostando allo stesso tempo la
834 Passa all'area di lavoro precedente, spostando allo stesso tempo la
837 Passa all'ultima area di lavoro visitata.
839 Passa alla regione successiva.
841 Passa alla regione precedente.
842 .It Cm screenshot_all
843 Cattura l'intera schermata chiamando l'apposito script (vedere la sezione
846 .It Cm screenshot_wind
847 Cattura una singola finestra chiamando l'apposito script (vedere la sezione
851 Modifica la visibilit\[`a] del numero di versione all'interno della barra
854 Modifica la finestra che detiene il focus, portandola da floating a tiled
857 Blocca lo schermo (vedere la sezione
861 Inizializza nuovamente tutti gli schermi (vedere la sezione
865 Minimizza la finestra che detiene il focus.
867 Ripristina la finestra selezionata tramite
869 .It Cm maximize_toggle
870 Modifica lo stato di massimizzazione della finestra che detiene il focus.
872 Se impostato, le finestre tiled possono oscurare le finestre floating.
874 Simula la pressione del tasto centrale del mouse.
876 Riduce la larghezza di una finestra floating.
878 Aumenta la larghezza di una finestra floating.
880 Riduce l'altezza di una finestra floating.
882 Aumenta l'altezza di una finestra floating.
884 Sposta una finestra floating verso sinistra di un'unit\[`a].
886 Sposta una finestra floating verso destra di un'unit\[`a].
888 Sposta una finestra floating verso l'alto di un'unit\[`a].
890 Sposta una finestra floating verso il basso di un'unit\[`a].
891 .It Cm name_workspace
892 Assegna un nome all'area di lavoro corrente.
893 .It Cm search_workspace
894 Cerca un'area di lavoro.
896 Cerca una finestra all'interno dell'area di lavoro corrente.
899 Le scorciatoie da tastiera personalizzate vengono definite come segue:
901 .Dl bind Ns Bo Ar action Bc = Ar keys
904 \[`e] una delle azioni predefinite descritte sopra, oppure la stringa vuota
905 (per disabilitare la scorciatoia).
907 \[`e] composta da uno o pi\[`u] tasti modificatore (eg. MOD, Mod1, Shift,
908 etc.) e uno o pi\[`u] tasti normali (eg. b, Space, etc.) separati da
912 .Bd -literal -offset indent
913 bind[reset] = Mod4+q # Assegna l'azione reset alla scorciatoia Win+q
914 bind[] = Mod1+q # disabilita la scorciatoia predefinita Alt+q
917 Per usare il valore dell'opzione
919 in una scorciatoia, specificare MOD come modificatore.
921 Pi\[`u] scorciatoie possono essere assegnate alla stessa azione.
923 Per usare dei caratteri non latini, come \[oa] o \[*p], all'interno di una
924 scorciatoia, \[`e] necessario specificare il nome xkb del carattere
925 anzich\['e] il carattere stesso.
928 e premendo un tasto mentre la finestra del programma detiene il focus,
929 \[`e] possibile leggere il nome xkb corrispondente al tasto premuto.
930 Ad esempio, per \[oa]:
931 .Bd -literal -offset indent
932 KeyPress event, serial 41, synthetic NO, window 0x2600001,
933 root 0x15a, subw 0x0, time 106213808, (11,5), root:(359,823),
934 state 0x0, keycode 24 (keysym 0xe5, aring), same_screen YES,
935 XLookupString gives 2 bytes: (c3 a5) "\[oa]"
936 XmbLookupString gives 2 bytes: (c3 a5) "\[oa]"
937 XFilterEvent returns: False
940 Il nome xkb \[`e] aring.
941 Quindi, all'interno di
943 sar\[`a] possibile aggiungere la seguente riga:
944 .Bd -literal -offset indent
945 bind[program] = MOD+aring
947 .Sh MAPPE DI TASTIERA
948 \[`E] possibile caricare le scorciatoie da un file di configurazione
949 separato tramite l'opzione
950 .Ic keyboard_mapping :
951 questo consente di utilizzare scorciatoie specifiche del proprio layout di
954 Vengono forniti i seguenti file:
956 .Bl -tag -width "spectrwm_XX.confXXX" -offset indent -compact
957 .It Cm spectrwm_cz.conf
958 Layout per tastiere ceche
959 .It Cm spectrwm_es.conf
960 Layout per tastiere spagnole
961 .It Cm spectrwm_fr.conf
962 Layout per tastiere francesi
963 .It Cm spectrwm_fr_ch.conf
964 Layout per tastiere francesi (Svizzera)
965 .It Cm spectrwm_se.conf
966 Layout per tastiere svedesi
967 .It Cm spectrwm_us.conf
968 Layout per tastiere americane
971 \[`E] possibile specificare "quirk" da applicare a quelle finestre (ad
972 esempio applicazioni a schermo intero e finestre di dialogo) che richiedono
973 un comportamento speciale da parte di un gestore di finestre tiling come
976 La configurazione predefinita, per quanto riguarda i quirk, \[`e] la
979 .Bl -tag -width "OpenOffice.org N.M:VCLSalFrame<TAB>XXX" -offset indent \
981 .It Firefox\-bin:firefox\-bin
988 FLOAT + FULLSCREEN + FOCUSPREV
989 .It OpenOffice.org 2.4:VCLSalFrame
991 .It OpenOffice.org 3.1:VCLSalFrame
999 .It xine:xine Video Fullscreen Window
1003 .It Xitk:Xine Window
1009 I quirk disponibili sono i seguenti:
1011 .Bl -tag -width "XTERM_FONTADJ<TAB>XXX" -offset indent -compact
1013 Le finestre saranno sempre floating.
1015 Modifica la dimensione delle finestre di dialogo in base al valore di
1018 .Sx FILE DI CONFIGURAZIONE
1021 Consenti alle finestre di decidere la propria posizione.
1023 Regola la dimensione dei font di
1025 quando la dimensione delle finestre viene modificata.
1027 Non mostrare il bordo.
1029 Alla chiusura di una finestra, il focus verr\[`a] assegnato alla finestra
1030 che lo deteneva in precedenza e non alla finestra precedente nello stack.
1032 Non assegnare il focus alle finestre quando vengono create.
1033 Questo quirk viene ignorato se il valore di
1037 .It FOCUSONMAP_SINGLE
1038 Assegna il focus alle finestre quando vengono create solo se non sono
1039 gi\[`a] presenti delle finestre con la stessa classe e istanza nell'area
1041 Questo quirk viene ignorato se il valore di
1046 Assegna il focus alle finestre quando viene richiesto tramite un messaggio
1047 di tipo _NET_ACTIVE_WINDOW con sorgente 1.
1048 Se la sorgente \[`e] 0 (non specificato) o 2 (pager), la richiesta viene
1051 Ignora il PID nella scelta dell'area di lavoro iniziale per le nuove
1053 Molto utile per le applicazioni (eg. terminali) che creano pi\[`u] finestre
1054 all'interno dello stesso processo.
1056 Ignora l'area di lavoro in cui \[`e] stata eseguita la scorciatoia da
1057 tastiera nella scelta dell'area di lavoro iniziale per le nuove finestre.
1059 Obbliga le nuove finestre ad essere assegnate all'area di lavoro
1063 I quirk personalizzati vengono definiti come segue:
1065 .Dl quirk Ns Bo Ar class Ns Bo : Ns Ar instance Ns Bo : Ns Ar name Bc Bc Bc = Ar quirk Op + Ar quirk ...
1071 (opzionale) sono dei pattern che vengono usati per determinare a quali
1072 finestre i quirk debbano essere applicati e
1074 \[`e] uno dei quirk descritti in precedenza.
1076 I pattern vengono interpretati come espressioni regolari estese POSIX.
1077 I simboli ':', '[' e ']' devono essere preceduti da '\\' per essere
1078 considerati letteralmente.
1081 per ulteriori informazioni sulle espressioni regolari estese POSIX.
1084 .Bd -literal -offset indent
1085 quirk[MPlayer] = FLOAT + FULLSCREEN + FOCUSPREV # Le finestre con \
1086 classe 'MPlayer' sono floating
1087 quirk[.*] = FLOAT # Le finestre sono floating
1088 quirk[.*:.*:.*] = FLOAT # Come sopra
1089 quirk[Firefox:Navigator] = FLOAT # Le finestre di navigazione di \
1090 Firefox sono floating
1091 quirk[::Console] = FLOAT # Le finestre la cui classe non \[`e] impostata \
1092 e il cui nome \[`e] 'Console' sono floating
1093 quirk[\\[0-9\\].*:.*:\\[\\[\\:alnum\\:\\]\\]*] = FLOAT # Le finestre la \
1094 cui classe inizia con un numero e il cui nome \[`e] non definito o \
1095 contiene solo caratteri alfanumerici, senza spazi, sono floating
1096 quirk[pcb:pcb] = NONE # Rimuove i quirk predefiniti
1098 \[`E] possibile ottenere
1105 e selezionando la finestra desiderata.
1106 In questo esempio, \[`e] stata selezionata la finestra principale di
1108 .Bd -literal -offset indent
1109 $ xprop | grep \-E "^(WM_CLASS|_NET_WM_NAME|WM_NAME)"
1110 WM_CLASS(STRING) = "Navigator", "Firefox"
1111 WM_NAME(STRING) = "spectrwm - ConformalOpenSource"
1112 _NET_WM_NAME(UTF8_STRING) = "spectrwm - ConformalOpenSource"
1117 visualizza WM_CLASS nel seguente formato:
1118 .Bd -literal -offset indent
1119 WM_CLASS(STRING) = "<instance>", "<class>"
1122 In questo caso, bisognerebbe aggiungere al file di configurazione la
1124 .Bd -literal -offset indent
1125 quirk[Firefox:Navigator] = FLOAT
1129 assegna alcuni quirk in automatico, basandosi sul valore della
1130 propriet\[`a] _NET_WM_WINDOW_TYPE, nel seguente modo:
1132 .Bl -tag -width "_NET_WM_WINDOW_TYPE_TOOLBAR<TAB>XXX" -offset indent -compact
1133 .It _NET_WM_WINDOW_TYPE_DOCK
1135 .It _NET_WM_WINDOW_TYPE_TOOLBAR
1137 .It _NET_WM_WINDOW_TYPE_UTILITY
1139 .It _NET_WM_WINDOW_TYPE_SPLASH
1141 .It _NET_WM_WINDOW_TYPE_DIALOG
1145 In tutti gli altri casi gli unici quirk assegnati alle finestre saranno
1146 quelli predefiniti o, con precedenza maggiore, quelli specificati nel
1147 file di configurazione.
1150 implementa in maniera parziale la specifica EWMH, Extended Window Manager
1151 Hints: questo consente di controllare le finestre, oltre che
1153 stesso, da script e programmi esterni.
1154 Per sfruttare questo supporto,
1156 dovr\[`a] ricevere degli eventi di tipo ClientMessage; questo tipo di
1157 messaggio pu\[`o] essere inviato dalla riga di comando usando tool come
1161 Il formato dei messaggi \[`e] definito nella specifica EWMH.
1163 L'identificativo della finestra che detiene il focus pu\[`o] essere
1164 ottenuto leggendo il valore della propriet\[`a] _NET_ACTIVE_WINDOWS
1166 Ad esempio, per visualizzare il titolo della finestra:
1167 .Bd -literal -offset indent
1168 $ WINDOWID=`xprop \-root _NET_ACTIVE_WINDOW | grep \-o "0x.*"`
1169 $ xprop \-id $WINDOWID _NET_WM_NAME | grep \-o "\\".*\\""
1172 Il focus pu\[`o] essere assegnato ad una finestra inviando un messaggio
1173 di tipo _NET_ACTIVE_WINDOW alla root window, ad esempio:
1174 .Bd -literal -offset indent
1175 $ wmctrl \-i \-a 0x4a0000b
1178 Le finestre possono essere chiuse inviando un messaggio di tipo
1179 _NET_CLOSE_WINDOW, ad esempio:
1180 .Bd -literal -offset indent
1181 $ wmctrl \-i \-c 0x4a0000b
1184 Le finestre possono essere portate da floating a tiled, e viceversa,
1185 aggiungendo o rimuovendo l'atomo _NET_WM_STATE_ABOVE dalla propriet\[`a]
1186 _NET_WM_STATE della finestra.
1187 Per fare ci\[`o], \[`e] necessario inviare un messaggio di tipo
1188 _NET_WM_STATE, ad esempio:
1189 .Bd -literal -offset indent
1190 $ wmctrl \-i \-r 0x4a0000b \-b toggle,_NET_WM_STATE_ABOVE
1193 Le finestre possono essere minimizzate e ripristinate sostituendo
1194 _NET_WM_STATE_HIDDEN a _NET_WM_STATE_ABOVE nell'esempio precedente:
1195 .Bd -literal -offset indent
1196 $ wmctrl \-i \-r 0x4a0000b \-b toggle,_NET_WM_STATE_HIDDEN
1199 Le finestre floating possono essere ridimensionate e spostate tramite
1200 l'invio di un messaggio di tipo _NET_MOVERESIZE_WINDOW, ad esempio:
1201 .Bd -literal -offset indent
1202 $ wmctrl \-i \-r 0x4a0000b \-e 0,100,50,640,480
1204 In questo caso, la con id 0x4a0000b finestra viene spostata in (100,50)
1205 e la sua dimensione diventa 640x480.
1207 I messaggi di tipo _NET_MOVERESIZE_WINDOW che fanno riferimento a finestre
1208 tiled verranno ignorati.
1210 Il segnale HUP fa riavviare
1213 .Bl -tag -width "/etc/spectrwm.confXXX" -compact
1214 .It Pa ~/.spectrwm.conf
1215 File di configurazione specifico dell'utente.
1217 .It Pa /etc/spectrwm.conf
1218 File di configurazione globale.
1222 \[`e] ispirato a xmonad & dwm.
1226 \[`e] stato scritto da:
1228 .Bl -tag -width "Ryan Thomas McBride Aq mcbride@countersiege.com " -offset \
1230 .It Cm Marco Peereboom Aq marco@peereboom.us
1231 .It Cm Ryan Thomas McBride Aq mcbride@countersiege.com
1232 .It Cm Darrin Chandler Aq dwchandler@stilyagin.com
1233 .It Cm Pierre-Yves Ritschard Aq pyr@spootnik.org
1234 .It Cm Tuukka Kataja Aq stuge@xor.fi
1235 .It Cm Jason L. Wright Aq jason@thought.net
1236 .It Cm Reginald Kennedy Aq rk@rejii.com
1237 .It Cm Lawrence Teo Aq lteo@lteo.net
1238 .It Cm Tiago Cunha Aq tcunha@gmx.com
1239 .It Cm David Hill Aq dhill@mindcry.org