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.
136 Il font pu\[`o] essere specificato usando Xft o X Logical Font
138 \[`E] possibile specificare dei font secondari separandoli tra loro con
140 Se tutte le specifiche sono nel formato XLFD verranno usati i gruppi di font;
141 se almeno una delle specifiche \[`e] in formato Xft, verr\[`a] usato Xft.
142 Quando Xft \[`e] in uso, verr\[`a] usato solo il primo font caricato con
143 successo anche nel caso in cui non dovesse comprendere tutti i glifi
145 L'impostazione predefinita prevede l'uso dei gruppi di font; \[`e] bene
146 tenere conto del fatto che
151 .Bd -literal -offset indent
152 bar_font = Terminus:style=Regular:pixelsize=14:antialias=true
154 bar_font = -*-profont-medium-*-*-*-11-*-*-*-*-*-*-*,Terminus:pixelsize=14,\
155 -*-clean-medium-*-*-*-12-*-*-*-*-*-*-*
158 Esempio con gruppi di font:
159 .Bd -literal -offset indent
160 bar_font = -*-terminus-medium-*-*-*-14-*-*-*-*-*-*-*
162 bar_font = -*-profont-medium-*-*-*-11-*-*-*-*-*-*-*,\
163 -*-terminus-medium-*-*-*-14-*-*-*-*-*-*-*,\
164 -*-clean-medium-*-*-*-12-*-*-*-*-*-*-*
167 Per ottenere un elenco dei font disponibili sul proprio sistema,
174 pu\[`o] essere d'aiuto per il formato XLFD.
175 .It Ic bar_font_color Ns Bq Ar x
176 Colore del testo nella barra di stato nello schermo
179 Imposta il formato da utilizzare per la barra di stato,
182 e tutte le opzioni che terminano con
184 Il formato viene passato a
186 prima di essere usato, e pu\[`o] contenere le seguenti sequenze
188 .Bl -column "Sequenza di caratteri" "Sostituita con" -offset indent
189 .It Sy "Sequenza di caratteri" Ta Sy "Sostituita con"
190 .It Li "+<" Ta "Lascia uno spazio"
191 .It Li "+A" Ta "Output dello script esterno"
192 .It Li "+C" Ta "Classe della finestra corrente (da WM_CLASS)"
193 .It Li "+D" Ta "Nome dell'area di lavoro corrente"
194 .It Li "+F" Ta "Indicatore di float"
195 .It Li "+I" Ta "Indice dell'area di lavoro corrente"
196 .It Li "+M" Ta "Numero di finestre minimizzate nell'area di lavoro corrente"
197 .It Li "+N" Ta "Numero dello schermo corrente"
198 .It Li "+P" Ta "Classe e istanza della finestra corrente, separate da due punti"
199 .It Li "+S" Ta "Algoritmo di gestione delle finestre in uso"
200 .It Li "+T" Ta "Istanza della finestra corrente (da WM_CLASS)"
201 .It Li "+U" Ta "Indicatore di urgenza"
202 .It Li "+V" Ta "Versione del programma"
203 .It Li "+W" Ta "Nome della finestra corrente (da _NET_WM_NAME o WM_NAME)"
204 .It Li "++" Ta "Il carattere" Ql +
207 Tutte le sequenze di caratteri possono limitare il numero di caratteri
208 massimo utilizzato, eg. +64A.
209 Il testo che non contribuisce a formare una di queste sequenze di caratteri
210 viene copiato senza subire modifiche.
212 Allinea il test all'interno della barra di stato.
213 I valori possibili sono
221 Se il valore scelto non \[`e]
223 il testo potrebbe non risultare allineato correttamente.
226 per maggiori informazioni.
227 .It Ic bind Ns Bq Ar x
228 Associa una combinazione di tasti all'azione
234 Imposta lo spessore del bordo delle finestre, in pixel.
235 Il bordo pu\[`o] essere disabilitato usando il valore 0.
236 .It Ic boundary_width
237 Imposta la larghezza dell'area di contenimento delle regioni, in pixel.
238 Questo valore permette di controllare di quanto una finestra debba essere
239 trascinata o ridimensionata oltre il limite di una regione prima che
240 venga considerata al di fuori di essa.
241 Questa impostazione non viene presa in considerazione quando le finestre
242 vengono manipolate utilizzando la tastiera.
243 L'area di contenimento pu\[`o] essere disabilitata usando il valore 0.
245 Abilita o disabilita l'orologio nella barra di stato.
246 Se viene usato il valore 0, \[`e] possibile inserire un orologio
247 personalizzato nello script esterno definito in
249 .It Ic iconic_enabled
250 Visualizza nella barra di stato il numero di finestre minimizzate.
251 Questo indicatore pu\[`o] essere abilitato usando il valore 1.
253 Colore del bordo della finestra che detiene il focus.
254 Il colore predefinito \[`e] il rosso.
255 .It Ic color_focus_maximized
256 Colore del bordo della finestra che detiene il focus, se massimizzata.
257 Il colore predefinito \[`e] quello usato per
260 Colore del bordo delle finestre che non detengono il focus.
261 Il colore predefinito \[`e] rgb:88/88/88.
262 .It Ic color_unfocus_maximized
263 Colore del bordo delle finestre che non detengono il focus, se massimizzate.
264 Il colore predefinito \[`e] quello usato per
267 Alcune applicazioni creano finestre di dialogo troppo piccole per essere
269 Questa opzione indica la percentuale dello schermo da utilizzare per le
270 finestre di dialogo: ad esempio, il valore 0.6 indica che dovr\[`a] essere
271 usato il 60% dello spazio disponibile.
272 .It Ic disable_border
273 Non mostrare i bordi quando la barra di stato \[`e] nascosta e c'\[`e] una
274 sola finestra nella regione.
276 Imposta quale finestra ricever\[`a] il focus in seguito alla chiusura della
277 finestra che lo detiene al momento.
278 I valori possibili sono
284 (precedente, impostazione predefinita) e
290 sono intese relativamente alla finestra che \[`e] stata chiusa.
291 .It Ic focus_close_wrap
292 Se abilitata, l'ultima finestra ricever\[`a] il focus quando l'ultima
293 viene chiusa, e viceversa.
294 Questa opzione pu\[`o] essere disabilitata usando il valore 0.
296 Finestra che deve ricevere il focus quando nessun'altra finestra lo
298 I valori possibili sono
302 (ultima, impostazione predefinita).
304 Comportamento del focus in relazione al cursore del mouse.
305 I valori possibili sono:
307 .Bl -tag -width "default" -offset indent -compact
309 Modifica il focus quando viene attraversato un bordo in seguito ad un
310 movimento del cursore o all'interazione con una finestra.
312 Modifica il focus ogni volta che il cursore attraversa un bordo, anche se
313 questo avviene in seguito al passaggio ad un'area di lavoro diversa o ad
316 Modifica il focus solo quando si interagisce con una finestra.
318 .It Ic java_workaround
319 Evita alcuni problemi di rendering nelle GUI Java impersonando il window
320 manager LG3D, scritto da Sun.
321 Il valore predefinito \[`e] 1.
322 .It Ic keyboard_mapping
323 Rimuove tutte le scorciatoie da tastiera esistenti e carica le nuove
324 scorciatoie dal file specificato.
325 Questo permette di caricare scorciatoie specifiche del proprio layout
328 .Sx MAPPE DI TASTIERA
329 pi\[`u] sotto per un elenco dei file che vengono forniti.
331 Imposta il layout da utilizzare all'avvio.
333 .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 ,
334 eg. ws[2]:-4:0:1:0:horizontal configura l'area di lavoro 2 per utilizzare
335 un algoritmo di stacking orizzontale, riduce l'area principale di 4
336 unit\[`a] e aggiunge una finestra all'area di stacking, mantenendo il
337 comportamento predefinito per le finestre floating.
338 I valori possibili per
356 per maggiori informazioni.
357 Le opzioni che controllano gli algoritmi di gestione delle finestre sono
358 complesse e possono influenzare altre opzioni, quindi \[`e] opportuno
359 prendere confidenza con esse prima di utilizzare l'opzione
362 Questa impostazione non viene applicata al riavvio.
364 Cambia il modificatore.
365 Solitamente Mod1 \[`e] il tasto Alt e Mod4 il tasto Windows su un PC.
367 Imposta il nome di un'area di lavoro all'avvio.
369 .Li ws Ns Bo Ar idx Bc : Ns Ar name ,
370 eg. ws[1]:Console assegna il nome
372 all'area di lavoro 1.
373 .It Ic program Ns Bq Ar p
374 Definisce la nuova azione
376 corrispondente all'esecuzione di un programma.
380 .It Ic quirk Ns Bq Ar c Ns Li : Ns Ar i Ns Li : Ns Ar n
381 Aggiunge un "quirk" per le finestre di classe
391 Definisce una regione personalizzata, rimuovendo tutte le regioni create in
392 automatico che occupano la stessa parte dello schermo.
394 .Li screen Ns Bo Ar idx Ns Bc : Ns Ar width Ns x Ns Ar height Ns + Ns Ar x Ns + Ns Ar y ,
395 eg. screen[1]:800x1200+0+0.
397 Per fare s\[`i] che una regione copra pi\[`u] monitor, \[`e] sufficiente
398 definirla in modo che li occupi tutti, eg. screen[1]:2048x768+0+0 definisce
399 una regione che copre due monitor con risoluzione 1024x768 posizionati uno
401 .It Ic region_padding
402 Larghezza, in pixel, dello spazio lasciato vuoto all'interno di una regione.
403 Questa opzione pu\[`o] essere disabilitata usando il valore 0.
404 .It Ic spawn_position
405 Posizione da assegnare alle finestre al momento della loro creazione.
406 I valori possibili sono
414 (ultima, predefinito).
418 sono intese relativamente alla finestra che detiene il focus.
420 Abilita o disabilita la visualizzazione dell'algoritmo di stacking in uso
421 all'interno della barra di stato.
423 Imposta la larghezza minima desiderata per i terminali.
424 Se il valore \[`e] maggiore di 0,
426 cercher\[`a] di regolare la dimensione del font usato dal terminale
427 per fare s\[`i] che la larghezza rimanga superiore ad esso mentre la
428 finestra viene ridimensionata.
431 \[`e] supportato al momento.
434 non deve avere i bit setuid o setgid abilitati, contrariamente a quanto
435 avviene nella maggior parte dei sistemi.
436 L'utente potrebbe dover creare una copia dell'eseguibile di
438 priva dei bit setuid e setgid, e modificare program[term] (vedere la
441 pi\[`u] sotto) in modo che punti a questa copia.
443 Larghezza, in pixel, dello spazio lasciato vuoto tra una finestra e l'altra.
444 L'utilizzo di un valore negativo fa s\[`i] che le finestre si sovrappongano.
445 Se il valore impostato \[`e] l'opposto di
447 non verr\[`a] visualizzato alcun bordo tra le finestre.
448 Questa opzione pu\[`o] essere disabilitata usando il valore 0.
449 .It Ic urgent_collapse
450 Disabilita la visualizzazione di un testo sostitutivo per le aree di lavoro
451 che non contengono finestre urgenti.
452 Questa opzione pu\[`o] essere abilitata usando il valore 1.
453 .It Ic urgent_enabled
454 Abilita o disabilita la visualizzazione dell'indicatore di urgenza
455 all'interno della barra di stato.
456 Molti emulatore di terminale devono essere configurati esplicitamente per
457 fare s\[`i] che il carattere "bell" causi la modifica dello stato di
458 urgenza della finestra.
461 \[`e] necessario aggiungere al file
464 .Bd -literal -offset indent
465 xterm.bellIsUrgent: true
467 .It Ic verbose_layout
468 Abilita o disabilita la visualizzazione del numero di finestre nell'area
469 principale e del numero di righe (o colonne) nell'area di stacking.
470 Questa opzione pu\[`o] essere disabilitata usando il valore 1.
477 per maggiori informazioni.
478 .It Ic window_class_enabled
479 Abilita o disabilita la visualizzazione del nome della classe (da WM_CLASS)
480 all'interno della barra di stato.
481 Questa opzione pu\[`o] essere abilitata usando il valore 1.
482 .It Ic window_instance_enabled
483 Abilita o disabilita la visualizzazione del nome dell'istanza (da WM_CLASS)
484 all'interno della barra di stato.
485 Questa opzione pu\[`o] essere abilitata usando il valore 1.
486 .It Ic window_name_enabled
487 Abilita o disabilita la visualizzazione del titolo della finestra (da
488 _NET_WM_NAME o WM_NAME) all'interno della barra di stato.
489 Questa opzione pu\[`o] essere abilitata usando il valore 1.
491 Per impedire che titoli di finestra troppo lunghi impediscano di
492 visualizzare altre informazioni, lo spazio dedicato al titolo \[`e]
493 limitato a 64 caratteri.
496 per maggiori informazioni.
498 Posiziona il cursore del mouse al centro della finestra che ha il focus
499 quando vengono utilizzate scorciatoie da tastiera per modificare il focus,
500 cambiare area di lavoro, cambiare regione, etc.
501 Questa opzione pu\[`o] essere abilitata usando il valore 1.
502 .It Ic workspace_limit
503 Imposta il numero di aree di lavoro disponibili.
504 Il valore minimo \[`e] 1, quello massimo \[`e] 22, quello predefinito
509 consente di definire azioni personalizzate per l'esecuzione di programmi,
510 e di assegnare queste azioni a scorciatoie da tastiera come \[`e]
511 possibile per quelle predefinite.
516 I programmi vengono definiti come segue:
518 .Dl program Ns Bo Ar action Bc = Ar progpath Op Ar arg Op Ar arg ...
521 \[`e] qualsiasi identificatore che non vada in conflitto con una delle
524 \[`e] il percorso del programma da eseguire e
526 sono gli argomenti (uno o pi\[`u]) da passare al programma.
528 Se il percorso o gli argomenti comprendono il carattere
530 questo dovr\[`a] essere preceduto da un carattere di escape,
533 I seguenti argomenti verranno sostituiti, al momento dell'esecuzione, con
534 il valore assegnato all'opzione corrispondente:
536 .Bl -tag -width "$bar_font_color" -offset indent -compact
540 .It Cm $bar_font_color
542 .It Cm $color_unfocus
548 .It Cm $workspace_index
552 .Bd -literal -offset indent
553 program[ff] = /usr/local/bin/firefox http://spectrwm.org/
554 bind[ff] = MOD+Shift+b # Ora M-S-b esegue Firefox
557 Per eliminare la scorciatoia appena definita:
558 .Bd -literal -offset indent
562 Programmi predefiniti:
564 .Bl -tag -width "screenshot_wind" -offset indent -compact
568 dmenu_run $dmenu_bottom \-fn $bar_font \-nb $bar_color \-nf $bar_font_color \-sb
569 $bar_border \-sf $bar_color
573 initscreen.sh # opzionale
574 .It Cm screenshot_all
575 screenshot.sh full # opzionale
576 .It Cm screenshot_wind
577 screenshot.sh window # opzionale
580 I programmi opzionali non verranno verificati a meno di non essere
581 ridefiniti dall'utente.
582 Se uno dei programmi predefiniti fallisce la verifica, \[`e] possibile
583 risolvere l'errore installando il programma corrispondente, modificando
584 il percorso del programma o disabilitando la scorciatoia relativa.
586 Ad esempio, per ridefinire
588 .Bd -literal -offset indent
589 program[lock] = xscreensaver\-command \-lock
592 Per disabilitare la scorciatoia assegnata a
594 ed impedirne la verifica:
595 .Bd -literal -offset indent
596 bind[] = MOD+Shift+Delete
600 fornisce numerose azioni che possono essere attivate usando combinazioni
601 di tasti sulla tastiera o sul mouse.
603 Le combinazioni di tasti che coinvolgono il mouse sono le seguenti:
605 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
607 Assegna il focus ad una finestra
611 Ridimensiona una finestra
613 Ridimensiona una finestra, mantenendola centrata
616 Le scorciatoie da tastiera predefinite sono le seguenti:
618 .Bl -tag -width "M-j, M-<TAB>XXXXXX" -offset indent -compact
619 .It Cm M-S- Ns Aq Cm Return
627 .It Cm M- Ns Aq Cm Space
631 .It Cm M-S- Ns Aq Cm Space
645 .It Cm M- Ns Aq Cm Return
654 .Cm M-S- Ns Aq Cm TAB
673 .It Cm M- Ns Aq Ar 1-9,0,F1-F12
675 .It Cm M-S- Ns Aq Ar 1-9,0,F1-F12
676 .Pf mvws_ Ns Aq Ar 1-22
677 .It Cm M- Ns Aq Ar Keypad 1-9
679 .It Cm M-S- Ns Aq Ar Keypad 1-9
681 .It Cm M- Ns Aq Cm Right
683 .It Cm M- Ns Aq Cm Left
685 .It Cm M- Ns Aq Cm Up
687 .It Cm M- Ns Aq Cm Down
691 .It Cm M-S- Ns Aq Cm Left
693 .It Cm M-S- Ns Aq Cm Up
695 .It Cm M-S- Ns Aq Cm Right
697 .It Cm M-S- Ns Aq Cm Left
707 .It Cm M-S- Ns Aq Cm Delete
745 Le azioni predefinite disponibili sono le seguenti:
747 .Bl -tag -width "M-j, M-<TAB>XXXX" -offset indent -compact
749 Esegue un terminale (vedere la sezione
753 Mostra il menu (vedere la sezione
763 Passa al layout successivo.
765 Inverte l'area principale e quella di stacking.
767 Riporta il layout al suo stato iniziale.
769 Riduce la dimensione dell'area principale.
771 Aumenta la dimensione dell'area principale.
773 Aggiunge una finestra all'area principale.
775 Rimuove una finestra dall'area principale.
777 Aggiunge una riga (o colonna) all'area di stacking.
779 Rimuove una riga (o colonna) dall'area di stacking.
781 Sposta la finestra corrente nell'area principale.
783 Assegna il focus alla finestra successiva.
785 Assegna il focus alla finestra precedente.
787 Assegna il focus alla finestra principale dell'area di lavoro.
789 Assegna il focus alla finestra urgente successiva.
790 Verr\[`a] effettuato, se necessario, il passaggio ad un'altra area di
793 Inverte la finestra corrente con quella successiva.
795 Inverte la finestra corrente con quella precedente.
797 Modifica la visibilit\[`a] della barra di stato a livello globale.
799 Modifica la visibilit\[`a] della barra di stato nell'area di lavoro
802 Chiude la finestra corrente.
804 Distrugge la finestra corrente.
806 Passa all'area di lavoro
810 \[`e] un valore compreso tra 1 e
811 .Ic workspace_limit .
813 Sposta la finestra corrente nell'area di lavoro
817 \[`e] un numero compreso tra 1 e
818 .Ic workspace_limit .
820 Assegna il focus alla regione
824 \[`e] un numero compreso tra 1 e 9.
826 Sposta la finestra corrente nella regione
830 \[`e] un numero compreso tra 1 e 9.
832 Passa all'area di lavoro non vuota successiva.
834 Passa all'area di lavoro non vuota precedente.
836 Passa all'area di lavoro successiva.
838 Passa all'area di lavoro precedente.
840 Passa all'area di lavoro successiva, spostando allo stesso tempo la
843 Passa all'area di lavoro precedente, spostando allo stesso tempo la
846 Passa all'ultima area di lavoro visitata.
848 Passa alla regione successiva.
850 Passa alla regione precedente.
851 .It Cm screenshot_all
852 Cattura l'intera schermata chiamando l'apposito script (vedere la sezione
855 .It Cm screenshot_wind
856 Cattura una singola finestra chiamando l'apposito script (vedere la sezione
860 Modifica la visibilit\[`a] del numero di versione all'interno della barra
863 Modifica la finestra che detiene il focus, portandola da floating a tiled
866 Blocca lo schermo (vedere la sezione
870 Inizializza nuovamente tutti gli schermi (vedere la sezione
874 Minimizza la finestra che detiene il focus.
876 Ripristina la finestra selezionata tramite
878 .It Cm maximize_toggle
879 Modifica lo stato di massimizzazione della finestra che detiene il focus.
881 Se impostato, le finestre tiled possono oscurare le finestre floating.
883 Simula la pressione del tasto centrale del mouse.
885 Riduce la larghezza di una finestra floating.
887 Aumenta la larghezza di una finestra floating.
889 Riduce l'altezza di una finestra floating.
891 Aumenta l'altezza di una finestra floating.
893 Sposta una finestra floating verso sinistra di un'unit\[`a].
895 Sposta una finestra floating verso destra di un'unit\[`a].
897 Sposta una finestra floating verso l'alto di un'unit\[`a].
899 Sposta una finestra floating verso il basso di un'unit\[`a].
900 .It Cm name_workspace
901 Assegna un nome all'area di lavoro corrente.
902 .It Cm search_workspace
903 Cerca un'area di lavoro.
905 Cerca una finestra all'interno dell'area di lavoro corrente.
908 Le scorciatoie da tastiera personalizzate vengono definite come segue:
910 .Dl bind Ns Bo Ar action Bc = Ar keys
913 \[`e] una delle azioni predefinite descritte sopra, oppure la stringa vuota
914 (per disabilitare la scorciatoia).
916 \[`e] composta da uno o pi\[`u] tasti modificatore (eg. MOD, Mod1, Shift,
917 etc.) e uno o pi\[`u] tasti normali (eg. b, Space, etc.) separati da
921 .Bd -literal -offset indent
922 bind[reset] = Mod4+q # Assegna l'azione reset alla scorciatoia Win+q
923 bind[] = Mod1+q # disabilita la scorciatoia predefinita Alt+q
926 Per usare il valore dell'opzione
928 in una scorciatoia, specificare MOD come modificatore.
930 Pi\[`u] scorciatoie possono essere assegnate alla stessa azione.
932 Per usare dei caratteri non latini, come \[oa] o \[*p], all'interno di una
933 scorciatoia, \[`e] necessario specificare il nome xkb del carattere
934 anzich\['e] il carattere stesso.
937 e premendo un tasto mentre la finestra del programma detiene il focus,
938 \[`e] possibile leggere il nome xkb corrispondente al tasto premuto.
939 Ad esempio, per \[oa]:
940 .Bd -literal -offset indent
941 KeyPress event, serial 41, synthetic NO, window 0x2600001,
942 root 0x15a, subw 0x0, time 106213808, (11,5), root:(359,823),
943 state 0x0, keycode 24 (keysym 0xe5, aring), same_screen YES,
944 XLookupString gives 2 bytes: (c3 a5) "\[oa]"
945 XmbLookupString gives 2 bytes: (c3 a5) "\[oa]"
946 XFilterEvent returns: False
949 Il nome xkb \[`e] aring.
950 Quindi, all'interno di
952 sar\[`a] possibile aggiungere la seguente riga:
953 .Bd -literal -offset indent
954 bind[program] = MOD+aring
956 .Sh MAPPE DI TASTIERA
957 \[`E] possibile caricare le scorciatoie da un file di configurazione
958 separato tramite l'opzione
959 .Ic keyboard_mapping :
960 questo consente di utilizzare scorciatoie specifiche del proprio layout di
963 Vengono forniti i seguenti file:
965 .Bl -tag -width "spectrwm_XX.confXXX" -offset indent -compact
966 .It Cm spectrwm_cz.conf
967 Layout per tastiere ceche
968 .It Cm spectrwm_es.conf
969 Layout per tastiere spagnole
970 .It Cm spectrwm_fr.conf
971 Layout per tastiere francesi
972 .It Cm spectrwm_fr_ch.conf
973 Layout per tastiere francesi (Svizzera)
974 .It Cm spectrwm_se.conf
975 Layout per tastiere svedesi
976 .It Cm spectrwm_us.conf
977 Layout per tastiere americane
980 \[`E] possibile specificare "quirk" da applicare a quelle finestre (ad
981 esempio applicazioni a schermo intero e finestre di dialogo) che richiedono
982 un comportamento speciale da parte di un gestore di finestre tiling come
985 La configurazione predefinita, per quanto riguarda i quirk, \[`e] la
988 .Bl -tag -width "OpenOffice.org N.M:VCLSalFrame<TAB>XXX" -offset indent \
990 .It Firefox\-bin:firefox\-bin
997 FLOAT + FULLSCREEN + FOCUSPREV
998 .It OpenOffice.org 2.4:VCLSalFrame
1000 .It OpenOffice.org 3.1:VCLSalFrame
1004 .It xine:Xine Window
1008 .It xine:xine Video Fullscreen Window
1012 .It Xitk:Xine Window
1018 I quirk disponibili sono i seguenti:
1020 .Bl -tag -width "XTERM_FONTADJ<TAB>XXX" -offset indent -compact
1022 Le finestre saranno sempre floating.
1024 Modifica la dimensione delle finestre di dialogo in base al valore di
1027 .Sx FILE DI CONFIGURAZIONE
1030 Consenti alle finestre di decidere la propria posizione.
1032 Regola la dimensione dei font di
1034 quando la dimensione delle finestre viene modificata.
1036 Non mostrare il bordo.
1038 Alla chiusura di una finestra, il focus verr\[`a] assegnato alla finestra
1039 che lo deteneva in precedenza e non alla finestra precedente nello stack.
1041 Non assegnare il focus alle finestre quando vengono create.
1042 Questo quirk viene ignorato se il valore di
1046 .It FOCUSONMAP_SINGLE
1047 Assegna il focus alle finestre quando vengono create solo se non sono
1048 gi\[`a] presenti delle finestre con la stessa classe e istanza nell'area
1050 Questo quirk viene ignorato se il valore di
1055 Assegna il focus alle finestre quando viene richiesto tramite un messaggio
1056 di tipo _NET_ACTIVE_WINDOW con sorgente 1.
1057 Se la sorgente \[`e] 0 (non specificato) o 2 (pager), la richiesta viene
1060 Ignora il PID nella scelta dell'area di lavoro iniziale per le nuove
1062 Molto utile per le applicazioni (eg. terminali) che creano pi\[`u] finestre
1063 all'interno dello stesso processo.
1065 Ignora l'area di lavoro in cui \[`e] stata eseguita la scorciatoia da
1066 tastiera nella scelta dell'area di lavoro iniziale per le nuove finestre.
1068 Obbliga le nuove finestre ad essere assegnate all'area di lavoro
1072 I quirk personalizzati vengono definiti come segue:
1074 .Dl quirk Ns Bo Ar class Ns Bo : Ns Ar instance Ns Bo : Ns Ar name Bc Bc Bc = Ar quirk Op + Ar quirk ...
1080 (opzionale) sono dei pattern che vengono usati per determinare a quali
1081 finestre i quirk debbano essere applicati e
1083 \[`e] uno dei quirk descritti in precedenza.
1085 I pattern vengono interpretati come espressioni regolari estese POSIX.
1086 I simboli ':', '[' e ']' devono essere preceduti da '\\' per essere
1087 considerati letteralmente.
1090 per ulteriori informazioni sulle espressioni regolari estese POSIX.
1093 .Bd -literal -offset indent
1094 quirk[MPlayer] = FLOAT + FULLSCREEN + FOCUSPREV # Le finestre con \
1095 classe 'MPlayer' sono floating
1096 quirk[.*] = FLOAT # Le finestre sono floating
1097 quirk[.*:.*:.*] = FLOAT # Come sopra
1098 quirk[Firefox:Navigator] = FLOAT # Le finestre di navigazione di \
1099 Firefox sono floating
1100 quirk[::Console] = FLOAT # Le finestre la cui classe non \[`e] impostata \
1101 e il cui nome \[`e] 'Console' sono floating
1102 quirk[\\[0-9\\].*:.*:\\[\\[\\:alnum\\:\\]\\]*] = FLOAT # Le finestre la \
1103 cui classe inizia con un numero e il cui nome \[`e] non definito o \
1104 contiene solo caratteri alfanumerici, senza spazi, sono floating
1105 quirk[pcb:pcb] = NONE # Rimuove i quirk predefiniti
1107 \[`E] possibile ottenere
1114 e selezionando la finestra desiderata.
1115 In questo esempio, \[`e] stata selezionata la finestra principale di
1117 .Bd -literal -offset indent
1118 $ xprop | grep \-E "^(WM_CLASS|_NET_WM_NAME|WM_NAME)"
1119 WM_CLASS(STRING) = "Navigator", "Firefox"
1120 WM_NAME(STRING) = "spectrwm - ConformalOpenSource"
1121 _NET_WM_NAME(UTF8_STRING) = "spectrwm - ConformalOpenSource"
1126 visualizza WM_CLASS nel seguente formato:
1127 .Bd -literal -offset indent
1128 WM_CLASS(STRING) = "<instance>", "<class>"
1131 In questo caso, bisognerebbe aggiungere al file di configurazione la
1133 .Bd -literal -offset indent
1134 quirk[Firefox:Navigator] = FLOAT
1138 assegna alcuni quirk in automatico, basandosi sul valore della
1139 propriet\[`a] _NET_WM_WINDOW_TYPE, nel seguente modo:
1141 .Bl -tag -width "_NET_WM_WINDOW_TYPE_TOOLBAR<TAB>XXX" -offset indent -compact
1142 .It _NET_WM_WINDOW_TYPE_DOCK
1144 .It _NET_WM_WINDOW_TYPE_TOOLBAR
1146 .It _NET_WM_WINDOW_TYPE_UTILITY
1148 .It _NET_WM_WINDOW_TYPE_SPLASH
1150 .It _NET_WM_WINDOW_TYPE_DIALOG
1154 In tutti gli altri casi gli unici quirk assegnati alle finestre saranno
1155 quelli predefiniti o, con precedenza maggiore, quelli specificati nel
1156 file di configurazione.
1159 implementa in maniera parziale la specifica EWMH, Extended Window Manager
1160 Hints: questo consente di controllare le finestre, oltre che
1162 stesso, da script e programmi esterni.
1163 Per sfruttare questo supporto,
1165 dovr\[`a] ricevere degli eventi di tipo ClientMessage; questo tipo di
1166 messaggio pu\[`o] essere inviato dalla riga di comando usando tool come
1170 Il formato dei messaggi \[`e] definito nella specifica EWMH.
1172 L'identificativo della finestra che detiene il focus pu\[`o] essere
1173 ottenuto leggendo il valore della propriet\[`a] _NET_ACTIVE_WINDOWS
1175 Ad esempio, per visualizzare il titolo della finestra:
1176 .Bd -literal -offset indent
1177 $ WINDOWID=`xprop \-root _NET_ACTIVE_WINDOW | grep \-o "0x.*"`
1178 $ xprop \-id $WINDOWID _NET_WM_NAME | grep \-o "\\".*\\""
1181 Il focus pu\[`o] essere assegnato ad una finestra inviando un messaggio
1182 di tipo _NET_ACTIVE_WINDOW alla root window, ad esempio:
1183 .Bd -literal -offset indent
1184 $ wmctrl \-i \-a 0x4a0000b
1187 Le finestre possono essere chiuse inviando un messaggio di tipo
1188 _NET_CLOSE_WINDOW, ad esempio:
1189 .Bd -literal -offset indent
1190 $ wmctrl \-i \-c 0x4a0000b
1193 Le finestre possono essere portate da floating a tiled, e viceversa,
1194 aggiungendo o rimuovendo l'atomo _NET_WM_STATE_ABOVE dalla propriet\[`a]
1195 _NET_WM_STATE della finestra.
1196 Per fare ci\[`o], \[`e] necessario inviare un messaggio di tipo
1197 _NET_WM_STATE, ad esempio:
1198 .Bd -literal -offset indent
1199 $ wmctrl \-i \-r 0x4a0000b \-b toggle,_NET_WM_STATE_ABOVE
1202 Le finestre possono essere minimizzate e ripristinate sostituendo
1203 _NET_WM_STATE_HIDDEN a _NET_WM_STATE_ABOVE nell'esempio precedente:
1204 .Bd -literal -offset indent
1205 $ wmctrl \-i \-r 0x4a0000b \-b toggle,_NET_WM_STATE_HIDDEN
1208 Le finestre floating possono essere ridimensionate e spostate tramite
1209 l'invio di un messaggio di tipo _NET_MOVERESIZE_WINDOW, ad esempio:
1210 .Bd -literal -offset indent
1211 $ wmctrl \-i \-r 0x4a0000b \-e 0,100,50,640,480
1213 In questo caso, la con id 0x4a0000b finestra viene spostata in (100,50)
1214 e la sua dimensione diventa 640x480.
1216 I messaggi di tipo _NET_MOVERESIZE_WINDOW che fanno riferimento a finestre
1217 tiled verranno ignorati.
1219 Il segnale HUP fa riavviare
1222 .Bl -tag -width "/etc/spectrwm.confXXX" -compact
1223 .It Pa ~/.spectrwm.conf
1224 File di configurazione specifico dell'utente.
1226 .It Pa /etc/spectrwm.conf
1227 File di configurazione globale.
1231 \[`e] ispirato a xmonad & dwm.
1235 \[`e] stato scritto da:
1237 .Bl -tag -width "Ryan Thomas McBride Aq mcbride@countersiege.com " -offset \
1239 .It Cm Marco Peereboom Aq marco@peereboom.us
1240 .It Cm Ryan Thomas McBride Aq mcbride@countersiege.com
1241 .It Cm Darrin Chandler Aq dwchandler@stilyagin.com
1242 .It Cm Pierre-Yves Ritschard Aq pyr@spootnik.org
1243 .It Cm Tuukka Kataja Aq stuge@xor.fi
1244 .It Cm Jason L. Wright Aq jason@thought.net
1245 .It Cm Reginald Kennedy Aq rk@rejii.com
1246 .It Cm Lawrence Teo Aq lteo@lteo.net
1247 .It Cm Tiago Cunha Aq tcunha@gmx.com
1248 .It Cm David Hill Aq dhill@mindcry.org