]> code.delx.au - spectrwm/blob - spectrwm_it.1
Fix xscreensaver-command example.
[spectrwm] / spectrwm_it.1
1 .\" Copyright (c) 2009 Marco Peereboom <marco@peereboom.us>
2 .\" Copyright (c) 2009 Darrin Chandler <dwchandler@stilyagin.com>
3 .\"
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.
7 .\"
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.
15 .\"
16 .Dd $Mdocdate: September 15 2011 $
17 .Dt SPECTRWM 1
18 .Os
19 .Sh NOME
20 .Nm spectrwm
21 .Nd gestore di finestre per X11
22 .Sh SINTASSI
23 .Nm spectrwm
24 .Sh DESCRIZIONE
25 .Nm
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.
31 .Pp
32 Quando
33 .Nm
34 viene avviato, legge le impostazioni presenti nel file di configurazione
35 .Pa spectrwm.conf .
36 Vedere la sezione
37 .Sx FILE DI CONFIGURAZIONE
38 pi? sotto.
39 .Pp
40 In questa pagina di manuale viene usata la seguente notazione:
41 .Pp
42 .Bl -tag -width Ds -offset indent -compact
43 .It Cm M
44 Meta
45 .It Cm S
46 Shift
47 .It Aq Cm Nome
48 Tasto nome
49 .It Cm M1
50 Tasto 1 (sinistro) del mouse
51 .It Cm M3
52 Tasto 3 (destro) del mouse
53 .El
54 .Pp
55 .Nm
56 ? molto semplice da usare. La maggior parte delle operazioni vengono
57 svolte usando combinazioni di tasti sulla tastiera o sul mouse.
58 Vedere la sezione
59 .Sx SCORCIATOIE
60 pi? sotto per i default e le possibilit? di personalizzazione.
61 .Sh FILE DI CONFIGURAZIONE
62 .Nm
63 prova per prima cosa ad aprire il file di configurazione personale
64 dell'utente,
65 .Pa ~/.spectrwm.conf .
66 Se il file in questione non ? disponibile, prova ad usare il file di
67 configurazione globale
68 .Pa /etc/spectrwm.conf .
69 .Pp
70 Il formato di questo file ? \*(Ltchiave\*(Gt = \*(Ltvalore\*(Gt.
71 Per esempio:
72 .Pp
73 .Dl color_focus = red
74 .Pp
75 Per abilitare o disabilitare un'opzione, usare i valori 1 o 0
76 rispettivamente.
77 .Pp
78 Il file supporta le seguenti chiavi:
79 .Pp
80 .Bl -tag -width "title_class_enabledXXX" -offset indent -compact
81 .It Cm autorun
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.
85 .It Cm color_focus
86 Colore del bordo della finestra che ha il focus.
87 .It Cm color_unfocus
88 Colore del bordo delle finestre che non hanno il focus.
89 .It Cm bar_enabled
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
93 .Ar x .
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
99 .Ar x .
100 .It Cm bar_font_color Ns Bq Ar x
101 Colore del testo della barra di stato nello schermo
102 .Ar x .
103 .It Cm bar_font
104 Font della barra di stato.
105 .It Cm bar_action
106 Script esterno che aggiunge informazioni come la carica della batteria alla
107 barra di stato.
108 .It Cm bar_at_bottom
109 Posiziona la barra di stato sul fondo dello schermo anzich? in cima.
110 .It Cm stack_enabled
111 Abilita o disabilita la visualizzazione dell'algoritmo di stacking
112 corrente nella barra di stato.
113 .It Cm clock_enabled
114 Abilita o disabilita l'orologio nella barra di stato. Se disabilitato,
115 usando il valore 0, ? possibile usare un orologio personalizzato nello
116 script specificato in
117 .Pa bar_action .
118 .It Cm dialog_ratio
119 Alcune applicazioni hanno finestre di dialogo troppo piccole per risultare
120 utili. Questa ? la percentuale dello schermo che verr? usata per le finestre
121 di dialogo: ad esempio, 0.6 indica il 60% della dimensione fisica dello
122 schermo.
123 .It Cm layout
124 Layout da utilizzare all'avvio. Definito nel formato
125 ws[<idx>]:master_grow:master_add:stack_inc:layout:always_raise:stack_mode,
126 eg. ws[2]:-4:0:1:0:horizontal assegna il layout orizzontale all'area di
127 lavoro 2, riduce l'area principale di 4 unit?, aggiunge una finestra allo
128 stack e mantiene il comportamento predefinito per quanto riguarda le
129 finestre floating.
130 I valori possibili per stack_mode sono
131 .Pa vertical ,
132 .Pa horizontal
133 e
134 .Pa fullscreen .
135 .Pp
136 Fare riferimento a
137 .Pa master_grow ,
138 .Pa master_shrink ,
139 .Pa master_add ,
140 .Pa master_del ,
141 .Pa stack_inc ,
142 .Pa stack_del
143 e
144 .Pa always_raise
145 per ulteriori informazioni.
146 Queste impostazioni sono complesse e hanno effetti secondari; ? opportuno
147 familiarizzare con questi comandi prima di modificare l'opzione
148 .Pa layout .
149 .Pp
150 Questa impostazione non viene applicata dopo il restart.
151 .It Cm region
152 Alloca una regione personalizzata, rimuovendo qualsiasi regione
153 automaticamente rilevata stia occupando lo stesso spazio sullo schermo.
154 Definita nel formato screen[<idx>]:LARGHEZZAxALTEZZA+X+Y, ad esempio
155 \& screen[1]:800x1200+0+0.
156 .Pp
157 Per fare s? che pi? monitor vengano considerati come una singola entit?
158 ? sufficiente creare una regione sufficientemente grande da contenerli,
159 eg. screen[1]:2048x760+0+0 unisce due monitor con risoluzione 1024x768
160 posizionati uno di fianco all'altro.
161 .It Cm term_width
162 Imposta la dimensione minima preferita per il terminale. Se questo valore
163 ? maggiore di 0,
164 .Nm
165 cercher? di riaggiustare la dimensione del testo nel terminale in modo che
166 la larghezza del terminale rimanga sopra il valore quando la finestra
167 viene ridimensionata. Al momento solo
168 .Xr xterm 1
169 ? supportato. Il binario di
170 .Xr xterm 1
171 deve essere setuid o setgid perch? questo funzioni: nella maggior parte dei
172 sistemi, questo ? il default. L'utente potrebbe voler impostare
173 program[term] (vedere la sezione
174 .Sx PROGRAMMI
175 pi? sotto) per usare una seconda copia del binario di
176 .Xr xterm 1
177 che non abbia il bit setgid impostato.
178 .It Cm title_class_enabled
179 Abilita o disabilita la visualizzazione della classe della finestra nella
180 barra di stato. Impostare a 1 per abilitare.
181 .It Cm title_name_enabled
182 Abilita o disabilita la visualizzazione del titolo della finestra nella
183 barra di stato. Impostare a 1 per abilitare.
184 .It Cm urgent_enabled
185 Abilita o disabilita l'hint "urgente".
186 In molti emulatori di terminale, il supporto deve essere abilitato
187 separatamente: per xterm, ad esempio, ? necessario aggiungere la riga
188 .Pa xterm.urgentOnBell: true
189 al file
190 .Pa .Xdefaults .
191 .It Cm window_name_enabled
192 Abilita o disabilita la visualizzazione del nome della finestra nella
193 barra di stato. Impostare a 1 per abilitare.
194 .It Cm verbose_layout
195 Abilita o disabilita la visualizzazione dei valori correnti di master e
196 stack nella barra di stato. Impostare a 1 per abilitare.
197 .It Cm modkey
198 Cambia il tasto modificatore.
199 Solitamente Mod1 ? il tasto ALT e Mod4 ? il tasto Windows su un PC.
200 .It Cm focus_mode
201 Se viene usato il valore
202 .Pa follow_cursor ,
203 il gestore di finestre dar? il focus alla finestra sotto il puntatore
204 quando si cambia area di lavoro o si creano finestre.
205 .It Cm disable_border
206 Rimuovi il bordo dalle finestre se la barra di stato ? nascosta e c'?
207 una sola finestra sullo schermo.
208 .It Cm border_width
209 Spessore del bordo delle finestre in pixel. Il valore 0 disabilita il bordo.
210 .It Cm program Ns Bq Ar p
211 Definisce una nuova azione per lanciare il programma
212 .Ar p .
213 Vedere la sezione
214 .Sx PROGRAMMI
215 pi? sotto.
216 .It Cm bind Ns Bq Ar x
217 Assegna una combinazione di tasti all'azione
218 .Ar x .
219 Vedere la sezione
220 .Sx SCORCIATOIE
221 pi? sotto.
222 .It Cm quirk Ns Bq Ar c:n
223 Aggiunge un "quirk" per le finestre di classe
224 .Ar c
225 e nome
226 .Ar n .
227 Vedere la sezione
228 .Sx QUIRKS
229 pi? sotto.
230 .El
231 .Pp
232 I colori devono essere specificati nel formato usato da
233 .Xr XQueryColor 3
234 e i font in quello usato da
235 .Xr XQueryFont 3 .
236 .Pp
237 Per avere una lista dei font disponibili sul proprio sistema utilizzare
238 .Xr fc-list 1
239 o
240 .Xr xlsfonts 1 .
241 L'applicazione
242 .Xr xfontsel 1
243 ? utile per visualizzare la X Logical Font Description ("XLFD") usata per
244 la chiave
245 .Pa bar_font .
246 .Sh PROGRAMMI
247 .Nm
248 consente la definizione di azioni personalizzate per lanciare programmi di
249 propria scelta, che possono essere assegnate a combinazioni di tasti nello
250 stesso modo in cui ? possibile farlo con le azioni predefinite.
251 Vedere la sezione
252 .Sx SCORCIATOIE
253 pi? sotto.
254 .Pp
255 I programmi di default sono descritte qui sotto:
256 .Pp
257 .Bl -tag -width "screenshot_wind" -offset indent -compact
258 .It Cm term
259 xterm
260 .It Cm screenshot_all
261 screenshot.sh full
262 .It Cm screenshot_wind
263 screenshot.sh window
264 .It Cm lock
265 xlock
266 .It Cm initscr
267 initscreen.sh
268 .It Cm menu
269 dmenu_run \-fn $bar_font \-nb $bar_color \-nf $bar_font_color \-sb $bar_border \-sf $bar_color
270 .El
271 .Pp
272 I programmi personalizzati vengono specificati con la seguente sintassi:
273 .Pp
274 .Dl program[<nome>] = <percorso> [<arg> [... <arg>]]
275 .Pp
276 .Aq nome
277 ? un qualsiasi identificatore che non va in conflitto con un'azione
278 predefinita o una chiave,
279 .Aq percorso
280 ? il programma desiderato, e
281 .Aq arg
282 sono zero o pi? argomenti da passare al programma.
283 .Pp
284 Le seguenti variabili rappresentano valori impostabili in
285 .Nm
286 (vedere la sezione
287 .Sx FILE DI CONFIGURAZIONE
288 sopra), e possono essere usati nel campo
289 .Aq arg
290 dove saranno sostituite con il valore al momento del lancio del programma:
291 .Pp
292 .Bl -tag -width "$bar_font_color" -offset indent -compact
293 .It Cm $bar_border
294 .It Cm $bar_color
295 .It Cm $bar_font
296 .It Cm $bar_font_color
297 .It Cm $color_focus
298 .It Cm $color_unfocus
299 .El
300 .Pp
301 Esempio:
302 .Bd -literal -offset indent
303 program[ff] = /usr/local/bin/firefox http://spectrwm.org/
304 bind[ff] = Mod+f # adesso Mod+F lancia firefox
305 .Ed
306 .Pp
307 Per eliminare la combinazione precedente:
308 .Bd -literal -offset indent
309 bind[] = Mod+f
310 program[ff] =
311 .Ed
312 .Pp
313 .Sh SCORCIATOIE
314 .Nm
315 fornisce molte funzioni (o azioni) accessibili tramite combinazioni di
316 tasti sul mouse o sulla tastiera.
317 .Pp
318 Le scorciatoie assegnate al mouse sono:
319 .Pp
320 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
321 .It Cm M1
322 D? focus alla finestra
323 .It Cm M-M1
324 Muove la finestra
325 .It Cm M-M3
326 Ridimensiona la finestra
327 .It Cm M-S-M3
328 Ridimensiona la finestra mantenendola centrata
329 .El
330 .Pp
331 Le scorciatoie da tastiera di default sono:
332 .Pp
333 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
334 .It Cm M-S- Ns Aq Cm Return
335 term
336 .It Cm M-p
337 menu
338 .It Cm M-S-q
339 quit
340 .It Cm M-q
341 restart
342 .It Cm M- Ns Aq Cm Space
343 cycle_layout
344 .It Cm M-S- Ns Aq Cm Space
345 reset_layout
346 .It Cm M-h
347 master_shrink
348 .It Cm M-l
349 master_grow
350 .It Cm M-,
351 master_add
352 .It Cm M-.
353 master_del
354 .It Cm M-S-,
355 stack_inc
356 .It Cm M-S-.
357 stack_del
358 .It Cm M- Ns Aq Cm Return
359 swap_main
360 .It Xo
361 .Cm M-j ,
362 .Cm M- Ns Aq Cm TAB
363 .Xc
364 focus_next
365 .It Xo
366 .Cm M-k ,
367 .Cm M-S- Ns Aq Cm TAB
368 .Xc
369 focus_prev
370 .It Cm M-m
371 focus_main
372 .It Cm M-S-j
373 swap_next
374 .It Cm M-S-k
375 swap_prev
376 .It Cm M-b
377 bar_toggle
378 .It Cm M-x
379 wind_del
380 .It Cm M-S-x
381 wind_kill
382 .It Cm M- Ns Aq Ar n
383 .Ns ws_ Ns Ar n
384 .It Cm M-S- Ns Aq Ar n
385 .Ns mvws_ Ns Ar n
386 .It Cm M- Ns Aq Cm Right
387 ws_next
388 .It Cm M- Ns Aq Cm Left
389 ws_prev
390 .It Cm M-a
391 ws_prior
392 .It Cm M-S- Ns Aq Cm Right
393 screen_next
394 .It Cm M-S- Ns Aq Cm Left
395 screen_prev
396 .It Cm M-s
397 screenshot_all
398 .It Cm M-S-s
399 screenshot_wind
400 .It Cm M-S-v
401 version
402 .It Cm M-t
403 float_toggle
404 .It Cm M-S Aq Cm Delete
405 lock
406 .It Cm M-S-i
407 initscr
408 .It Cm M-w
409 iconify
410 .It Cm M-S-w
411 uniconify
412 .It Cm M-S-r
413 always_raise
414 .It Cm M-v
415 button2
416 .El
417 .Pp
418 I nomi delle azioni e le relative descrizioni sono le seguenti:
419 .Pp
420 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
421 .It Cm term
422 Lancia un nuovo terminale
423 (vedi
424 .Sx PROGRAMMI
425 pi? in alto).
426 .It Cm menu
427 Menu
428 (vedi
429 .Sx PROGRAMMI
430 pi? in alto).
431 .It Cm quit
432 Chiude
433 .Nm .
434 .It Cm restart
435 Riavvia
436 .Nm .
437 .It Cm cycle_layout
438 Cambia layout.
439 .It Cm reset_layout
440 Re-inizializza il layout.
441 .It Cm master_shrink
442 Restringe l'area principale.
443 .It Cm master_grow
444 Allarga l'area principale.
445 .It Cm master_add
446 Aggiunge finestre all'area principale.
447 .It Cm master_del
448 Rimuove finestre dall'area principale.
449 .It Cm stack_inc
450 Aggiunge righe/colonne all'area di stacking.
451 .It Cm stack_del
452 Rimuove righe/colonne dall'area di stacking.
453 .It Cm swap_main
454 Muove la finestra corrente nell'area principale.
455 .It Cm focus_next
456 D? il focus alla finestra successiva.
457 .It Cm focus_prev
458 D? il focus alla finestra precedente.
459 .It Cm focus_main
460 D? il focus alla finestra principale.
461 .It Cm swap_next
462 Scambia con la finestra successiva dell'area di lavoro.
463 .It Cm swap_prev
464 Scambia con la finestra precedente dell'area di lavoro.
465 .It Cm bar_toggle
466 Mostra/nascondi la barra di stato da tutte le aree di lavoro.
467 .It Cm wind_del
468 Chiude la finestra corrente.
469 .It Cm wind_kill
470 Distrugge la finestra corrente.
471 .It Cm ws_ Ns Ar n
472 Passa all'area di lavoro
473 .Ar n ,
474 dove
475 .Ar n
476 ? compreso tra 1 e 10.
477 .It Cm mvws_ Ns Ar n
478 Sposta la finestra corrente nell'area di lavoro
479 .Ar n ,
480 dove
481 .Ar n
482 ? compreso tra 1 e 10.
483 .It Cm ws_next
484 Passa all'area di lavoro non vuota successiva.
485 .It Cm ws_prev
486 Passa all'area di lavoro non vuota precedente.
487 .It Cm ws_prior
488 Passa all'ultima area di lavoro visitata.
489 .It Cm screen_next
490 Sposta il puntatore nella regione successiva.
491 .It Cm screen_prev
492 Sposta il puntatore nella regione precedente.
493 .It Cm screenshot_all
494 Cattura uno screenshot dell'intero schermo, se abilitato (vedere la sezione
495 .Sx PROGRAMMI
496 pi? in alto).
497 .It Cm screenshot_wind
498 Cattura uno screenshot di una singola finestra, se abilitato (vedere la
499 sezione
500 .Sx PROGRAMMI
501 pi? in alto).
502 .It Cm version
503 Abilita/disabilita il numero di versione nella barra di stato.
504 .It Cm float_toggle
505 Passa la finestra che ha il focus da floating a tiled.
506 .It Cm lock
507 Blocca lo schermo (vedere la sezione
508 .Sx PROGRAMMI
509 pi? in alto).
510 .It Cm initscr
511 Re-inizializza gli schermi fisici (vedere la sezione
512 .Sx PROGRAMMI
513 pi? in alto).
514 .It Cm iconify
515 Minimizza (unmap) la finesta che ha il focus.
516 .It Cm uniconify
517 Massimizza (map) la finestra selezionata tramite dmenu.
518 .It Cm always_raise
519 Quando ? abilitato, le finestre floating possono essere oscurate da
520 finestre tiled.
521 .It Cm button2
522 Simula la pressione del tasto centrale del mouse.
523 .El
524 .Pp
525 Le scorciatoie personalizzate sono specificate nel file di configurazione
526 come segue:
527 .Pp
528 .Dl bind[<azione>] = <tasti>
529 .Pp
530 .Aq azione
531 ? una delle azioni elencate sopra (oppure nulla) e
532 .Aq tasti
533 ? dato da zero o pi? modificatori (MOD, Mod1, Shift, ecc.) e uno o pi?
534 tasti normali (b, space, ecc.), separati da "+".
535 Per esempio:
536 .Bd -literal -offset indent
537 bind[reset] = Mod4+q # assegna reset ai tasti Windows + q
538 bind[] = Mod1+q # rimuovi l'assegnazione di Alt + q
539 .Ed
540 .Pp
541 Pi? combinazioni di tasti possono essere assegnate alla stessa azione.
542 .Sh QUIRK
543 .Nm
544 fornisce la possibilit? di specificare dei "quirk" per la gestione di
545 finestre che devono subire un trattamento speciale da un gestore di finestre
546 tiling, come ad esempio alcune finestre di dialogo e applicazioni a
547 schermo intero.
548 .Pp
549 I quirk abilitati di default sono elencati qui sotto:
550 .Pp
551 .Bl -tag -width "OpenOffice.org N.M:VCLSalFrame<TAB>XXX" -offset indent -compact
552 .It Firefox\-bin:firefox\-bin
553 TRANSSZ
554 .It Firefox:Dialog
555 FLOAT
556 .It Gimp:gimp
557 FLOAT + ANYWHERE
558 .It MPlayer:xv
559 FLOAT + FULLSCREEN + FOCUSPREV
560 .It OpenOffice.org 2.4:VCLSalFrame
561 FLOAT
562 .It OpenOffice.org 3.1:VCLSalFrame
563 FLOAT
564 .It pcb:pcb
565 FLOAT
566 .It xine:Xine Window
567 FLOAT + ANYWHERE
568 .It xine:xine Panel
569 FLOAT + ANYWHERE
570 .It xine:xine Video Fullscreen Window
571 FULLSCREEN + FLOAT
572 .It Xitk:Xitk Combo
573 FLOAT + ANYWHERE
574 .It Xitk:Xine Window
575 FLOAT + ANYWHERE
576 .It XTerm:xterm
577 XTERM_FONTADJ
578 .El
579 .Pp
580 I quirk sono descritti qui sotto:
581 .Pp
582 .Bl -tag -width "XTERM_FONTADJ<TAB>XXX" -offset indent -compact
583 .It FLOAT
584 Questa finestra deve essere lasciata libera di muoversi (float).
585 .It TRANSSZ
586 Aggiusta la dimensione delle finestre troppo piccole usando dialog_ratio
587 (vedere
588 .Sx FILE DI CONFIGURAZIONE ) .
589 .It ANYWHERE
590 Consente alla finestra di decidere da sola dove posizionarsi.
591 .It XTERM_FONTADJ
592 Ridimensiona il font di xterm quando viene ridimensionata la finestra.
593 .It FULLSCREEN
594 Rimuove i bordi, consentendo alla finestra di usare l'intera dimensione
595 dello schermo.
596 .It FOCUSPREV
597 Quando la finestra viene chiusa, d? il focus alla finestra che aveva il
598 focus precedente anzich? all'applicazione precedente nello stack.
599 .El
600 .Pp
601 I quirk personalizzati vanno specificati nel file di configurazione come
602 segue:
603 .Pp
604 .Dl quirk[<classe>:<nome>] = <quirk> [ + <quirk> ... ]
605 .Pp
606 .Aq classe
607 e
608 .Aq nome
609 specificano a quali finestre i quirk vanno applicati, e
610 .Aq quirk
611 ? uno dei quirk presente nella lista sopra.
612 Ad esempio:
613 .Bd -literal -offset indent
614 quirk[MPlayer:xv] = FLOAT + FULLSCREEN + FOCUSPREV
615 quirk[pcb:pcb] = NONE # rimuovi un quirk precedentemente specificato
616 .Ed
617 .Pp
618 ? possibile ottenere
619 .Aq classe
620 e
621 .Aq nome
622 usando xprop(1) e facendo click sulla finestra desiderata.
623 Nel seguente esempio ? stato fatto click sulla finestra principale di
624 Firefox:
625 .Bd -literal -offset indent
626 $ xprop | grep WM_CLASS
627 WM_CLASS(STRING) = "Navigator", "Firefox"
628 .Ed
629 .Pp
630 Bisogna tenere conto del fatto che usare grep per trovare WM_CLASS inverte
631 la classe e il nome. Nell'esempio precedente, la dichiarazione del quirk
632 sarebbe
633 .Bd -literal -offset indent
634 quirk[Firefox:Navigator] = FLOAT
635 .Ed
636 .Pp
637 .Nm
638 assegna automaticamente i quirk alle finestre in base al valore della
639 propriet? _NET_WM_WINDOW_TYPE in base al seguente schema:
640 .Pp
641 .Bl -tag -width "_NET_WM_WINDOW_TYPE_TOOLBAR<TAB>XXX" -offset indent -compact
642 .It _NET_WM_WINDOW_TYPE_DOCK
643 FLOAT + ANYWHERE
644 .It _NET_WM_WINDOW_TYPE_TOOLBAR
645 FLOAT + ANYWHERE
646 .It _NET_WM_WINDOW_TYPE_UTILITY
647 FLOAT + ANYWHERE
648 .It _NET_WM_WINDOW_TYPE_SPLASH
649 FLOAT
650 .It _NET_WM_WINDOW_TYPE_DIALOG
651 FLOAT
652 .El
653 .Pp
654 In tutti gli altri casi, nessun quirk ? automaticamente assegnato alla
655 finestra. I quirk specificati nel file di configurazione hanno la precedenza
656 sui quirk assegnati in automatico.
657 .Sh EWMH
658 .Nm
659 implementa in maniera parziale la specifica Extended Window Manager Hints
660 (EWMH). Ci? permette di controllare sia le finestre che
661 .Nm
662 stesso tramite script e programmi esterni. Per renderlo possibile,
663 .Nm
664 risponde ad alcuni eventi di tipo ClientMessage; questo tipo di messaggio
665 pu? essere inviato da un terminale usando programmi come
666 .Xr wmctrl 1
667 e
668 .Xr xdotool 1 .
669 Per il formato esatto di questi messaggi, si veda la specifica EWMH.
670 .Pp
671 L'id della finestra che ha il focus ? memorizzato nella propriet?
672 _NET_ACTIVE_WINDOW della root window. ? quindi possibile ottenere il titolo
673 della finestra attiva usando
674 .Xr xprop 1
675 e
676 .Xr grep 1
677 .Bd -literal -offset indent
678 $ WINDOWID=`xprop \-root _NET_ACTIVE_WINDOW | grep \-o "0x.*"`
679 $ xprop \-id $WINDOWID WM_NAME | grep \-o "\\".*\\""
680 .Ed
681 .Pp
682 Per dare il focus ad una finestra, ? sufficiente inviare il messaggio
683 _NET_ACTIVE_WINDOW alla root window. Ad esempio, usando
684 .Xr wmctrl 1
685 (supponendo che 0x4a0000b sia l'id della finestra a cui dare il focus):
686 .Bd -literal -offset indent
687 $ wmctrl \-i \-c 0x4a0000b
688 .Ed
689 .Pp
690 Per chiudere una finestra si pu? inviare il messaggio _NET_CLOSE_WINDOW
691 alla root window. Ad esempio, usando
692 .Xr wmctrl 1
693 (supponendo che 0x4a0000b sia l'id della finestra da chiudere):
694 .Bd -literal -offset indent
695 $ wmctrl \-i \-c 0x4a0000b
696 .Ed
697 .Pp
698 Per passare una finestra da floating a tiled si pu? aggiungere o rimuovere
699 l'atomo _NET_WM_STATE_ABOVE alla propriet? _NET_WM_STATE della finestra,
700 inviando il messaggio _NET_WM_STATE alla root window. Ad esempio, usando
701 .Xr wmctrl 1
702 (supponendo che 0x4a0000b sia l'id della finestra):
703 .Bd -literal -offset indent
704 $ wmctrl \-i \-r 0x4a0000b \-b toggle,_NET_WM_STATE_ABOVE
705 .Ed
706 .Pp
707 Le finestre floating possono essere ridimensionate o spostate inviando il
708 messaggio _NET_MOVERESIZE_WINDOW alla root window. Ad esempio, usando
709 .Xr wmctrl 1
710 (supponendo che 0x4a0000b sia l'id della finestra da spostare):
711 .Bd -literal -offset indent
712 $ wmctrl \-i \-r 0x4a0000b \-e 0,100,50,640,480
713 .Ed
714 .Pp
715 Questo comando sposta la finestra in (100,50) e la ridimensiona a 640x480.
716 .Pp
717 I messaggi _NET_MOVERESIZE_WINDOW vengono ignorati per le finestre stacked.
718 .Sh SEGNALI
719 ? possibile riavviare
720 .Nm
721 inviandogli il segnale HUP.
722 .Sh FILE
723 .Bl -tag -width "/etc/spectrwm.confXXX" -compact
724 .It Pa ~/.spectrwm.conf
725 impostazioni di
726 .Nm
727 dell'utente.
728 .It Pa /etc/spectrwm.conf
729 impostazioni globali di
730 .Nm .
731 .El
732 .Sh ORIGINE
733 .Nm
734 prende ispirazione da xmonad & dwm.
735 .Sh AUTORI
736 .An -nosplit
737 .Pp
738 .Nm
739 ? stato scritto da:
740 .Pp
741 .Bl -tag -width "Ryan Thomas McBride Aq mcbride@countersiege.com " -offset indent -compact
742 .It Cm Marco Peereboom Aq marco@peereboom.us
743 .It Cm Ryan Thomas McBride Aq mcbride@countersiege.com
744 .It Cm Darrin Chandler Aq dwchandler@stilyagin.com
745 .It Cm Pierre-Yves Ritschard Aq pyr@spootnik.org
746 .It Cm Tuukka Kataja Aq stuge@xor.fi
747 .It Cm Jason L. Wright Aq jason@thought.net
748 .El
749 .Sh BUGS
750 Al momento il menu, invocato usando
751 .Cm M-p ,
752 dipende da dmenu.