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