SPECTRWM(1)

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
    xterm
screenshot_all
    screenshot.sh full
screenshot_wind
    screenshot.sh window
lock
    xlock
initscr
    initscreen.sh
menu
    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:

$bar_border
$bar_color
$bar_font
$bar_font_color
$color_focus
$color_unfocus

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:

M-S-<Return>
    term
M-p menu
M-S-q
    quit
M-q restart spectrwm
M-<Space>
    cycle_layout
M-S-<Space>
    reset_layout
M-h master_shrink
M-l master_grow
M-, master_add
M-. master_del
M-S-,
    stack_inc
M-S-.
    stack_del
M-<Return>
    swap_main
    M-j, M-<TAB> focus_next
    M-k, M-S-<TAB> focus_prev
M-m focus_main
M-S-j
    swap_next
M-S-k
    swap_prev
M-b bar_toggle
M-x wind_del
M-S-x
    wind_kill
M-<n>
    ws_n
M-S-<n>
    mvws_n
M-<Right>
    ws_next
M-<Left>
    ws_prev
M-a ws_prior
M-S-<Right>
    screen_next
M-S-<Left>
    screen_prev
M-s screenshot_all
M-S-s
    screenshot_wind
M-S-v
    version
M-t float_toggle
M-S <Delete>
    lock
M-S-i
    initscr

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
    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
-nosplit

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.