NOME¶
spectrwm
—
gerenciador de janela para o X11
SINOPSE¶
spectrwm
DESCRIÇÃO¶
spectrwm
é um gerenciador de janela
minimalista que tenta não atrapalhar a valorosa forma real da tela para
que essa possa ser usada para coisas muito mais importantes. Tem sensatos
defaults e não requer que alguém aprenda uma linguagem de
programação para fazer qualquer configuração. Ele
foi escrito por hackers para hackers e esforça-se em ser pequeno,
compacto e rápido.
Quando o
spectrwm
inicia, ele lê as
configurações do seu arquivo de configuração,
spectrwm.conf. Veja a seção
ARQUIVOS DE
CONFIGURAÇÃO logo abaixo.
A seguinte notação é usada por toda essa página:
M
- Meta
S
- Shift
- ⟨
Name
⟩
- Nome da tecla
M1
- Botão 1 do mouse
M3
- Botão 3 do mouse
spectrwm
é muito simples de usar.
Muitas das ações são iniciadas por atalhos do mouse ou do
teclado. Veja a seção
ATALHOS logo abaixo para os
defaults e as personalizações.
ARQUIVOS DE CONFIGURAÇÃO¶
spectrwm
primeiro tenta abrir o arquivo de
configuração no diretório do usuário,
~/.spectrwm.conf. Se o arquivo não
estiver disponível, então tenta abrir o arquivo de
configuração global
/etc/spectrwm.conf.
Assim é o formato do arquivo:<palavra-chave> =
<configuração>. Por exemplo:
color_focus = red
Para habilitar ou desabilitar uma opção usa-se o 1 ou 0,
respectivamente.
O arquivo suporta as seguintes palavras-chave:
color_focus
- Cor da borda da janela atualmente focada.
color_unfocus
- Cor da borda das janelas fora de foco.
bar_enabled
- Habilita ou desabilita a barra de status.
bar_border
[x]
- Cor da borda da barra de status na tela
x.
bar_color
[x]
- Cor da janela da barra de status na tela
x.
bar_font_color
[x]
- Cor da fonte na barra de status na tela
x.
bar_font
- Fonte da barra de status.
bar_action
- Script externo que preenche a barra de status com
informações adicionais, como tempo de vida da bateria.
bar_at_bottom
- Coloca a barra de status na parte inferior de cada região, ao
invés da parte superior.
stack_enabled
- Habilita ou desabilita mostrar o atual algorítmo de empilhamento na
barra de status.
clock_enabled
- Habilita ou desabilita mostrar o relógio na barra de status.
Desabilite configurando para 0, então um relógio
personalizado pode ser usado no script bar_action.
dialog_ratio
- Algumas aplicações tem janelas de diálogo que
são muito pequenas para serem úteis. Essa taxa é o
tamanho da tela para o qual elas serão redimencionadas. Por
exemplo, 0.6 equivale a 60% do tamanho da tela física.
region
- Aloca uma região personalizada, removendo qualquer região
automaticamente detectada que ocupe o mesmo espaço na tela.
Definido no formato screen[<idx>]:WIDTHxHEIGHT+X+Y, e.g.
screen[1]:800x1200+0+0.
term_width
- Configura a largura mínima preferida para o terminal Se esse valor
for maior do que 0,
spectrwm
vai tentar
ajustar os tamanhos da fonte no terminal para manter a largura do terminal
acima desse número enquanto a janela é redimencionada.
Apenas o xterm(1) é suportado
atualmente. O binário do xterm(1)
não deve ser setuid ou setgid, que é o default em muitos
sistemas. Os usuários podem precisar de configurar program[term]
(veja a seção
PROGRAMAS ) para usar uma
cópia alternativa do binário do
xterm(1) sem o bit setgid ativado.
title_class_enabled
- Habilita ou desabilita mostrar a classe da janela na barra de status.
Habilite configurando para 1.
title_name_enabled
- Habilita ou desabilita mostrar o título da janela na barra de
status. Habilite configurando para 1.
window_name_enabled
- Habilita ou desabilita mostrar a nome da janela na barra de status.
Habilite configurando para 1.
modkey
- Muda a tecla de modificação. Mod1 é geralmente a
tecla ALT e Mod4 é a tecla windows em um PC.
focus_mode
- Usar um valor de follow_cursor vai fazer o gerenciador de janela focar a
janela sob o mouse quando trocando áreas de trabalho e criando
janelas.
disable_border
- Remove a borda quando a barra estiver desabilitada e houver apenas uma
janela na tela.
program
[p]
- Define uma nova ação para executar um programa
p. Veja a seção
PROGRAMAS logo abaixo.
bind
[x]
- Cria uma combinação de teclas de atalho para a
ação x. Veja a
seção ATALHOS
logo abaixo.
quirk
[c:n]
- Adicione "quirk" para janelas com classe
c e nome
n. Veja a seção
QUIRKS logo abaixo.
Cores precisam ser especificadas pela especificação
XQueryColor(3) e fontes pela
especificação
XQueryFont(3).
Para listar as fontes disponíveis em seu sistema veja o manual do
fc-list(1) ou do
xlsfonts(1). A aplicação
xfontsel(1) pode te ajudar a mostrar a X Logical
Font Description ("XLFD") usada na configuração da
palavra-chave bar_font.
PROGRAMAS¶
spectrwm
te permite definir
ações personalizadas para executar programas de sua escolha e
então criar um atalho para elas da mesma forma que as
ações embutidas. Veja a seção
ATALHOS logo abaixo.
Os programas default são descritos abaixo:
term
- x-terminal-emulator
screenshot_all
- screenshot.sh full
screenshot_wind
- screenshot.sh window
lock
- xscreensaver-command -lock
initscr
- initscreen.sh
- dmenu_run -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_border
-sf $bar_color
Programas personalizados no arquivo de configuração são
especificados da seguinte maneira:
program[<name>] =
<progpath> [<arg> [... <arg>]]
⟨name⟩ é um identificador qualquer que não conflite
com uma ação ou palavra-chave embutida, ⟨progpath⟩
é o programa desejado, e ⟨arg⟩ é zero ou mais
argumentos para o programa.
As seguintes variáveis representam valores configuráveis no
spectrwm
(veja a seção
ARQUIVOS DE
CONFIGURAÇÃO logo acima), e podem ser usadas nos campos
⟨arg⟩ e serão substituídas pelos valores na hora
em que o programa for executado:
Exemplo:
program[ff] = /usr/local/bin/firefox http://spectrwm.org/
bind[ff] = Mod+f # Agora Mod+F executa o firefox
Para desfazer a configuração anterior:
bind[] = Mod+f
program[ff] =
ATALHOS¶
spectrwm
provê muitas
funções (ou ações) acessadas pelos atalhos do
teclado ou do mouse.
Os atuais atalhos do mouse são descritos abaixo:
M1
- Foca a janela
M-M1
- Move a janela
M-M3
- Redimenciona a janela
M-S-M3
- Redimenciona a janela enquanto a mantém centralizada
Os atalhos default do teclado são descritos abaixo:
Os nomes das ações e suas descrições estão
listados abaixo:
term
- Executa um novo terminal (veja a seção
PROGRAMAS logo acima)
- Menu (veja a seção
PROGRAMAS logo acima)
quit
- Sair
spectrwm
restart
- Reiniciar
spectrwm
cycle_layout
- Circula entre os possíveis layouts
reset_layout
- Reinicia o layout
master_shrink
- Encolhe a área mestre
master_grow
- Aumenta a área mestre
master_add
- Adiciona janelas na área mestre
master_del
- Remove janelas da área mestre
stack_inc
- Adiciona colunas/linhas para a área de empilhamento
stack_del
- Remove colunas/linhas da área de empilhamento
swap_main
- Move a janela atual para a área mestre
focus_next
- Foca a próxima janela da área de trabalho
focus_prev
- Foca a janela anterior da área de trabalho
focus_main
- Foca a janela principal da área de trabalho
swap_next
- Troca com a próxima janela da área de trabalho
swap_prev
- Troca com a janela anterior da área de trabalho
bar_toggle
- Ativa/desativa a barra de status em todas as áreas de trabalho
wind_del
- Apaga a janela atual da área de trabalho
wind_kill
- Destrói a janela atual da área de trabalho
ws_
n
- Troca para a área de trabalho n,
onde n vai de 1 até 10
mvws_
n
- Move a janela atual para a área de trabalho
n, onde
n vai de 1 até 10
ws_next
- Troca para a próxima área de trabalho que possua uma
janela
ws_prev
- Troca para a área de trabalho anterior que possua uma janela
ws_prior
- Troca para a última área de trabalho visitada
screen_next
- Move o ponteiro para a próxima região
screen_prev
- Move o ponteiro para a região anterior
screenshot_all
- Tira screenshot da tela inteira (se habilitado) (veja a
seção
PROGRAMAS logo acima)
screenshot_wind
- Tira screenshot da janela selecionada (se habilitado) (veja a
seção
PROGRAMAS logo acima)
version
- Ativa/desativa a versão na barras de status
float_toggle
- Troca o estado da janela focada entre flutuante e tiled
lock
- Trava a tela (veja a seção
PROGRAMAS logo acima)
initscr
- Reinicializa as telas físicas (veja a seção
PROGRAMAS logo acima)
Atalhos personalizados no arquivo de configuração são
especificados da seguinte maneira:
bind[<action>] =
<keys>
⟨action⟩ é uma das ações listadas acima (ou
vazio) e ⟨keys⟩ está na forma de zero ou mais teclas de
modificação (MOD, Mod1, Shift, etc.) e uma ou mais teclas
normais (b, space, etc.), separadas pelo "+". Por exemplo:
bind[reset] = Mod4+q # combina a tecla Windows + q para reiniciar
bind[] = Mod1+q # desfaz a combinação Alt + q
Múltiplas combinações de teclas podem ser usadas para a
mesma ação.
QUIRKS¶
spectrwm
provê "quirks" que
manipulam janelas que devem ser tratadas especialmente em um gerenciador de
janela "tiling", tal como algumas aplicações de
diálogos e tela cheia.
Os quirks default estão descritos abaixo:
- Firefox-bin:firefox-bin
- TRANSSZ
- Firefox:Dialog
- FLOAT
- Gimp:gimp
- FLOAT + ANYWHERE
- MPlayer:xv
- FLOAT + FULLSCREEN
- OpenOffice.org 2.4:VCLSalFrame
- FLOAT
- OpenOffice.org 3.1:VCLSalFrame
- FLOAT
- pcb:pcb
- FLOAT
- xine:Xine Window
- FLOAT + ANYWHERE
- xine:xine Panel
- FLOAT + ANYWHERE
- xine:xine Video Fullscreen Window
- FULLSCREEN + FLOAT
- Xitk:Xitk Combo
- FLOAT + ANYWHERE
- Xitk:Xine Window
- FLOAT + ANYWHERE
- XTerm:xterm
- XTERM_FONTADJ
Os quirks em si estão descritos abaixo:
- FLOAT
- Esta janela não deve ser "tiled", mas permitida a flutuar
livremente.
- TRANSSZ
- Ajusta o tamanho das janelas transitórias que sejam muito pequenas
usando dialog_ratio (veja a seção
ARQUIVOS
DE CONFIGURAÇÃO).
- ANYWHERE
- Permite que a janela posicione a si mesma, não-centrada.
- XTERM_FONTADJ
- Ajusta as fontes do xterm quando redimencionando.
- FULLSCREEN
- Remove a borda para permitir a janela usar todo o tamanho da tela.
Quirks personalizados no arquivo de configuração são
especificados da seguinte maneira:
quirk[<class>:<name>] =
<quirk> [+ <quirk> ...]
⟨class⟩ e ⟨name⟩ especificam a janela ao qual o
quirk se aplica, e ⟨quirk⟩ é um dos quirks da lista
acima. Por exemplo:
quirk[MPlayer:xv] = FLOAT + FULLSCREEN # faz o mplayer tocar livremente
quirk[pcb:pcb] = NONE # remove quirk existente
Você pode obter ⟨class⟩ e ⟨name⟩ executando o
xprop(1) e então clicando na janela desejada. No seguinte exemplo a
jenela principal do Firefox foi clicada:
$ xprop | grep WM_CLASS
WM_CLASS(STRING) = "Navigator", "Firefox"
Note que usando o
grep(1) para WM_CLASS você obtém class e name.
No exemplo acima a configuração do quirk poderia ser:
quirk[Firefox:Navigator] = FLOAT
SINAIS¶
Enviar ao
spectrwm
um sinal HUP fará
com que o mesmo seja reiniciado.
ARQUIVOS¶
- ~/.spectrwm.conf
- Configurações específicas do usuário.
- /etc/spectrwm.conf
- Configurações globais.
HISTÓRIA¶
spectrwm
foi inspirado pelo xmonad & dwm.
AUTORES¶
spectrwm
foi escrito por
Marco Peereboom
⟨marco@peereboom.us⟩,
Ryan Thomas
McBride ⟨mcbride@countersiege.com⟩ e
Darrin Chandler
⟨dwchandler@stilyagin.com⟩.
BUGS¶
Atualmente o menu, invocado com
M-p
, depende
do dmenu.