JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
realloc cleanup from akfaew@jasminek.net
[spectrwm.git] / scrotwm_es.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 NOMBRE
22 .Nm scrotwm
23 .Nd es un manejador de ventanas para X11
24 .Sh SYNOPSIS
25 .Nm scrotwm
26 .Sh DESCRIPCIÓN
27 .Nm
28 es un manejador de ventanas super minimalista para X11. Intenta no superponer 
29 las ventanas para que las mismas puedan usarse de manera eficiente y para cosas mas importantes. 
30 Tiene configuraciones normales y no requiere que sepas un lenguaje de 
31 programacion para configurarlo. Esta escrito por hackers para hackers y apunta 
32 a ser pequeño, compacto y rápido. 
33 .Pp
34 Cuando
35 .Nm
36 inicia, lo primero que hace es leer el archivo de configuracion,
37 .Pa scrotwm.conf .
38 Ver 
39 .Sx ARCHIVOS DE CONFIGURACIÓN
40 .
41 .Pp
42 La siguiente anotacion se usa a través de esta pagina:
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 Nombre de tecla
51 .It Cm M1
52 Boton 1 del mouse
53 .It Cm M3
54 Boton 3 del mouse
55 .El
56 .Pp
57 .Nm
58 es muy simple de usar.
59 La mayoria de las acciones se hacen con los mapeos (bindings) de mouse 
60 o teclado.
61 Ver la sección de
62 .Sx BINDINGS
63 para las personalizaciones y configuraciones por defecto.
64 .Sh ARCHIVOS DE CONFIGURACIÓN
65 .Nm
66 primero trata de abrir el archivo por defecto en el directorio del usuario,
67 .Pa ~/.scrotwm.conf .
68 Si ese archivo no esta disponible,
69 luego trata de abrir el archivo global de configuracion
70 .Pa /etc/scrotwm.conf .
71 .Pp
72 El formato del archivo es \*(Lttecla\*(Gt = \*(Ltconfiguracion\*(Gt.
73 Por ejemplo:
74 .Pp
75 .Dl color_focus = red
76 .Pp
77 Habilitamos o deshabilitamos la opción usando 1 o 0 respectivamente.
78 .Pp
79 El archivo soporta las siguientes palabras clave:
80 .Pp
81 .Bl -tag -width "title_class_enabledXXX" -offset indent -compact
82 .It Cm color_focus
83 Color del borde de la ventana en foco.
84 .It Cm color_unfocus
85 Color del borde de la ventana fuera de foco.
86 .It Cm bar_enabled
87 Habilitar o deshabilitar la barra de estado.
88 .It Cm bar_border Ns Bq Ar x
89 Color del borde de la barra de estado en pantalla.
90 .Ar x .
91 .It Cm bar_color Ns Bq Ar x
92 Color de la ventana de la barra de estado en pantalla.
93 .Ar x .
94 .It Cm bar_font_color Ns Bq Ar x
95 Color de la fuente en la barra de estado en pantalla.
96 .Ar x .
97 .It Cm bar_font
98 Fuente de la barra de estado.
99 .It Cm bar_action
100 Scripts externos con populares agregados de información para la barra 
101 de estado, como la vida de la bateria.
102 .It Cm bar_delay
103 Frecuencia de actualización, en segundos, de los scripts de la barra de 
104 estado.
105 .It Cm bar_at_bottom
106 Puedes posicionar la statusbar en la parte inferior de la pantalla.
107 .It Cm stack_enabled
108 Habilitar o deshabilitar mostrar el algoritmo de apilamiento en la barra
109 de estado.
110 .It Cm clock_enabled
111 Habilitar o deshabilitar el reloj en la barra de estado, deshabilitado 
112 por defecto con un 0, para usar el reloj de la barra de estado 
113 (bar_action)
114 .It Cm dialog_ratio
115 Algunas aplicaciones tienen ventanas de dialogo muy pequeñas como para 
116 ser usables. Este relación (ratio) es el tamaño de la pantalla, por 
117 ejemplo 0.6 es 60% del tamaño físico de la pantalla.
118 .It Cm region
119 Acomodar una region personalizada, removiendo cualquier autodeteción de 
120 regiones que ocupe el espacio en la pantalla. 
121 Definiendo el formato screen[<idx>]:WIDTHxHEIGHT+X+Y,
122 e.g.\& screen[1]:800x1200+0+0.
123 .It Cm term_width
124 Setear un ancho minimo preferido para la terminal.
125 Si el valor es mayor que 0,
126 .Nm
127 intentará ajustar el tamaño de la fuente de la terminal para mantener 
128 el ancho de la terminal por encima de este número cuando la ventana 
129 cambia de tamaño.
130 Actualmente solo es soportado por
131 .Xr xterm 1
132 El binario de
133 .Xr xterm 1
134 no debe ser un setuid o setgid, que no sea el que viene por defecto en 
135 la mayoria de los sistemas.
136 Los usuarios pueden necesitar setear program[term] (ver la sección
137 .Sx PROGRAMAS
138 ) para usar una copia alternativa del binario de
139 .Xr xterm 1
140 sin el seteo del setgid.
141 .It Cm title_class_enabled
142 Habilitar o deshabilitar la clase de ventana en la barre de estado.
143 Habilitado seteando 1
144 .It Cm title_name_enabled
145 Habilitar o deshabilita el titulo de la ventana en la barra de estado.
146 Habilitado seteando 1
147 .It Cm window_name_enabled
148 Habilitar o deshabilita el nombre de la ventana en la barra de estado.
149 Habilitado seteando 1
150 .It Cm modkey
151 Cambiar mod key.
152 Mod1 generalmente es la tecla ALT y Mod4 la tecla de windows en una PC.
153 .It Cm focus_mode
154 Usando el valor de follow_cursor puedes hacer que el manejador de ventanas
155 se enfoque en la ventana cuando el cursor pase por arriba de las mismas o
156 bien cambiando de estacion de trabajo.
157 .It Cm disable_border
158 Remueve el borde de una sola ventana cuando la barra de estado esta desactivada.
159 .It Cm program Ns Bq Ar p
160 Definir una nueva accion para ejecutar un programa.
161 .Ar p .
162 Ver la sección de
163 .Sx PROGRAMAS
164 .It Cm bind Ns Bq Ar x
165 Combinación de teclas para una acción
166 .Ar x .
167 Ver la sección
168 .Sx BINDINGS
169 .It Cm quirk Ns Bq Ar c:n
170 Agregar un "quirk" (o forzados) para ventanas con clase
171 .Ar c
172 y nombre
173 .Ar n .
174 Ver la sección
175 .Sx QUIRKS
176 .El
177 .Pp
178 Los colores deben ser especificados por la especificación
179 .Xr XQueryColor 3
180 y las fuentes por la especificación
181 .Xr XQueryFont 3
182 .Sh PROGRAMAS
183 .Nm
184 te permite definir acciones personales para lanzar los programas que 
185 quieras y luego obligar a la misma con una función de acciones.
186 Ver la sección
187 .Sx BINDINGS
188 .Pp
189 Los programas por defecto se describen acá:
190 .Pp
191 .Bl -tag -width "screenshot_wind" -offset indent -compact
192 .It Cm term
193 xterm
194 .It Cm screenshot_all
195 screenshot.sh completo
196 .It Cm screenshot_wind
197 screenshot.sh por ventana
198 .It Cm lock
199 xlock
200 .It Cm initscr
201 initscreen.sh
202 .It Cm menu
203 dmenu_run \-fn $bar_font \-nb $bar_color \-nf $bar_font_color \-sb $bar_border \-sf $bar_color
204 .El
205 .Pp
206 Los programas en la configuración personal, se especifican aca:
207 .Pp
208 .Dl program[<nombre>] = <progpath> [<arg> [... <arg>]]
209 .Pp
210 .Aq nombre
211 es un identificador, no genera conflictos con ninguna accion o palabra 
212 clave,
213 .Aq progpath
214 es la ruta al programa, y
215 .Aq arg
216 es ninguno o mas de un argumento para el programa.
217 .Pp
218 Las siguientes variables de configuracion en
219 .Nm
220 (ver 
221 .Sx ARCHIVOS DE CONFIGURACIÓN
222 ),
223 y pueden ser usadas en los campos de
224 .Aq arg
225 como asi tambien sustituidas por valores al momento del inicio de un 
226 programa:
227 .Pp
228 .Bl -tag -width "$bar_font_color" -offset indent -compact
229 .It Cm $bar_border
230 .It Cm $bar_color
231 .It Cm $bar_font
232 .It Cm $bar_font_color
233 .It Cm $color_focus
234 .It Cm $color_unfocus
235 .El
236 .Pp
237 Ejemplo:
238 .Bd -literal -offset indent
239 program[ff] = /usr/local/bin/firefox http://scrotwm.com.ar/
240 bind[ff] = Mod+f # Ahora Mod+F inicia firefox
241 .Ed
242 .Pp
243 Para deshacer lo anterior:
244 .Bd -literal -offset indent
245 bind[] = Mod+f
246 program[ff] =
247 .Ed
248 .Sh SIGNALS
249 Enviando
250 .Nm
251 una se?al de HUP reinicia scrotwm.
252 .Pp
253 .Sh BINDINGS
254 .Nm
255 provee muchas funciones (o acciones) accesibles por medio de la 
256 asignación (bindings) de teclas o el mouse.
257 .Pp
258 Las corrientes asignaciones (bindings) del mouse son:
259 .Pp
260 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
261 .It Cm M1
262 Enfoco una ventana
263 .It Cm M-M1
264 Muevo una ventana
265 .It Cm M-M3
266 Redimenciono una ventana
267 .It Cm M-S-M3
268 Redimenciono una ventana hasta que quede centrada
269 .El
270 .Pp
271 Las corrientes asignaciones (bindings) de teclas son:
272 .Pp
273 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
274 .It Cm M-S- Ns Aq Cm Return
275 term
276 .It Cm M-p
277 menu
278 .It Cm M-S-q
279 quit
280 .It Cm M-q
281 restart
282 .Nm
283 .It Cm M- Ns Aq Cm Space
284 cycle_layout
285 .It Cm M-S- Ns Aq Cm Space
286 reset_layout
287 .It Cm M-h
288 master_shrink
289 .It Cm M-l
290 master_grow
291 .It Cm M-,
292 master_add
293 .It Cm M-.
294 master_del
295 .It Cm M-S-,
296 stack_inc
297 .It Cm M-S-.
298 stack_del
299 .It Cm M- Ns Aq Cm Return
300 swap_main
301 .It Xo
302 .Cm M-j ,
303 .Cm M- Ns Aq Cm TAB
304 .Xc
305 focus_next
306 .It Xo
307 .Cm M-k ,
308 .Cm M-S- Ns Aq Cm TAB
309 .Xc
310 focus_prev
311 .It Cm M-m
312 focus_main
313 .It Cm M-S-j
314 swap_next
315 .It Cm M-S-k
316 swap_prev
317 .It Cm M-b
318 bar_toggle
319 .It Cm M-x
320 wind_del
321 .It Cm M-S-x
322 wind_kill
323 .It Cm M- Ns Aq Ar n
324 .Ns ws_ Ns Ar n
325 .It Cm M-S- Ns Aq Ar n
326 .Ns mvws_ Ns Ar n
327 .It Cm M- Ns Aq Cm Right
328 ws_next
329 .It Cm M- Ns Aq Cm Left
330 ws_prev
331 .It Cm M-a
332 ws_prior
333 .It Cm M-S- Ns Aq Cm Right
334 screen_next
335 .It Cm M-S- Ns Aq Cm Left
336 screen_prev
337 .It Cm M-s
338 screenshot_all
339 .It Cm M-S-s
340 screenshot_wind
341 .It Cm M-S-v
342 version
343 .It Cm M-t
344 float_toggle
345 .It Cm M-S Aq Cm Delete
346 lock
347 .It Cm M-S-i
348 initscr
349 .El
350 .Pp
351 El nombre de las acciónes descripta a continuación:
352 .Pp
353 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
354 .It Cm term
355 Ejecutar una terminal
356 (ver
357 .Sx PROGRAMAS
358 )
359 .It Cm menu
360 Menu
361 (ver
362 .Sx PROGRAMAS
363 )
364 .It Cm quit
365 Salir
366 .Nm
367 .It Cm restart
368 Reiniciar
369 .Nm
370 .It Cm cycle_layout
371 Disposición de las ventanas
372 .It Cm reset_layout
373 Reiniciar la disposición de las ventanas
374 .It Cm master_shrink
375 Achicar la region principal
376 .It Cm master_grow
377 Agrandar la region principal
378 .It Cm master_add
379 Agregar una ventana a la region principal
380 .It Cm master_del
381 Quitar una ventana de la region principal
382 .It Cm stack_inc
383 Agregar columnas/filas a las pilas
384 .It Cm stack_del
385 Quitar columnas/filas de las pilas
386 .It Cm swap_main
387 Mover la ventana corriente a la region principal
388 .It Cm focus_next
389 Enfocar la proxima ventana en la estación de trabajo
390 .It Cm focus_prev
391 Enfocar la anterior ventana en la estación de trabajo
392 .It Cm focus_main
393 Enfocar en la ventana principal de la estación de trabajo
394 .It Cm swap_next
395 Ejecutar con la siguiente ventana en la estación de trabajo
396 .It Cm swap_prev
397 Ejecutar con la anterior ventana en la estación de trabajo
398 .It Cm bar_toggle
399 Cambiar la barra de estado en todas las estaciones de trabajo
400 .It Cm wind_del
401 Borrar la ventana corriente en la estación de trabajo
402 .It Cm wind_kill
403 Destruir la ventana corriente en la estación de trabajo
404 .It Cm ws_ Ns Ar n
405 Cambiar entre estaciones de trabajo
406 .Ar n ,
407 donde
408 .Ar n
409 es 1 por 10
410 .It Cm mvws_ Ns Ar n
411 Mover la ventana corriente a una estación de trabajo
412 .Ar n ,
413 donde
414 .Ar n
415 es 1 por 10
416 .It Cm ws_next
417 Cambiar a la proxima estación de trabajo con una ventana en ella
418 .It Cm ws_prev
419 Cambiar a la anterior estación de trabajo con una ventana en ella
420 .It Cm screen_next
421 Mover el puntero a la proxima region
422 .It Cm screen_prev
423 Mover el puntero a la anterior region
424 .It Cm screenshot_all
425 Tomar una captura de pantalla de todo la pantalla (si esta habilitado)
426 (ver
427 .Sx PROGRAMAS
428 )
429 .It Cm screenshot_wind
430 Tomar una captura de pantalla de la ventana seleccionada (si esta habilitado)
431 (ver
432 .Sx PROGRAMAS
433 )
434 .It Cm version
435 Mostrar la version en la barra de estado
436 .It Cm float_toggle
437 Mostar la ventana en foco entre las flotantes y acomodadas
438 .It Cm lock
439 Bloquear pantalla
440 (ver
441 .Sx PROGRAMAS
442 )
443 .It Cm initscr
444 Reiniciar la pantalla
445 (ver
446 .Sx PROGRAMAS
447 )
448 .El
449 .Pp
450 Personalizar mapeos (bindings) en el archivo de configuración:
451 .Pp
452 .Dl bind[<accion>] = <teclas>
453 .Pp
454 .Aq accion
455 una de las acciones listadas (o ninguna) y
456 .Aq teclas
457 una o mas teclas modificadas (puede ser ninguna tambien)
458 (MOD, Mod1, Shift, etc.) y una o mas teclas normales
459 (b, barra espaciadora, etc.), separadas por un "+".
460 Por ejemplo:
461 .Bd -literal -offset indent
462 bind[reset] = Mod4+q # combinación Tecla de Windows + q reinicia
463 bind[] = Mod1+q # des-hace la combinación Alt + q
464 .Ed
465 .Pp
466 Multiples combinaciones de teclas pueden hacer lo mismo.
467 .Sh QUIRKS
468 .Nm
469 te da "quirks" (o forzados) ventanas que tienen que ser tratas de manera especial,
470 como por ejemplo, popups, aplicaciones de pantalla completa, etc.
471 .Pp
472 Los "quirks" (o forzados) por defecto son:
473 .Pp
474 .Bl -tag -width "OpenOffice.org N.M:VCLSalFrame<TAB>XXX" -offset indent -compact
475 .It Firefox\-bin:firefox\-bin
476 TRANSSZ
477 .It Firefox:Dialog
478 FLOAT
479 .It Gimp:gimp
480 FLOAT + ANYWHERE
481 .It MPlayer:xv
482 FLOAT + FULLSCREEN
483 .It OpenOffice.org 2.4:VCLSalFrame
484 FLOAT
485 .It OpenOffice.org 3.1:VCLSalFrame
486 FLOAT
487 .It pcb:pcb
488 FLOAT
489 .It xine:Xine Window
490 FLOAT + ANYWHERE
491 .It xine:xine Panel
492 FLOAT + ANYWHERE
493 .It xine:xine Video Fullscreen Window
494 FULLSCREEN + FLOAT
495 .It Xitk:Xitk Combo
496 FLOAT + ANYWHERE
497 .It Xitk:Xine Window
498 FLOAT + ANYWHERE
499 .It XTerm:xterm
500 XTERM_FONTADJ
501 .El
502 .Pp
503 Los "quirks" (o forzados) se describen a continuación:
504 .Pp
505 .Bl -tag -width "XTERM_FONTADJ<TAB>XXX" -offset indent -compact
506 .It FLOAT
507 Esta ventana no tiene que ser acomodada, pero le permitimos flotar libremente.
508 .It TRANSSZ
509 Ajusta el tamaño de las ventanas transitorias que son demasiado pequeñas utilizando dialog_ratio
510 (ver
511 .Sx ARCHIVOS DE CONFIGURACIÓN ) .
512 .It ANYWHERE
513 Permite que la ventana se ponga donde quiera.
514 .It XTERM_FONTADJ
515 Ajusta las fuentes de xterm cuando se redimenciona.
516 .It FULLSCREEN
517 Quita el borde para permitir las ventanas en pantalla completa.
518 .El
519 .Pp
520 Las configuraciones de "quirks" (o forzados) en el archivo de configuración se ven a continuación:
521 .Pp
522 .Dl quirk[<clases>:<nombre>] = <quirk> [ + <quirk> ... ]
523 .Pp
524 .Aq clases
525 y
526 .Aq nombre
527 especifica la ventana en la cual el "quirk(s)" (o forzados) se aplica, y
528 .Aq quirk
529 es uno de los "quirks" (o forzados) de la lista.
530 Por ejemplo:
531 .Bd -literal -offset indent
532 quirk[MPlayer:xv] = FLOAT + FULLSCREEN # dejamos que mplayer funcione libremente
533 quirk[pcb:pcb] = NONE  # borramos el quirk existente
534 .Ed
535 .Pp
536 Podes obtener
537 .Aq clases
538 y
539 .Aq nombre
540 corriendo el programa xprop(1) y luego clickear en la ventana que quieras.
541 En el proximo ejemplo, podremos verlo en acción con una ventana de Firefox:
542 .Bd -literal -offset indent
543 $ xprop | grep WM_CLASS
544 WM_CLASS(STRING) = "Navigator", "Firefox"
545 .Ed
546 .Sh ARCHIVOS
547 .Bl -tag -width "/etc/scrotwm.confXXX" -compact
548 .It Pa ~/.scrotwm.conf
549 .Nm
550 archivo de configuración especifico del usuario.
551 .It Pa /etc/scrotwm.conf
552 .Nm
553 configuraciones globales.
554 .El
555 .Sh HISTORIA
556 .Nm
557 fue inspirado en xmonad y dwm.
558 .Sh AUTORES
559 .An -nosplit
560 .Pp
561 .Nm
562 fue escrito por
563 .An Marco Peereboom Aq marco@peereboom.us ,
564 .An Ryan Thomas McBride Aq mcbride@countersiege.com
565 and
566 .An Darrin Chandler Aq dwchandler@stilyagin.com .
567 .Sh BUGS
568 Actualmente el menu, se llama con
569 .Cm M-p ,
570 depende de dmenu.