mirror of
https://github.com/vale981/spectrwm
synced 2025-03-05 09:51:38 -05:00
1249 lines
36 KiB
Groff
1249 lines
36 KiB
Groff
.\" Copyright (c) 2009-2012 Marco Peereboom <marco@peereboom.us>
|
|
.\" Copyright (c) 2009 Darrin Chandler <dwchandler@stilyagin.com>
|
|
.\" Copyright (c) 2011-2014 Reginald Kennedy <rk@rejii.com>
|
|
.\" Copyright (c) 2011-2012 Lawrence Teo <lteo@lteo.net>
|
|
.\" Copyright (c) 2011-2012 Tiago Cunha <tcunha@gmx.com>
|
|
.\" Copyright (c) 2012 David Hill <dhill@mindcry.org>
|
|
.\"
|
|
.\" 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: February 15 2012 $
|
|
.Dt SPECTRWM 1
|
|
.Os
|
|
.Sh NOME
|
|
.Nm spectrwm
|
|
.Nd gestore di finestre per X11
|
|
.Sh SINTASSI
|
|
.Nm spectrwm
|
|
.Sh DESCRIZIONE
|
|
.Nm
|
|
\[`e] un gestore di finestre minimale che cerca di stare in disparte, in modo
|
|
che il prezioso spazio sullo schermo possa essere usato per cose molto
|
|
pi\[`u] importanti.
|
|
Ha delle impostazioni predefinite ragionevoli e non richiede all'utente di
|
|
imparare un nuovo linguaggio per modificarne la configurazione.
|
|
\[`E] stato scritto dagli hacker per gli hacker, ed ha come obiettivo quello
|
|
di essere piccolo, compatto e veloce.
|
|
.Pp
|
|
All'avvio,
|
|
.Nm
|
|
legge le impostazioni presenti nel suo file di configurazione,
|
|
.Pa spectrwm.conf .
|
|
Vedere la sezione
|
|
.Sx FILE DI CONFIGURAZIONE
|
|
pi\[`u] sotto.
|
|
.Pp
|
|
Le seguenti notazioni verranno utilizzate all'interno di questa pagina:
|
|
.Pp
|
|
.Bl -tag -width Ds -offset indent -compact
|
|
.It Cm M
|
|
Meta
|
|
.It Cm S
|
|
Shift
|
|
.It Aq Cm Name
|
|
Tasto Name
|
|
.It Cm M1
|
|
Tasto 1 (sinistro) del mouse
|
|
.It Cm M3
|
|
Tasto 3 (destro) del mouse
|
|
.El
|
|
.Pp
|
|
.Nm
|
|
\[`e] molto semplice da usare.
|
|
La maggior parte delle azioni vengono svolte utilizzando combinazioni di
|
|
tasti sulla tastiera o sul mouse.
|
|
Vedere la sezione
|
|
.Sx SCORCIATOIE
|
|
pi\[`u] sotto per informazioni sulle impostazioni predefinite e sulle
|
|
possibilit\[`a] di personalizzazione.
|
|
.Sh FILE DI CONFIGURAZIONE
|
|
.Nm
|
|
da precedenza al file di configurazione specifico dell'utente,
|
|
.Pa ~/.spectrwm.conf .
|
|
Se quel file non \[`e] disponibile, tenta di utilizzare il file di
|
|
configurazione globale
|
|
.Pa /etc/spectrwm.conf .
|
|
.Pp
|
|
Il formato del file \[`e]
|
|
.Pp
|
|
.Dl Ar keyword Li = Ar setting
|
|
.Pp
|
|
Ad esempio:
|
|
.Pp
|
|
.Dl color_focus = red
|
|
.Pp
|
|
Le impostazioni di tipo binario possono essere abilitate e disabilitate
|
|
utilizzando rispettivamente i valori 1 e 0.
|
|
.Pp
|
|
I colori devono essere specificati usando il formato usato da
|
|
.Xr XQueryColor 3 .
|
|
.Pp
|
|
I commenti iniziano con #.
|
|
Qualora fosse necessario usare usare
|
|
.Ql #
|
|
come parte di un'opzione, questo dovr\[`a] essere preceduto da un
|
|
backslash, eg. \e#.
|
|
.Pp
|
|
Il file di configurazione supporta le seguenti impostazioni:
|
|
.Bl -tag -width 2m
|
|
.It Ic autorun
|
|
All'avvio, esegue un'applicazione nell'area di lavoro specificata.
|
|
Il formato da utilizzare \[`e]
|
|
.Li ws Ns Bo Ar idx Bc : Ns Ar application ,
|
|
eg. ws[2]:xterm esegue
|
|
.Xr xterm 1
|
|
nell'area di lavoro 2.
|
|
.It Ic bar_action
|
|
Script esterno che produce informazioni aggiuntive, come ad esempio quelle
|
|
sullo stato di carica della batteria, da inserire nella barra di stato.
|
|
.It Ic bar_at_bottom
|
|
Posiziona la barra di stato in fondo ad ogni regione anzich\['e] in cima.
|
|
.It Ic bar_borders Ns Bq Ar x
|
|
Colore del bordo della barra di stato nello schermo
|
|
.Ar x .
|
|
.It Ic bar_border_unfocus Ns Bq Ar x
|
|
Colore del bordo della barra di stato nelle regioni dello schermo
|
|
.Ar x
|
|
che non hanno il focus.
|
|
.It Ic bar_border_width
|
|
Imposta lo spessore del bordo della barra di stato, in pixel.
|
|
Il bordo pu\[`o] essere disabilitato usando il valore 0.
|
|
.It Ic bar_color Ns Bq Ar x
|
|
Colore di sfondo della barra di stato nello schermo
|
|
.Ar x .
|
|
.It Ic bar_enabled
|
|
Imposta il valore predefinito di
|
|
.Ic bar_toggle ;
|
|
il valore predefinito per questa opzione \[`e] 1.
|
|
.It Ic bar_enabled_ws Ns Bq Ar x
|
|
Imposta il valore predefinito di
|
|
.Ic bar_toggle_ws
|
|
per l'area di lavoro
|
|
.Ar x ;
|
|
il valore predefinito per questa opzione \[`e] 1.
|
|
.It Ic bar_font
|
|
Font da usare per la barra di stato.
|
|
Il font pu\[`o] essere specificato usando Xft o X Logical Font
|
|
Description (XLFD).
|
|
\[`E] possibile specificare dei font secondari separandoli tra loro con
|
|
una virgola.
|
|
Se tutte le specifiche sono nel formato XLFD verranno usati i gruppi di font;
|
|
se almeno una delle specifiche \[`e] in formato Xft, verr\[`a] usato Xft.
|
|
Quando Xft \[`e] in uso, verr\[`a] usato solo il primo font caricato con
|
|
successo anche nel caso in cui non dovesse comprendere tutti i glifi
|
|
necessari.
|
|
L'impostazione predefinita prevede l'uso dei gruppi di font; \[`e] bene
|
|
tenere conto del fatto che
|
|
.Xr dmenu 1
|
|
non supporta Xft.
|
|
.Pp
|
|
Esempio con Xft:
|
|
.Bd -literal -offset indent
|
|
bar_font = Terminus:style=Regular:pixelsize=14:antialias=true
|
|
|
|
bar_font = -*-profont-medium-*-*-*-11-*-*-*-*-*-*-*,Terminus:pixelsize=14,\
|
|
-*-clean-medium-*-*-*-12-*-*-*-*-*-*-*
|
|
.Ed
|
|
.Pp
|
|
Esempio con gruppi di font:
|
|
.Bd -literal -offset indent
|
|
bar_font = -*-terminus-medium-*-*-*-14-*-*-*-*-*-*-*
|
|
|
|
bar_font = -*-profont-medium-*-*-*-11-*-*-*-*-*-*-*,\
|
|
-*-terminus-medium-*-*-*-14-*-*-*-*-*-*-*,\
|
|
-*-clean-medium-*-*-*-12-*-*-*-*-*-*-*
|
|
.Ed
|
|
.Pp
|
|
Per ottenere un elenco dei font disponibili sul proprio sistema,
|
|
usare
|
|
.Xr fc-list 1
|
|
o
|
|
.Xr xlsfonts 1 .
|
|
L'applicazione
|
|
.Xr xfontsel 1
|
|
pu\[`o] essere d'aiuto per il formato XLFD.
|
|
.It Ic bar_font_color Ns Bq Ar x
|
|
Colore del testo nella barra di stato nello schermo
|
|
.Ar x .
|
|
.It Ic bar_format
|
|
Imposta il formato da utilizzare per la barra di stato,
|
|
sovrascrivendo
|
|
.Ic clock_format
|
|
e tutte le opzioni che terminano con
|
|
.Ic enabled .
|
|
Il formato viene passato a
|
|
.Xr strftime 3
|
|
prima di essere usato, e pu\[`o] contenere le seguenti sequenze
|
|
di caratteri:
|
|
.Bl -column "Sequenza di caratteri" "Sostituita con" -offset indent
|
|
.It Sy "Sequenza di caratteri" Ta Sy "Sostituita con"
|
|
.It Li "+<" Ta "Lascia uno spazio"
|
|
.It Li "+A" Ta "Output dello script esterno"
|
|
.It Li "+C" Ta "Classe della finestra corrente (da WM_CLASS)"
|
|
.It Li "+D" Ta "Nome dell'area di lavoro corrente"
|
|
.It Li "+F" Ta "Indicatore di float"
|
|
.It Li "+I" Ta "Indice dell'area di lavoro corrente"
|
|
.It Li "+M" Ta "Numero di finestre minimizzate nell'area di lavoro corrente"
|
|
.It Li "+N" Ta "Numero dello schermo corrente"
|
|
.It Li "+P" Ta "Classe e istanza della finestra corrente, separate da due punti"
|
|
.It Li "+S" Ta "Algoritmo di gestione delle finestre in uso"
|
|
.It Li "+T" Ta "Istanza della finestra corrente (da WM_CLASS)"
|
|
.It Li "+U" Ta "Indicatore di urgenza"
|
|
.It Li "+V" Ta "Versione del programma"
|
|
.It Li "+W" Ta "Nome della finestra corrente (da _NET_WM_NAME o WM_NAME)"
|
|
.It Li "++" Ta "Il carattere" Ql +
|
|
.El
|
|
.Pp
|
|
Tutte le sequenze di caratteri possono limitare il numero di caratteri
|
|
massimo utilizzato, eg. +64A.
|
|
Il testo che non contribuisce a formare una di queste sequenze di caratteri
|
|
viene copiato senza subire modifiche.
|
|
.It Ic bar_justify
|
|
Allinea il test all'interno della barra di stato.
|
|
I valori possibili sono
|
|
.Ar left
|
|
(sinistra),
|
|
.Ar center
|
|
(centro) e
|
|
.Ar right
|
|
(destra).
|
|
.Pp
|
|
Se il valore scelto non \[`e]
|
|
.Ar left ,
|
|
il testo potrebbe non risultare allineato correttamente.
|
|
Vedere
|
|
.Ic bar_format
|
|
per maggiori informazioni.
|
|
.It Ic bind Ns Bq Ar x
|
|
Associa una combinazione di tasti all'azione
|
|
.Ar x .
|
|
Vedere la sezione
|
|
.Sx SCORCIATOIE
|
|
pi\[`u] sotto.
|
|
.It Ic border_width
|
|
Imposta lo spessore del bordo delle finestre, in pixel.
|
|
Il bordo pu\[`o] essere disabilitato usando il valore 0.
|
|
.It Ic boundary_width
|
|
Imposta la larghezza dell'area di contenimento delle regioni, in pixel.
|
|
Questo valore permette di controllare di quanto una finestra debba essere
|
|
trascinata o ridimensionata oltre il limite di una regione prima che
|
|
venga considerata al di fuori di essa.
|
|
Questa impostazione non viene presa in considerazione quando le finestre
|
|
vengono manipolate utilizzando la tastiera.
|
|
L'area di contenimento pu\[`o] essere disabilitata usando il valore 0.
|
|
.It Ic clock_enabled
|
|
Abilita o disabilita l'orologio nella barra di stato.
|
|
Se viene usato il valore 0, \[`e] possibile inserire un orologio
|
|
personalizzato nello script esterno definito in
|
|
.Ic bar action .
|
|
.It Ic iconic_enabled
|
|
Visualizza nella barra di stato il numero di finestre minimizzate.
|
|
Questo indicatore pu\[`o] essere abilitato usando il valore 1.
|
|
.It Ic color_focus
|
|
Colore del bordo della finestra che detiene il focus.
|
|
Il colore predefinito \[`e] il rosso.
|
|
.It Ic color_focus_maximized
|
|
Colore del bordo della finestra che detiene il focus, se massimizzata.
|
|
Il colore predefinito \[`e] quello usato per
|
|
.Ic color_focus .
|
|
.It Ic color_unfocus
|
|
Colore del bordo delle finestre che non detengono il focus.
|
|
Il colore predefinito \[`e] rgb:88/88/88.
|
|
.It Ic color_unfocus_maximized
|
|
Colore del bordo delle finestre che non detengono il focus, se massimizzate.
|
|
Il colore predefinito \[`e] quello usato per
|
|
.Ic color_unfocus .
|
|
.It Ic dialog_ratio
|
|
Alcune applicazioni creano finestre di dialogo troppo piccole per essere
|
|
utilizzate.
|
|
Questa opzione indica la percentuale dello schermo da utilizzare per le
|
|
finestre di dialogo: ad esempio, il valore 0.6 indica che dovr\[`a] essere
|
|
usato il 60% dello spazio disponibile.
|
|
.It Ic disable_border
|
|
Non mostrare i bordi quando la barra di stato \[`e] nascosta e c'\[`e] una
|
|
sola finestra nella regione.
|
|
.It Ic focus_close
|
|
Imposta quale finestra ricever\[`a] il focus in seguito alla chiusura della
|
|
finestra che lo detiene al momento.
|
|
I valori possibili sono
|
|
.Ar first
|
|
(prima),
|
|
.Ar next
|
|
(successiva),
|
|
.Ar previous
|
|
(precedente, impostazione predefinita) e
|
|
.Ar last
|
|
(ultima).
|
|
.Ar next
|
|
e
|
|
.Ar previous
|
|
sono intese relativamente alla finestra che \[`e] stata chiusa.
|
|
.It Ic focus_close_wrap
|
|
Se abilitata, l'ultima finestra ricever\[`a] il focus quando l'ultima
|
|
viene chiusa, e viceversa.
|
|
Questa opzione pu\[`o] essere disabilitata usando il valore 0.
|
|
.It Ic focus_default
|
|
Finestra che deve ricevere il focus quando nessun'altra finestra lo
|
|
detiene.
|
|
I valori possibili sono
|
|
.Ar first
|
|
(prima) e
|
|
.Ar last
|
|
(ultima, impostazione predefinita).
|
|
.It Ic focus_mode
|
|
Comportamento del focus in relazione al cursore del mouse.
|
|
I valori possibili sono:
|
|
.Pp
|
|
.Bl -tag -width "default" -offset indent -compact
|
|
.It Ar default
|
|
Modifica il focus quando viene attraversato un bordo in seguito ad un
|
|
movimento del cursore o all'interazione con una finestra.
|
|
.It Ar follow
|
|
Modifica il focus ogni volta che il cursore attraversa un bordo, anche se
|
|
questo avviene in seguito al passaggio ad un'area di lavoro diversa o ad
|
|
un cambio di layout.
|
|
.It Ar manual
|
|
Modifica il focus solo quando si interagisce con una finestra.
|
|
.El
|
|
.It Ic java_workaround
|
|
Evita alcuni problemi di rendering nelle GUI Java impersonando il window
|
|
manager LG3D, scritto da Sun.
|
|
Il valore predefinito \[`e] 1.
|
|
.It Ic keyboard_mapping
|
|
Rimuove tutte le scorciatoie da tastiera esistenti e carica le nuove
|
|
scorciatoie dal file specificato.
|
|
Questo permette di caricare scorciatoie specifiche del proprio layout
|
|
di tastiera.
|
|
Vedere la sezione
|
|
.Sx MAPPE DI TASTIERA
|
|
pi\[`u] sotto per un elenco dei file che vengono forniti.
|
|
.It Ic layout
|
|
Imposta il layout da utilizzare all'avvio.
|
|
Definito nel formato
|
|
.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 ,
|
|
eg. ws[2]:-4:0:1:0:horizontal configura l'area di lavoro 2 per utilizzare
|
|
un algoritmo di stacking orizzontale, riduce l'area principale di 4
|
|
unit\[`a] e aggiunge una finestra all'area di stacking, mantenendo il
|
|
comportamento predefinito per le finestre floating.
|
|
I valori possibili per
|
|
.Ar stack_mode
|
|
sono
|
|
.Ar vertical ,
|
|
.Ar vertical_flip ,
|
|
.Ar horizontal ,
|
|
.Ar horizontal_flip
|
|
and
|
|
.Ar fullscreen .
|
|
Vedere
|
|
.Ic master_grow ,
|
|
.Ic master_shrink ,
|
|
.Ic master_add ,
|
|
.Ic master_del ,
|
|
.Ic stack_inc ,
|
|
.Ic stack_dec ,
|
|
e
|
|
.Ic always_raise
|
|
per maggiori informazioni.
|
|
Le opzioni che controllano gli algoritmi di gestione delle finestre sono
|
|
complesse e possono influenzare altre opzioni, quindi \[`e] opportuno
|
|
prendere confidenza con esse prima di utilizzare l'opzione
|
|
.Ic layout .
|
|
.Pp
|
|
Questa impostazione non viene applicata al riavvio.
|
|
.It Ic modkey
|
|
Cambia il modificatore.
|
|
Solitamente Mod1 \[`e] il tasto Alt e Mod4 il tasto Windows su un PC.
|
|
.It Ic name
|
|
Imposta il nome di un'area di lavoro all'avvio.
|
|
Definito nel formato
|
|
.Li ws Ns Bo Ar idx Bc : Ns Ar name ,
|
|
eg. ws[1]:Console assegna il nome
|
|
.Dq Console
|
|
all'area di lavoro 1.
|
|
.It Ic program Ns Bq Ar p
|
|
Definisce la nuova azione
|
|
.Ar p ,
|
|
corrispondente all'esecuzione di un programma.
|
|
Vedere la sezione
|
|
.Sx PROGRAMMI
|
|
pi\[`u] sotto.
|
|
.It Ic quirk Ns Bq Ar c Ns Li : Ns Ar i Ns Li : Ns Ar n
|
|
Aggiunge un "quirk" per le finestre di classe
|
|
.Ar c ,
|
|
istanza
|
|
.Ar i
|
|
e nome
|
|
.Ar n .
|
|
Vedere la sezione
|
|
.Sx QUIRK
|
|
pi\[`u] sotto.
|
|
.It Ic region
|
|
Definisce una regione personalizzata, rimuovendo tutte le regioni create in
|
|
automatico che occupano la stessa parte dello schermo.
|
|
Definita nel formato
|
|
.Li screen Ns Bo Ar idx Ns Bc : Ns Ar width Ns x Ns Ar height Ns + Ns Ar x Ns + Ns Ar y ,
|
|
eg. screen[1]:800x1200+0+0.
|
|
.Pp
|
|
Per fare s\[`i] che una regione copra pi\[`u] monitor, \[`e] sufficiente
|
|
definirla in modo che li occupi tutti, eg. screen[1]:2048x768+0+0 definisce
|
|
una regione che copre due monitor con risoluzione 1024x768 posizionati uno
|
|
di fianco all'altro.
|
|
.It Ic region_padding
|
|
Larghezza, in pixel, dello spazio lasciato vuoto all'interno di una regione.
|
|
Questa opzione pu\[`o] essere disabilitata usando il valore 0.
|
|
.It Ic spawn_position
|
|
Posizione da assegnare alle finestre al momento della loro creazione.
|
|
I valori possibili sono
|
|
.Ar first
|
|
(prima),
|
|
.Ar next
|
|
(successiva),
|
|
.Ar previous
|
|
(precedente) e
|
|
.Ar last
|
|
(ultima, predefinito).
|
|
.Ar next
|
|
e
|
|
.Ar previous
|
|
sono intese relativamente alla finestra che detiene il focus.
|
|
.It Ic stack_enabled
|
|
Abilita o disabilita la visualizzazione dell'algoritmo di stacking in uso
|
|
all'interno della barra di stato.
|
|
.It Ic term_width
|
|
Imposta la larghezza minima desiderata per i terminali.
|
|
Se il valore \[`e] maggiore di 0,
|
|
.Nm
|
|
cercher\[`a] di regolare la dimensione del font usato dal terminale
|
|
per fare s\[`i] che la larghezza rimanga superiore ad esso mentre la
|
|
finestra viene ridimensionata.
|
|
Solo
|
|
.Xr xterm 1
|
|
\[`e] supportato al momento.
|
|
L'eseguibile di
|
|
.Xr xterm 1
|
|
non deve avere i bit setuid o setgid abilitati, contrariamente a quanto
|
|
avviene nella maggior parte dei sistemi.
|
|
L'utente potrebbe dover creare una copia dell'eseguibile di
|
|
.Xr xterm 1 ,
|
|
priva dei bit setuid e setgid, e modificare program[term] (vedere la
|
|
sezione
|
|
.Sx PROGRAMMI
|
|
pi\[`u] sotto) in modo che punti a questa copia.
|
|
.It Ic title_gap
|
|
Larghezza, in pixel, dello spazio lasciato vuoto tra una finestra e l'altra.
|
|
L'utilizzo di un valore negativo fa s\[`i] che le finestre si sovrappongano.
|
|
Se il valore impostato \[`e] l'opposto di
|
|
.Ic border_width ,
|
|
non verr\[`a] visualizzato alcun bordo tra le finestre.
|
|
Questa opzione pu\[`o] essere disabilitata usando il valore 0.
|
|
.It Ic urgent_collapse
|
|
Disabilita la visualizzazione di un testo sostitutivo per le aree di lavoro
|
|
che non contengono finestre urgenti.
|
|
Questa opzione pu\[`o] essere abilitata usando il valore 1.
|
|
.It Ic urgent_enabled
|
|
Abilita o disabilita la visualizzazione dell'indicatore di urgenza
|
|
all'interno della barra di stato.
|
|
Molti emulatore di terminale devono essere configurati esplicitamente per
|
|
fare s\[`i] che il carattere "bell" causi la modifica dello stato di
|
|
urgenza della finestra.
|
|
Ad esempio, in
|
|
.Xr xterm 1 ,
|
|
\[`e] necessario aggiungere al file
|
|
.Pa .Xdefaults
|
|
la seguente riga:
|
|
.Bd -literal -offset indent
|
|
xterm.bellIsUrgent: true
|
|
.Ed
|
|
.It Ic verbose_layout
|
|
Abilita o disabilita la visualizzazione del numero di finestre nell'area
|
|
principale e del numero di righe (o colonne) nell'area di stacking.
|
|
Questa opzione pu\[`o] essere disabilitata usando il valore 1.
|
|
Vedre
|
|
.Ar master_add ,
|
|
.Ar master_del ,
|
|
.Ar stack_inc
|
|
e
|
|
.Ar stack_dec
|
|
per maggiori informazioni.
|
|
.It Ic window_class_enabled
|
|
Abilita o disabilita la visualizzazione del nome della classe (da WM_CLASS)
|
|
all'interno della barra di stato.
|
|
Questa opzione pu\[`o] essere abilitata usando il valore 1.
|
|
.It Ic window_instance_enabled
|
|
Abilita o disabilita la visualizzazione del nome dell'istanza (da WM_CLASS)
|
|
all'interno della barra di stato.
|
|
Questa opzione pu\[`o] essere abilitata usando il valore 1.
|
|
.It Ic window_name_enabled
|
|
Abilita o disabilita la visualizzazione del titolo della finestra (da
|
|
_NET_WM_NAME o WM_NAME) all'interno della barra di stato.
|
|
Questa opzione pu\[`o] essere abilitata usando il valore 1.
|
|
.Pp
|
|
Per impedire che titoli di finestra troppo lunghi impediscano di
|
|
visualizzare altre informazioni, lo spazio dedicato al titolo \[`e]
|
|
limitato a 64 caratteri.
|
|
Vedere
|
|
.Ic bar_format
|
|
per maggiori informazioni.
|
|
.It Ic warp_pointer
|
|
Posiziona il cursore del mouse al centro della finestra che ha il focus
|
|
quando vengono utilizzate scorciatoie da tastiera per modificare il focus,
|
|
cambiare area di lavoro, cambiare regione, etc.
|
|
Questa opzione pu\[`o] essere abilitata usando il valore 1.
|
|
.It Ic workspace_limit
|
|
Imposta il numero di aree di lavoro disponibili.
|
|
Il valore minimo \[`e] 1, quello massimo \[`e] 22, quello predefinito
|
|
\[`e] 10.
|
|
.El
|
|
.Sh PROGRAMMI
|
|
.Nm
|
|
consente di definire azioni personalizzate per l'esecuzione di programmi,
|
|
e di assegnare queste azioni a scorciatoie da tastiera come \[`e]
|
|
possibile per quelle predefinite.
|
|
Vedere la sezione
|
|
.Sx SCORCIATOIE
|
|
pi\[`u] sotto.
|
|
.Pp
|
|
I programmi vengono definiti come segue:
|
|
.Pp
|
|
.Dl program Ns Bo Ar action Bc = Ar progpath Op Ar arg Op Ar arg ...
|
|
.Pp
|
|
.Ar action
|
|
\[`e] qualsiasi identificatore che non vada in conflitto con una delle
|
|
azioni predefinite,
|
|
.Ar progpath
|
|
\[`e] il percorso del programma da eseguire e
|
|
.Ar arg
|
|
sono gli argomenti (uno o pi\[`u]) da passare al programma.
|
|
.Pp
|
|
Se il percorso o gli argomenti comprendono il carattere
|
|
.Ql # ,
|
|
questo dovr\[`a] essere preceduto da un carattere di escape,
|
|
diventando \e#.
|
|
.Pp
|
|
I seguenti argomenti verranno sostituiti, al momento dell'esecuzione, con
|
|
il valore assegnato all'opzione corrispondente:
|
|
.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
|
|
.It Cm $dmenu_bottom
|
|
\-b se
|
|
.Ic bar_at_bottom
|
|
\[`e] abilitato
|
|
.It Cm $region_index
|
|
.It Cm $workspace_index
|
|
.El
|
|
.Pp
|
|
Esempio:
|
|
.Bd -literal -offset indent
|
|
program[ff] = /usr/local/bin/firefox http://spectrwm.org/
|
|
bind[ff] = MOD+Shift+b # Ora M-S-b esegue Firefox
|
|
.Ed
|
|
.Pp
|
|
Per eliminare la scorciatoia appena definita:
|
|
.Bd -literal -offset indent
|
|
bind[] = MOD+Shift+b
|
|
.Ed
|
|
.Pp
|
|
Programmi predefiniti:
|
|
.Pp
|
|
.Bl -tag -width "screenshot_wind" -offset indent -compact
|
|
.It Cm lock
|
|
xlock
|
|
.It Cm menu
|
|
dmenu_run $dmenu_bottom \-fn $bar_font \-nb $bar_color \-nf $bar_font_color \-sb
|
|
$bar_border \-sf $bar_color
|
|
.It Cm term
|
|
xterm
|
|
.It Cm initscr
|
|
initscreen.sh # opzionale
|
|
.It Cm screenshot_all
|
|
screenshot.sh full # opzionale
|
|
.It Cm screenshot_wind
|
|
screenshot.sh window # opzionale
|
|
.El
|
|
.Pp
|
|
I programmi opzionali non verranno verificati a meno di non essere
|
|
ridefiniti dall'utente.
|
|
Se uno dei programmi predefiniti fallisce la verifica, \[`e] possibile
|
|
risolvere l'errore installando il programma corrispondente, modificando
|
|
il percorso del programma o disabilitando la scorciatoia relativa.
|
|
.Pp
|
|
Ad esempio, per ridefinire
|
|
.Ic lock :
|
|
.Bd -literal -offset indent
|
|
program[lock] = xscreensaver\-command \-lock
|
|
.Ed
|
|
.Pp
|
|
Per disabilitare la scorciatoia assegnata a
|
|
.Ic lock
|
|
ed impedirne la verifica:
|
|
.Bd -literal -offset indent
|
|
bind[] = MOD+Shift+Delete
|
|
.Ed
|
|
.Sh SCORCIATOIE
|
|
.Nm
|
|
fornisce numerose azioni che possono essere attivate usando combinazioni
|
|
di tasti sulla tastiera o sul mouse.
|
|
.Pp
|
|
Le combinazioni di tasti che coinvolgono il mouse sono le seguenti:
|
|
.Pp
|
|
.Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
|
|
.It Cm M1
|
|
Assegna il focus ad una finestra
|
|
.It Cm M-M1
|
|
Sposta una finestra
|
|
.It Cm M-M3
|
|
Ridimensiona una finestra
|
|
.It Cm M-S-M3
|
|
Ridimensiona una finestra, mantenendola centrata
|
|
.El
|
|
.Pp
|
|
Le scorciatoie da tastiera predefinite sono le seguenti:
|
|
.Pp
|
|
.Bl -tag -width "M-j, M-<TAB>XXXXXX" -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-\e
|
|
flip_layout
|
|
.It Cm M-S- Ns Aq Cm Space
|
|
stack_reset
|
|
.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_dec
|
|
.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-u
|
|
focus_urgent
|
|
.It Cm M-S-j
|
|
swap_next
|
|
.It Cm M-S-k
|
|
swap_prev
|
|
.It Cm M-b
|
|
bar_toggle
|
|
.It Cm M-S-b
|
|
bar_toggle_ws
|
|
.It Cm M-x
|
|
wind_del
|
|
.It Cm M-S-x
|
|
wind_kill
|
|
.It Cm M- Ns Aq Ar 1-9,0,F1-F12
|
|
.Pf ws_ Aq Ar 1-22
|
|
.It Cm M-S- Ns Aq Ar 1-9,0,F1-F12
|
|
.Pf mvws_ Ns Aq Ar 1-22
|
|
.It Cm M- Ns Aq Ar Keypad 1-9
|
|
.Pf rg_ Aq Ar 1-9
|
|
.It Cm M-S- Ns Aq Ar Keypad 1-9
|
|
.Pf mvrg_ Aq Ar 1-9
|
|
.It Cm M- Ns Aq Cm Right
|
|
ws_next
|
|
.It Cm M- Ns Aq Cm Left
|
|
ws_prev
|
|
.It Cm M- Ns Aq Cm Up
|
|
ws_next_all
|
|
.It Cm M- Ns Aq Cm Down
|
|
ws_prev_all
|
|
.It Cm M-a
|
|
ws_next_move
|
|
.It Cm M-S- Ns Aq Cm Left
|
|
ws_prev_move
|
|
.It Cm M-S- Ns Aq Cm Up
|
|
ws_prior
|
|
.It Cm M-S- Ns Aq Cm Right
|
|
rg_next
|
|
.It Cm M-S- Ns Aq Cm Left
|
|
rg_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- Ns Aq Cm Delete
|
|
lock
|
|
.It Cm M-S-i
|
|
initscr
|
|
.It Cm M-w
|
|
iconify
|
|
.It Cm M-S-w
|
|
uniconify
|
|
.It Cm M-e
|
|
maximize_toggle
|
|
.It Cm M-S-r
|
|
always_raise
|
|
.It Cm M-v
|
|
button2
|
|
.It Cm M--
|
|
width_shrink
|
|
.It Cm M-=
|
|
width_grow
|
|
.It Cm M-S--
|
|
height_shrink
|
|
.It Cm M-S-=
|
|
height_grow
|
|
.It Cm M-[
|
|
move_left
|
|
.It Cm M-]
|
|
move_right
|
|
.It Cm M-S-[
|
|
move_up
|
|
.It Cm M-S-]
|
|
move_down
|
|
.It Cm M-S-/
|
|
name_workspace
|
|
.It Cm M-/
|
|
search_workspace
|
|
.It Cm M-f
|
|
search_win
|
|
.El
|
|
.Pp
|
|
Le azioni predefinite disponibili sono le seguenti:
|
|
.Pp
|
|
.Bl -tag -width "M-j, M-<TAB>XXXX" -offset indent -compact
|
|
.It Cm term
|
|
Esegue un terminale (vedere la sezione
|
|
.Sx PROGRAMMI
|
|
pi\[`u] in alto).
|
|
.It Cm menu
|
|
Mostra il menu (vedere la sezione
|
|
.Sx PROGRAMMI
|
|
pi\[`u] in alto).
|
|
.It Cm quit
|
|
Chiude
|
|
.Nm .
|
|
.It Cm restart
|
|
Riavvia
|
|
.Nm .
|
|
.It Cm cycle_layout
|
|
Passa al layout successivo.
|
|
.It Cm flip_layout
|
|
Inverte l'area principale e quella di stacking.
|
|
.It Cm stack_reset
|
|
Riporta il layout al suo stato iniziale.
|
|
.It Cm master_shrink
|
|
Riduce la dimensione dell'area principale.
|
|
.It Cm master_grow
|
|
Aumenta la dimensione dell'area principale.
|
|
.It Cm master_add
|
|
Aggiunge una finestra all'area principale.
|
|
.It Cm master_del
|
|
Rimuove una finestra dall'area principale.
|
|
.It Cm stack_inc
|
|
Aggiunge una riga (o colonna) all'area di stacking.
|
|
.It Cm stack_dec
|
|
Rimuove una riga (o colonna) dall'area di stacking.
|
|
.It Cm swap_main
|
|
Sposta la finestra corrente nell'area principale.
|
|
.It Cm focus_next
|
|
Assegna il focus alla finestra successiva.
|
|
.It Cm focus_prev
|
|
Assegna il focus alla finestra precedente.
|
|
.It Cm focus_main
|
|
Assegna il focus alla finestra principale dell'area di lavoro.
|
|
.It Cm focus_urgent
|
|
Assegna il focus alla finestra urgente successiva.
|
|
Verr\[`a] effettuato, se necessario, il passaggio ad un'altra area di
|
|
lavoro.
|
|
.It Cm swap_next
|
|
Inverte la finestra corrente con quella successiva.
|
|
.It Cm swap_prev
|
|
Inverte la finestra corrente con quella precedente.
|
|
.It Cm bar_toggle
|
|
Modifica la visibilit\[`a] della barra di stato a livello globale.
|
|
.It Cm bar_toggle_ws
|
|
Modifica la visibilit\[`a] della barra di stato nell'area di lavoro
|
|
corrente.
|
|
.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
|
|
\[`e] un valore compreso tra 1 e
|
|
.Ic workspace_limit .
|
|
.It Cm mvws_ Ns Ar n
|
|
Sposta la finestra corrente nell'area di lavoro
|
|
.Ar n ,
|
|
dove
|
|
.Ar n
|
|
\[`e] un numero compreso tra 1 e
|
|
.Ic workspace_limit .
|
|
.It Cm rg_ Ns Ar n
|
|
Assegna il focus alla regione
|
|
.Ar n ,
|
|
dove
|
|
.Ar n
|
|
\[`e] un numero compreso tra 1 e 9.
|
|
.It Cm mvrg_ Ns Ar n
|
|
Sposta la finestra corrente nella regione
|
|
.Ar n ,
|
|
dove
|
|
.Ar n
|
|
\[`e] un numero compreso tra 1 e 9.
|
|
.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_next_all
|
|
Passa all'area di lavoro successiva.
|
|
.It Cm ws_prev_all
|
|
Passa all'area di lavoro precedente.
|
|
.It Cm ws_next_move
|
|
Passa all'area di lavoro successiva, spostando allo stesso tempo la
|
|
finestra corrente.
|
|
.It Cm ws_prev_move
|
|
Passa all'area di lavoro precedente, spostando allo stesso tempo la
|
|
finestra corrente.
|
|
.It Cm ws_prior
|
|
Passa all'ultima area di lavoro visitata.
|
|
.It Cm rg_next
|
|
Passa alla regione successiva.
|
|
.It Cm rg_prev
|
|
Passa alla regione precedente.
|
|
.It Cm screenshot_all
|
|
Cattura l'intera schermata chiamando l'apposito script (vedere la sezione
|
|
.Sx PROGRAMMI
|
|
pi\[`u] in alto).
|
|
.It Cm screenshot_wind
|
|
Cattura una singola finestra chiamando l'apposito script (vedere la sezione
|
|
.Sx PROGRAMMI
|
|
pi\[`u] in alto).
|
|
.It Cm version
|
|
Modifica la visibilit\[`a] del numero di versione all'interno della barra
|
|
di stato.
|
|
.It Cm float_toggle
|
|
Modifica la finestra che detiene il focus, portandola da floating a tiled
|
|
e viceversa.
|
|
.It Cm lock
|
|
Blocca lo schermo (vedere la sezione
|
|
.Sx PROGRAMMI
|
|
pi\[`u] in alto).
|
|
.It Cm initscr
|
|
Inizializza nuovamente tutti gli schermi (vedere la sezione
|
|
.Sx PROGRAMMI
|
|
pi\[`u] in alto).
|
|
.It Cm iconify
|
|
Minimizza la finestra che detiene il focus.
|
|
.It Cm uniconify
|
|
Ripristina la finestra selezionata tramite
|
|
.Xr dmenu 1 .
|
|
.It Cm maximize_toggle
|
|
Modifica lo stato di massimizzazione della finestra che detiene il focus.
|
|
.It Cm always_raise
|
|
Se impostato, le finestre tiled possono oscurare le finestre floating.
|
|
.It Cm button2
|
|
Simula la pressione del tasto centrale del mouse.
|
|
.It Cm width_shrink
|
|
Riduce la larghezza di una finestra floating.
|
|
.It Cm width_grow
|
|
Aumenta la larghezza di una finestra floating.
|
|
.It Cm height_shrink
|
|
Riduce l'altezza di una finestra floating.
|
|
.It Cm height_grow
|
|
Aumenta l'altezza di una finestra floating.
|
|
.It Cm move_left
|
|
Sposta una finestra floating verso sinistra di un'unit\[`a].
|
|
.It Cm move_right
|
|
Sposta una finestra floating verso destra di un'unit\[`a].
|
|
.It Cm move_up
|
|
Sposta una finestra floating verso l'alto di un'unit\[`a].
|
|
.It Cm move_down
|
|
Sposta una finestra floating verso il basso di un'unit\[`a].
|
|
.It Cm name_workspace
|
|
Assegna un nome all'area di lavoro corrente.
|
|
.It Cm search_workspace
|
|
Cerca un'area di lavoro.
|
|
.It Cm search_win
|
|
Cerca una finestra all'interno dell'area di lavoro corrente.
|
|
.El
|
|
.Pp
|
|
Le scorciatoie da tastiera personalizzate vengono definite come segue:
|
|
.Pp
|
|
.Dl bind Ns Bo Ar action Bc = Ar keys
|
|
.Pp
|
|
.Ar action
|
|
\[`e] una delle azioni predefinite descritte sopra, oppure la stringa vuota
|
|
(per disabilitare la scorciatoia).
|
|
.Ar keys
|
|
\[`e] composta da uno o pi\[`u] tasti modificatore (eg. MOD, Mod1, Shift,
|
|
etc.) e uno o pi\[`u] tasti normali (eg. b, Space, etc.) separati da
|
|
.Ql + .
|
|
.Pp
|
|
Esempio:
|
|
.Bd -literal -offset indent
|
|
bind[reset] = Mod4+q # Assegna l'azione reset alla scorciatoia Win+q
|
|
bind[] = Mod1+q # disabilita la scorciatoia predefinita Alt+q
|
|
.Ed
|
|
.Pp
|
|
Per usare il valore dell'opzione
|
|
.Ic modkey
|
|
in una scorciatoia, specificare MOD come modificatore.
|
|
.Pp
|
|
Pi\[`u] scorciatoie possono essere assegnate alla stessa azione.
|
|
.Pp
|
|
Per usare dei caratteri non latini, come \[oa] o \[*p], all'interno di una
|
|
scorciatoia, \[`e] necessario specificare il nome xkb del carattere
|
|
anzich\['e] il carattere stesso.
|
|
Eseguendo
|
|
.Xr xev 1
|
|
e premendo un tasto mentre la finestra del programma detiene il focus,
|
|
\[`e] possibile leggere il nome xkb corrispondente al tasto premuto.
|
|
Ad esempio, per \[oa]:
|
|
.Bd -literal -offset indent
|
|
KeyPress event, serial 41, synthetic NO, window 0x2600001,
|
|
root 0x15a, subw 0x0, time 106213808, (11,5), root:(359,823),
|
|
state 0x0, keycode 24 (keysym 0xe5, aring), same_screen YES,
|
|
XLookupString gives 2 bytes: (c3 a5) "\[oa]"
|
|
XmbLookupString gives 2 bytes: (c3 a5) "\[oa]"
|
|
XFilterEvent returns: False
|
|
.Ed
|
|
.Pp
|
|
Il nome xkb \[`e] aring.
|
|
Quindi, all'interno di
|
|
.Pa spectrwm.conf
|
|
sar\[`a] possibile aggiungere la seguente riga:
|
|
.Bd -literal -offset indent
|
|
bind[program] = MOD+aring
|
|
.Ed
|
|
.Sh MAPPE DI TASTIERA
|
|
\[`E] possibile caricare le scorciatoie da un file di configurazione
|
|
separato tramite l'opzione
|
|
.Ic keyboard_mapping :
|
|
questo consente di utilizzare scorciatoie specifiche del proprio layout di
|
|
tastiera.
|
|
.Pp
|
|
Vengono forniti i seguenti file:
|
|
.Pp
|
|
.Bl -tag -width "spectrwm_XX.confXXX" -offset indent -compact
|
|
.It Cm spectrwm_cz.conf
|
|
Layout per tastiere ceche
|
|
.It Cm spectrwm_es.conf
|
|
Layout per tastiere spagnole
|
|
.It Cm spectrwm_fr.conf
|
|
Layout per tastiere francesi
|
|
.It Cm spectrwm_fr_ch.conf
|
|
Layout per tastiere francesi (Svizzera)
|
|
.It Cm spectrwm_se.conf
|
|
Layout per tastiere svedesi
|
|
.It Cm spectrwm_us.conf
|
|
Layout per tastiere americane
|
|
.El
|
|
.Sh QUIRK
|
|
\[`E] possibile specificare "quirk" da applicare a quelle finestre (ad
|
|
esempio applicazioni a schermo intero e finestre di dialogo) che richiedono
|
|
un comportamento speciale da parte di un gestore di finestre tiling come
|
|
.Nm .
|
|
.Pp
|
|
La configurazione predefinita, per quanto riguarda i quirk, \[`e] la
|
|
seguente:
|
|
.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 disponibili sono i seguenti:
|
|
.Pp
|
|
.Bl -tag -width "XTERM_FONTADJ<TAB>XXX" -offset indent -compact
|
|
.It FLOAT
|
|
Le finestre saranno sempre floating.
|
|
.It TRANSSZ
|
|
Modifica la dimensione delle finestre di dialogo in base al valore di
|
|
.Ic dialog_ratio
|
|
(vedere la sezione
|
|
.Sx FILE DI CONFIGURAZIONE
|
|
pi\[`u] in alto).
|
|
.It ANYWHERE
|
|
Consenti alle finestre di decidere la propria posizione.
|
|
.It XTERM_FONTADJ
|
|
Regola la dimensione dei font di
|
|
.Xr xterm 1
|
|
quando la dimensione delle finestre viene modificata.
|
|
.It FULLSCREEN
|
|
Non mostrare il bordo.
|
|
.It FOCUSPREV
|
|
Alla chiusura di una finestra, il focus verr\[`a] assegnato alla finestra
|
|
che lo deteneva in precedenza e non alla finestra precedente nello stack.
|
|
.It NOFOCUSONMAP
|
|
Non assegnare il focus alle finestre quando vengono create.
|
|
Questo quirk viene ignorato se il valore di
|
|
.Ic focus_mode
|
|
\[`e]
|
|
.Ar follow .
|
|
.It FOCUSONMAP_SINGLE
|
|
Assegna il focus alle finestre quando vengono create solo se non sono
|
|
gi\[`a] presenti delle finestre con la stessa classe e istanza nell'area
|
|
di lavoro.
|
|
Questo quirk viene ignorato se il valore di
|
|
.Ic focus_mode
|
|
\[`e]
|
|
.Ar follow .
|
|
.It OBEYAPPFOCUSREQ
|
|
Assegna il focus alle finestre quando viene richiesto tramite un messaggio
|
|
di tipo _NET_ACTIVE_WINDOW con sorgente 1.
|
|
Se la sorgente \[`e] 0 (non specificato) o 2 (pager), la richiesta viene
|
|
sempre accolta.
|
|
.It IGNOREPID
|
|
Ignora il PID nella scelta dell'area di lavoro iniziale per le nuove
|
|
finestre.
|
|
Molto utile per le applicazioni (eg. terminali) che creano pi\[`u] finestre
|
|
all'interno dello stesso processo.
|
|
.It IGNORESPAWNWS
|
|
Ignora l'area di lavoro in cui \[`e] stata eseguita la scorciatoia da
|
|
tastiera nella scelta dell'area di lavoro iniziale per le nuove finestre.
|
|
.It WS Ns Bq Ar n
|
|
Obbliga le nuove finestre ad essere assegnate all'area di lavoro
|
|
.Ar n .
|
|
.El
|
|
.Pp
|
|
I quirk personalizzati vengono definiti come segue:
|
|
.Pp
|
|
.Dl quirk Ns Bo Ar class Ns Bo : Ns Ar instance Ns Bo : Ns Ar name Bc Bc Bc = Ar quirk Op + Ar quirk ...
|
|
.Pp
|
|
.Ar class ,
|
|
.Ar instance
|
|
(opzionale) e
|
|
.Ar name
|
|
(opzionale) sono dei pattern che vengono usati per determinare a quali
|
|
finestre i quirk debbano essere applicati e
|
|
.Ar quirk
|
|
\[`e] uno dei quirk descritti in precedenza.
|
|
.Pp
|
|
I pattern vengono interpretati come espressioni regolari estese POSIX.
|
|
I simboli ':', '[' e ']' devono essere preceduti da '\\' per essere
|
|
considerati letteralmente.
|
|
Vedere
|
|
.Xr regex 7
|
|
per ulteriori informazioni sulle espressioni regolari estese POSIX.
|
|
.Pp
|
|
Ad esempio:
|
|
.Bd -literal -offset indent
|
|
quirk[MPlayer] = FLOAT + FULLSCREEN + FOCUSPREV # Le finestre con \
|
|
classe 'MPlayer' sono floating
|
|
quirk[.*] = FLOAT # Le finestre sono floating
|
|
quirk[.*:.*:.*] = FLOAT # Come sopra
|
|
quirk[Firefox:Navigator] = FLOAT # Le finestre di navigazione di \
|
|
Firefox sono floating
|
|
quirk[::Console] = FLOAT # Le finestre la cui classe non \[`e] impostata \
|
|
e il cui nome \[`e] 'Console' sono floating
|
|
quirk[\\[0-9\\].*:.*:\\[\\[\\:alnum\\:\\]\\]*] = FLOAT # Le finestre la \
|
|
cui classe inizia con un numero e il cui nome \[`e] non definito o \
|
|
contiene solo caratteri alfanumerici, senza spazi, sono floating
|
|
quirk[pcb:pcb] = NONE # Rimuove i quirk predefiniti
|
|
.Ed
|
|
\[`E] possibile ottenere
|
|
.Ar class ,
|
|
.Ar instance
|
|
e
|
|
.Ar name
|
|
eseguendo
|
|
.Xr xprop 1
|
|
e selezionando la finestra desiderata.
|
|
In questo esempio, \[`e] stata selezionata la finestra principale di
|
|
Firefox:
|
|
.Bd -literal -offset indent
|
|
$ xprop | grep \-E "^(WM_CLASS|_NET_WM_NAME|WM_NAME)"
|
|
WM_CLASS(STRING) = "Navigator", "Firefox"
|
|
WM_NAME(STRING) = "spectrwm - ConformalOpenSource"
|
|
_NET_WM_NAME(UTF8_STRING) = "spectrwm - ConformalOpenSource"
|
|
.Ed
|
|
.Pp
|
|
Il comando
|
|
.Xr xprop 1
|
|
visualizza WM_CLASS nel seguente formato:
|
|
.Bd -literal -offset indent
|
|
WM_CLASS(STRING) = "<instance>", "<class>"
|
|
.Ed
|
|
.Pp
|
|
In questo caso, bisognerebbe aggiungere al file di configurazione la
|
|
seguente riga:
|
|
.Bd -literal -offset indent
|
|
quirk[Firefox:Navigator] = FLOAT
|
|
.Ed
|
|
.Pp
|
|
.Nm
|
|
assegna alcuni quirk in automatico, basandosi sul valore della
|
|
propriet\[`a] _NET_WM_WINDOW_TYPE, nel seguente modo:
|
|
.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 gli unici quirk assegnati alle finestre saranno
|
|
quelli predefiniti o, con precedenza maggiore, quelli specificati nel
|
|
file di configurazione.
|
|
.Sh EWMH
|
|
.Nm
|
|
implementa in maniera parziale la specifica EWMH, Extended Window Manager
|
|
Hints: questo consente di controllare le finestre, oltre che
|
|
.Nm
|
|
stesso, da script e programmi esterni.
|
|
Per sfruttare questo supporto,
|
|
.Nm
|
|
dovr\[`a] ricevere degli eventi di tipo ClientMessage; questo tipo di
|
|
messaggio pu\[`o] essere inviato dalla riga di comando usando tool come
|
|
.Xr wmctrl 1
|
|
e
|
|
.Xr xdotool 1 .
|
|
Il formato dei messaggi \[`e] definito nella specifica EWMH.
|
|
.Pp
|
|
L'identificativo della finestra che detiene il focus pu\[`o] essere
|
|
ottenuto leggendo il valore della propriet\[`a] _NET_ACTIVE_WINDOWS
|
|
della root window.
|
|
Ad esempio, per visualizzare il titolo della finestra:
|
|
.Bd -literal -offset indent
|
|
$ WINDOWID=`xprop \-root _NET_ACTIVE_WINDOW | grep \-o "0x.*"`
|
|
$ xprop \-id $WINDOWID _NET_WM_NAME | grep \-o "\\".*\\""
|
|
.Ed
|
|
.Pp
|
|
Il focus pu\[`o] essere assegnato ad una finestra inviando un messaggio
|
|
di tipo _NET_ACTIVE_WINDOW alla root window, ad esempio:
|
|
.Bd -literal -offset indent
|
|
$ wmctrl \-i \-a 0x4a0000b
|
|
.Ed
|
|
.Pp
|
|
Le finestre possono essere chiuse inviando un messaggio di tipo
|
|
_NET_CLOSE_WINDOW, ad esempio:
|
|
.Bd -literal -offset indent
|
|
$ wmctrl \-i \-c 0x4a0000b
|
|
.Ed
|
|
.Pp
|
|
Le finestre possono essere portate da floating a tiled, e viceversa,
|
|
aggiungendo o rimuovendo l'atomo _NET_WM_STATE_ABOVE dalla propriet\[`a]
|
|
_NET_WM_STATE della finestra.
|
|
Per fare ci\[`o], \[`e] necessario inviare un messaggio di tipo
|
|
_NET_WM_STATE, ad esempio:
|
|
.Bd -literal -offset indent
|
|
$ wmctrl \-i \-r 0x4a0000b \-b toggle,_NET_WM_STATE_ABOVE
|
|
.Ed
|
|
.Pp
|
|
Le finestre possono essere minimizzate e ripristinate sostituendo
|
|
_NET_WM_STATE_HIDDEN a _NET_WM_STATE_ABOVE nell'esempio precedente:
|
|
.Bd -literal -offset indent
|
|
$ wmctrl \-i \-r 0x4a0000b \-b toggle,_NET_WM_STATE_HIDDEN
|
|
.Ed
|
|
.Pp
|
|
Le finestre floating possono essere ridimensionate e spostate tramite
|
|
l'invio di un messaggio di tipo _NET_MOVERESIZE_WINDOW, ad esempio:
|
|
.Bd -literal -offset indent
|
|
$ wmctrl \-i \-r 0x4a0000b \-e 0,100,50,640,480
|
|
.Ed
|
|
In questo caso, la con id 0x4a0000b finestra viene spostata in (100,50)
|
|
e la sua dimensione diventa 640x480.
|
|
.Pp
|
|
I messaggi di tipo _NET_MOVERESIZE_WINDOW che fanno riferimento a finestre
|
|
tiled verranno ignorati.
|
|
.Sh SEGNALI
|
|
Il segnale HUP fa riavviare
|
|
.Nm .
|
|
.Sh FILE
|
|
.Bl -tag -width "/etc/spectrwm.confXXX" -compact
|
|
.It Pa ~/.spectrwm.conf
|
|
File di configurazione specifico dell'utente.
|
|
.Nm .
|
|
.It Pa /etc/spectrwm.conf
|
|
File di configurazione globale.
|
|
.El
|
|
.Sh ORIGINE
|
|
.Nm
|
|
\[`e] ispirato a xmonad & dwm.
|
|
.Sh AUTORI
|
|
.An -nosplit
|
|
.Nm
|
|
\[`e] 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
|
|
.It Cm Reginald Kennedy Aq rk@rejii.com
|
|
.It Cm Lawrence Teo Aq lteo@lteo.net
|
|
.It Cm Tiago Cunha Aq tcunha@gmx.com
|
|
.It Cm David Hill Aq dhill@mindcry.org
|
|
.El
|