mirror of
https://github.com/vale981/spectrwm
synced 2025-03-05 18:01:37 -05:00
755 lines
20 KiB
Groff
755 lines
20 KiB
Groff
.\" 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_delay
|
|
Frequenza di aggiornamento, in secondi, dello script esterno che aggiunge
|
|
informazioni 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.
|