JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
convert name_to_color to XCB
[spectrwm.git] / spectrwm_pt.1
1 .\" Copyright (c) 2009 Marco Peereboom <marco@peereboom.us>
2 .\" Copyright (c) 2009 Darrin Chandler <dwchandler@stilyagin.com>
3 .\"
4 .\" Permission to use, copy, modify, and distribute this software for any
5 .\" purpose with or without fee is hereby granted, provided that the above
6 .\" copyright notice and this permission notice appear in all copies.
7 .\"
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 .\"
16 .Dd $Mdocdate$
17 .Dt SPECTRWM 1
18 .Os
19 .Sh NOME
20 .Nm spectrwm
21 .Nd gerenciador de janela para o X11
22 .Sh SINOPSE
23 .Nm spectrwm
24 .Sh DESCRI\(,C\(~AO
25 .Nm
26 \('e um gerenciador de janela minimalista que tenta n\(~ao atrapalhar a
27 valorosa forma real da tela para que essa possa
28 ser usada para coisas muito mais importantes.
29 Tem sensatos defaults e n\(~ao requer que algu\('em aprenda uma linguagem de
30 programa\(,c\(~ao para fazer qualquer configura\(,c\(~ao.
31 Ele foi escrito por hackers para hackers e esfor\(,ca-se em ser pequeno, compacto e 
32 r\('apido.
33 .Pp
34 Quando o
35 .Nm
36 inicia, ele l\(^e as configura\(,c\(~oes do seu arquivo de configura\(,c\(~ao,
37 .Pa spectrwm.conf .
38 Veja a se\(,c\(~ao
39 .Sx ARQUIVOS DE CONFIGURA\(,C\(~AO
40 logo abaixo.
41 .Pp
42 A seguinte nota\(,c\(~ao \('e usada por toda essa p\('agina:
43 .Pp
44 .Bl -tag -width Ds -offset indent -compact
45 .It Cm M
46 Meta
47 .It Cm S
48 Shift
49 .It Aq Cm Name
50 Nome da tecla
51 .It Cm M1
52 Bot\(~ao 1 do mouse
53 .It Cm M3
54 Bot\(~ao 3 do mouse
55 .El
56 .Pp
57 .Nm
58 \('e muito simples de usar.
59 Muitas das a\(,c\(~oes s\(~ao iniciadas por atalhos do mouse ou do teclado.
60 Veja a se\(,c\(~ao
61 .Sx ATALHOS
62 logo abaixo para os defaults e as personaliza\(,c\(~oes.
63 .Sh ARQUIVOS DE CONFIGURA\(,C\(~AO
64 .Nm
65 primeiro tenta abrir o arquivo de configura\(,c\(~ao no diret\('orio do usu\('ario,
66 .Pa ~/.spectrwm.conf .
67 Se o arquivo n\(~ao estiver dispon\('ivel, ent\(~ao tenta abrir o arquivo de
68 configura\(,c\(~ao global
69 .Pa /etc/spectrwm.conf .
70 .Pp
71 Assim \('e o formato do arquivo:\*(Ltpalavra-chave\*(Gt = \*(Ltconfigura\(,c\(~ao\*(Gt.
72 Por exemplo:
73 .Pp
74 .Dl color_focus = red
75 .Pp
76 Para habilitar ou desabilitar uma op\(,c\(~ao usa-se o 1 ou 0, respectivamente. 
77 .Pp
78 O arquivo suporta as seguintes palavras-chave:
79 .Pp
80 .Bl -tag -width "title_class_enabledXXX" -offset indent -compact
81 .It Cm color_focus
82 Cor da borda da janela atualmente focada.
83 .It Cm color_unfocus
84 Cor da borda das janelas fora de foco.
85 .It Cm bar_enabled
86 Habilita ou desabilita a barra de status.
87 .It Cm bar_border Ns Bq Ar x
88 Cor da borda da barra de status na tela
89 .Ar x .
90 .It Cm bar_color Ns Bq Ar x
91 Cor da janela da barra de status na tela
92 .Ar x .
93 .It Cm bar_font_color Ns Bq Ar x
94 Cor da fonte na barra de status na tela
95 .Ar x .
96 .It Cm bar_font
97 Fonte da barra de status.
98 .It Cm bar_action
99 Script externo que preenche a barra de status com informa\(,c\(~oes adicionais,
100 como tempo de vida da bateria.
101 .It Cm bar_delay
102 Freq\(:u\(^encia da atualiza\(,c\(~ao, em segundos, do script externo que preenche
103 a barra de status.
104 .It Cm bar_at_bottom
105 Coloca a barra de status na parte inferior de cada regi\(~ao, ao inv\('es da parte superior.
106 .It Cm stack_enabled
107 Habilita ou desabilita mostrar o atual algor\('itmo de empilhamento na barra de status.
108 .It Cm clock_enabled
109 Habilita ou desabilita mostrar o rel\('ogio na barra de status.
110 Desabilite configurando para 0, ent\(~ao um rel\('ogio personalizado pode ser usado no
111 script bar_action.
112 .It Cm dialog_ratio
113 Algumas aplica\(,c\(~oes tem janelas de di\('alogo que s\(~ao muito pequenas para serem \('uteis.
114 Essa taxa \('e o tamanho da tela para o qual elas ser\(~ao redimencionadas.
115 Por exemplo, 0.6 equivale a 60% do tamanho da tela f\('isica.
116 .It Cm region
117 Aloca uma regi\(~ao personalizada, removendo qualquer regi\(~ao automaticamente detectada
118 que ocupe o mesmo espa\(,co na tela.
119 Definido no formato screen[<idx>]:WIDTHxHEIGHT+X+Y,
120 e.g.\& screen[1]:800x1200+0+0.
121 .It Cm term_width
122 Configura a largura m\('inima preferida para o terminal
123 Se esse valor for maior do que 0,
124 .Nm
125 vai tentar ajustar os tamanhos da fonte no terminal para manter a largura
126 do terminal acima desse n\('umero enquanto a janela \('e redimencionada.
127 Apenas o
128 .Xr xterm 1
129 \('e suportado atualmente.
130 O bin\('ario do
131 .Xr xterm 1
132 n\(~ao deve ser setuid ou setgid, que \('e o default em muitos sistemas.
133 Os usu\('arios podem precisar de configurar program[term] (veja a se\(,c\(~ao
134 .Sx PROGRAMAS
135 ) para usar uma c\('opia alternativa do bin\('ario do
136 .Xr xterm 1
137 sem o bit setgid ativado.
138 .It Cm title_class_enabled
139 Habilita ou desabilita mostrar a classe da janela na barra de status.
140 Habilite configurando para 1.
141 .It Cm title_name_enabled
142 Habilita ou desabilita mostrar o t\('itulo da janela na barra de status.
143 Habilite configurando para 1.
144 .It Cm window_name_enabled
145 Habilita ou desabilita mostrar a nome da janela na barra de status.
146 Habilite configurando para 1.
147 .It Cm modkey
148 Muda a tecla de modifica\(,c\(~ao.
149 Mod1 \('e geralmente a tecla ALT e Mod4 \('e a tecla windows em um PC.
150 .It Cm focus_mode
151 Usar um valor de follow_cursor vai fazer o gerenciador de janela focar
152 a janela sob o mouse quando trocando \('areas de trabalho e criando janelas.
153 .It Cm disable_border
154 Remove a borda quando a barra estiver desabilitada e houver apenas uma janela na tela.
155 .It Cm program Ns Bq Ar p
156 Define uma nova a\(,c\(~ao para executar um programa
157 .Ar p .
158 Veja a se\(,c\(~ao
159 .Sx PROGRAMAS
160 logo abaixo.
161 .It Cm bind Ns Bq Ar x
162 Cria uma combina\(,c\(~ao de teclas de atalho para a a\(,c\(~ao
163 .Ar x .
164 Veja a se\(,c\(~ao 
165 .Sx ATALHOS
166 logo abaixo.
167 .It Cm quirk Ns Bq Ar c:n
168 Adicione "quirk" para janelas com classe
169 .Ar c
170 e nome
171 .Ar n .
172 Veja a se\(,c\(~ao
173 .Sx QUIRKS
174 logo abaixo.
175 .El
176 .Pp
177 Cores precisam ser especificadas pela especifica\(,c\(~ao
178 .Xr XQueryColor 3
179 e fontes pela especifica\(,c\(~ao
180 .Xr XQueryFont 3 .
181 .Pp
182 Para listar as fontes dispon\('iveis em seu sistema veja o manual do
183 .Xr fc-list 1
184 ou do
185 .Xr xlsfonts 1 .
186 A aplica\(,c\(~ao 
187 .Xr xfontsel 1
188 pode te ajudar a mostrar a X Logical Font Description ("XLFD") usada na
189 configura\(,c\(~ao da palavra-chave bar_font.
190 .Sh PROGRAMAS
191 .Nm
192 te permite definir a\(,c\(~oes personalizadas para executar programas de sua escolha
193 e ent\(~ao criar um atalho para elas da mesma forma que as a\(,c\(~oes embutidas.
194 Veja a se\(,c\(~ao
195 .Sx ATALHOS
196 logo abaixo.
197 .Pp
198 Os programas default s\(~ao descritos abaixo:
199 .Pp
200 .Bl -tag -width "screenshot_wind" -offset indent -compact
201 .It Cm term
202 xterm
203 .It Cm screenshot_all
204 screenshot.sh full
205 .It Cm screenshot_wind
206 screenshot.sh window
207 .It Cm lock
208 xlock
209 .It Cm initscr
210 initscreen.sh
211 .It Cm menu
212 dmenu_run \-fn $bar_font \-nb $bar_color \-nf $bar_font_color \-sb $bar_border \-sf $bar_color
213 .El
214 .Pp
215 Programas personalizados no arquivo de configura\(,c\(~ao s\(~ao especificados da seguinte maneira:
216 .Pp
217 .Dl program[<name>] = <progpath> [<arg> [... <arg>]]
218 .Pp
219 .Aq name
220 \('e um identificador qualquer que n\(~ao conflite com uma a\(,c\(~ao ou palavra-chave embutida,
221 .Aq progpath
222 \('e o programa desejado, e
223 .Aq arg
224 \('e zero ou mais argumentos para o programa.
225 .Pp
226 As seguintes vari\('aveis representam valores configur\('aveis no
227 .Nm
228 (veja a se\(,c\(~ao
229 .Sx ARQUIVOS DE CONFIGURA\(,C\(~AO
230 logo acima),
231 e podem ser usadas nos campos
232 .Aq arg
233 e ser\(~ao substitu\('idas pelos valores na hora em que o programa for executado:
234 .Pp
235 .Bl -tag -width "$bar_font_color" -offset indent -compact
236 .It Cm $bar_border
237 .It Cm $bar_color
238 .It Cm $bar_font
239 .It Cm $bar_font_color
240 .It Cm $color_focus
241 .It Cm $color_unfocus
242 .El
243 .Pp
244 Exemplo:
245 .Bd -literal -offset indent
246 program[ff] = /usr/local/bin/firefox http://spectrwm.org/
247 bind[ff] = Mod+f # Agora Mod+F executa o firefox
248 .Ed
249 .Pp
250 Para desfazer a configura\(,c\(~ao anterior:
251 .Bd -literal -offset indent
252 bind[] = Mod+f
253 program[ff] =
254 .Ed
255 .Pp
256 .Sh ATALHOS
257 .Nm
258 prov\(^e muitas fun\(,c\(~oes (ou a\(,cões) acessadas pelos atalhos do teclado ou do mouse.
259 .Pp
260 Os atuais atalhos do mouse s\(~ao descritos abaixo:
261 .Pp
262 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
263 .It Cm M1
264 Foca a janela
265 .It Cm M-M1
266 Move a janela
267 .It Cm M-M3
268 Redimenciona a janela
269 .It Cm M-S-M3
270 Redimenciona a janela enquanto a mant\('em centralizada
271 .El
272 .Pp
273 Os atalhos default do teclado s\(~ao descritos abaixo:
274 .Pp
275 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
276 .It Cm M-S- Ns Aq Cm Return
277 term
278 .It Cm M-p
279 menu
280 .It Cm M-S-q
281 quit
282 .It Cm M-q
283 restart
284 .Nm
285 .It Cm M- Ns Aq Cm Space
286 cycle_layout
287 .It Cm M-S- Ns Aq Cm Space
288 reset_layout
289 .It Cm M-h
290 master_shrink
291 .It Cm M-l
292 master_grow
293 .It Cm M-,
294 master_add
295 .It Cm M-.
296 master_del
297 .It Cm M-S-,
298 stack_inc
299 .It Cm M-S-.
300 stack_del
301 .It Cm M- Ns Aq Cm Return
302 swap_main
303 .It Xo
304 .Cm M-j ,
305 .Cm M- Ns Aq Cm TAB
306 .Xc
307 focus_next
308 .It Xo
309 .Cm M-k ,
310 .Cm M-S- Ns Aq Cm TAB
311 .Xc
312 focus_prev
313 .It Cm M-m
314 focus_main
315 .It Cm M-S-j
316 swap_next
317 .It Cm M-S-k
318 swap_prev
319 .It Cm M-b
320 bar_toggle
321 .It Cm M-x
322 wind_del
323 .It Cm M-S-x
324 wind_kill
325 .It Cm M- Ns Aq Ar n
326 .Ns ws_ Ns Ar n
327 .It Cm M-S- Ns Aq Ar n
328 .Ns mvws_ Ns Ar n
329 .It Cm M- Ns Aq Cm Right
330 ws_next
331 .It Cm M- Ns Aq Cm Left
332 ws_prev
333 .It Cm M-a
334 ws_prior
335 .It Cm M-S- Ns Aq Cm Right
336 screen_next
337 .It Cm M-S- Ns Aq Cm Left
338 screen_prev
339 .It Cm M-s
340 screenshot_all
341 .It Cm M-S-s
342 screenshot_wind
343 .It Cm M-S-v
344 version
345 .It Cm M-t
346 float_toggle
347 .It Cm M-S Aq Cm Delete
348 lock
349 .It Cm M-S-i
350 initscr
351 .El
352 .Pp
353 Os nomes das a\(,c\(~oes e suas descri\(,cões est\(~ao listados abaixo:
354 .Pp
355 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
356 .It Cm term
357 Executa um novo terminal
358 (veja a se\(,c\(~ao
359 .Sx PROGRAMAS
360 logo acima)
361 .It Cm menu
362 Menu
363 (veja a se\(,c\(~ao
364 .Sx PROGRAMAS
365 logo acima)
366 .It Cm quit
367 Sair
368 .Nm
369 .It Cm restart
370 Reiniciar
371 .Nm
372 .It Cm cycle_layout
373 Circula entre os poss\('iveis layouts
374 .It Cm reset_layout
375 Reinicia o layout
376 .It Cm master_shrink
377 Encolhe a \('area mestre
378 .It Cm master_grow
379 Aumenta a \('area mestre
380 .It Cm master_add
381 Adiciona janelas na \('area mestre
382 .It Cm master_del
383 Remove janelas da \('area mestre
384 .It Cm stack_inc
385 Adiciona colunas/linhas para a \('area de empilhamento
386 .It Cm stack_del
387 Remove colunas/linhas da \('area de empilhamento
388 .It Cm swap_main
389 Move a janela atual para a \('area mestre
390 .It Cm focus_next
391 Foca a pr\('oxima janela da \('area de trabalho
392 .It Cm focus_prev
393 Foca a janela anterior da \('area de trabalho
394 .It Cm focus_main
395 Foca a janela principal da \('area de trabalho
396 .It Cm swap_next
397 Troca com a pr\('oxima janela da \('area de trabalho
398 .It Cm swap_prev
399 Troca com a janela anterior da \('area de trabalho
400 .It Cm bar_toggle
401 Ativa/desativa a barra de status em todas as \('areas de trabalho
402 .It Cm wind_del
403 Apaga a janela atual da \('area de trabalho
404 .It Cm wind_kill
405 Destr\('oi a janela atual da \('area de trabalho
406 .It Cm ws_ Ns Ar n
407 Troca para a \('area de trabalho
408 .Ar n ,
409 onde
410 .Ar n
411 vai de 1 at\('e 10
412 .It Cm mvws_ Ns Ar n
413 Move a janela atual para a \('area de trabalho
414 .Ar n ,
415 onde
416 .Ar n
417 vai de 1 at\('e 10
418 .It Cm ws_next
419 Troca para a pr\('oxima \('area de trabalho que possua uma janela
420 .It Cm ws_prev
421 Troca para a \('area de trabalho anterior que possua uma janela
422 .It Cm ws_prior
423 Troca para a \('ultima \('area de trabalho visitada
424 .It Cm screen_next
425 Move o ponteiro para a pr\('oxima regi\(~ao
426 .It Cm screen_prev
427 Move o ponteiro para a regi\(~ao anterior
428 .It Cm screenshot_all
429 Tira screenshot da tela inteira (se habilitado)
430 (veja a se\(,c\(~ao
431 .Sx PROGRAMAS
432 logo acima)
433 .It Cm screenshot_wind
434 Tira screenshot da janela selecionada (se habilitado)
435 (veja a se\(,c\(~ao
436 .Sx PROGRAMAS
437 logo acima)
438 .It Cm version
439 Ativa/desativa a vers\(~ao na barras de status
440 .It Cm float_toggle
441 Troca o estado da janela focada entre flutuante e tiled
442 .It Cm lock
443 Trava a tela
444 (veja a se\(,c\(~ao
445 .Sx PROGRAMAS
446 logo acima)
447 .It Cm initscr
448 Reinicializa as telas f\('isicas
449 (veja a se\(,c\(~ao
450 .Sx PROGRAMAS
451 logo acima)
452 .El
453 .Pp
454 Atalhos personalizados no arquivo de configura\(,c\(~ao s\(~ao especificados da seguinte maneira:
455 .Pp
456 .Dl bind[<action>] = <keys>
457 .Pp
458 .Aq action
459 \('e uma das a\(,c\(~oes listadas acima (ou vazio) e
460 .Aq keys
461 est\('a na forma de zero ou mais teclas de modifica\(,c\(~ao
462 (MOD, Mod1, Shift, etc.) e uma ou mais teclas normais
463 (b, space, etc.), separadas pelo "+".
464 Por exemplo:
465 .Bd -literal -offset indent
466 bind[reset] = Mod4+q # combina a tecla Windows + q para reiniciar
467 bind[] = Mod1+q # desfaz a combina\(,c\(~ao Alt + q
468 .Ed
469 .Pp
470 M\('ultiplas combina\(,c\(~oes de teclas podem ser usadas para a mesma a\(,c\(~ao.
471 .Sh QUIRKS
472 .Nm
473 prov\(^e "quirks" que manipulam janelas que devem ser tratadas especialmente
474 em um gerenciador de janela "tiling", tal como algumas aplica\(,c\(~oes de
475 di\('alogos e tela cheia.
476 .Pp
477 Os quirks default est\(~ao descritos abaixo:
478 .Pp
479 .Bl -tag -width "OpenOffice.org N.M:VCLSalFrame<TAB>XXX" -offset indent -compact
480 .It Firefox\-bin:firefox\-bin
481 TRANSSZ
482 .It Firefox:Dialog
483 FLOAT
484 .It Gimp:gimp
485 FLOAT + ANYWHERE
486 .It MPlayer:xv
487 FLOAT + FULLSCREEN
488 .It OpenOffice.org 2.4:VCLSalFrame
489 FLOAT
490 .It OpenOffice.org 3.1:VCLSalFrame
491 FLOAT
492 .It pcb:pcb
493 FLOAT
494 .It xine:Xine Window
495 FLOAT + ANYWHERE
496 .It xine:xine Panel
497 FLOAT + ANYWHERE
498 .It xine:xine Video Fullscreen Window
499 FULLSCREEN + FLOAT
500 .It Xitk:Xitk Combo
501 FLOAT + ANYWHERE
502 .It Xitk:Xine Window
503 FLOAT + ANYWHERE
504 .It XTerm:xterm
505 XTERM_FONTADJ
506 .El
507 .Pp
508 Os quirks em si est\(~ao descritos abaixo:
509 .Pp
510 .Bl -tag -width "XTERM_FONTADJ<TAB>XXX" -offset indent -compact
511 .It FLOAT
512 Esta janela n\(~ao deve ser "tiled", mas permitida a flutuar livremente.
513 .It TRANSSZ
514 Ajusta o tamanho das janelas transit\('orias que sejam muito pequenas
515 usando dialog_ratio 
516 (veja a se\(,c\(~ao
517 .Sx ARQUIVOS DE CONFIGURA\(,C\(~AO ) .
518 .It ANYWHERE
519 Permite que a janela posicione a si mesma, n\(~ao-centrada.
520 .It XTERM_FONTADJ
521 Ajusta as fontes do xterm quando redimencionando.
522 .It FULLSCREEN
523 Remove a borda para permitir a janela usar todo o tamanho da tela.
524 .El
525 .Pp
526 Quirks personalizados no arquivo de configura\(,c\(~ao s\(~ao especificados da seguinte maneira:
527 .Pp
528 .Dl quirk[<class>:<name>] = <quirk> [ + <quirk> ... ]
529 .Pp
530 .Aq class
531 e
532 .Aq name
533 especificam a janela ao qual o quirk se aplica, e
534 .Aq quirk
535 \('e um dos quirks da lista acima.
536 Por exemplo:
537 .Bd -literal -offset indent
538 quirk[MPlayer:xv] = FLOAT + FULLSCREEN # faz o mplayer tocar livremente
539 quirk[pcb:pcb] = NONE  # remove quirk existente
540 .Ed
541 .Pp
542 Voc\(^e pode obter
543 .Aq class
544 e
545 .Aq name
546 executando o xprop(1) e ent\(~ao clicando na janela desejada.
547 No seguinte exemplo a jenela principal do Firefox foi clicada:
548 .Bd -literal -offset indent
549 $ xprop | grep WM_CLASS
550 WM_CLASS(STRING) = "Navigator", "Firefox"
551 .Ed
552 .Pp
553 Note que usando o grep(1) para WM_CLASS voc\(^e obt\('em class e name. 
554 No exemplo acima a configura\(,c\(~ao do quirk poderia ser:
555 .Bd -literal -offset indent
556 quirk[Firefox:Navigator] = FLOAT
557 .Ed
558 .Sh SINAIS
559 Enviar ao
560 .Nm
561 um sinal HUP far\('a com que o mesmo seja reiniciado.
562 .Sh ARQUIVOS
563 .Bl -tag -width "/etc/spectrwm.confXXX" -compact
564 .It Pa ~/.spectrwm.conf
565 Configura\(,c\(~oes espec\('ificas do usu\('ario.
566 .It Pa /etc/spectrwm.conf
567 Configura\(,c\(~oes globais.
568 .El
569 .Sh HIST\('ORIA
570 .Nm
571 foi inspirado pelo xmonad & dwm.
572 .Sh AUTORES
573 .An -nosplit
574 .Pp
575 .Nm
576 foi escrito por
577 .An Marco Peereboom Aq marco@peereboom.us ,
578 .An Ryan Thomas McBride Aq mcbride@countersiege.com
579 e
580 .An Darrin Chandler Aq dwchandler@stilyagin.com .
581 .Sh BUGS
582 Atualmente o menu, invocado com
583 .Cm M-p ,
584 depende do dmenu.