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