JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
Increase workspace hard limit to 22.
[spectrwm.git] / spectrwm_es.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: February 15 2012 $
17 .Dt SPECTRWM 1
18 .Os
19 .Sh NOMBRE
20 .Nm spectrwm
21 .Nd es un manejador de ventanas para X11
22 .Sh SYNOPSIS
23 .Nm spectrwm
24 .Sh DESCRIPCIÓN
25 .Nm
26 es un manejador de ventanas super minimalista para X11. Intenta no superponer
27 las ventanas para que las mismas puedan usarse de manera eficiente y para
28 cosas mas importantes.
29 Tiene configuraciones normales y no requiere que sepas un lenguaje de
30 programacion para configurarlo. Esta escrito por hackers para hackers y apunta
31 a ser pequeño, compacto y rápido.
32 .Pp
33 Cuando
34 .Nm
35 inicia, lo primero que hace es leer el archivo de configuracion,
36 .Pa spectrwm.conf .
37 Ver
38 .Sx ARCHIVOS DE CONFIGURACIÓN
39 .
40 .Pp
41 La siguiente anotacion se usa a través de esta pagina:
42 .Pp
43 .Bl -tag -width Ds -offset indent -compact
44 .It Cm M
45 Meta
46 .It Cm S
47 Shift
48 .It Aq Cm Name
49 Nombre de tecla
50 .It Cm M1
51 Boton 1 del mouse
52 .It Cm M3
53 Boton 3 del mouse
54 .El
55 .Pp
56 .Nm
57 es muy simple de usar.
58 La mayoria de las acciones se hacen con los mapeos (bindings) de mouse
59 o teclado.
60 Ver la sección de
61 .Sx BINDINGS
62 para las personalizaciones y configuraciones por defecto.
63 .Sh ARCHIVOS DE CONFIGURACIÓN
64 .Nm
65 primero trata de abrir el archivo por defecto en el directorio del usuario,
66 .Pa ~/.spectrwm.conf .
67 Si ese archivo no esta disponible,
68 luego trata de abrir el archivo global de configuracion
69 .Pa /etc/spectrwm.conf .
70 .Pp
71 El formato del archivo es \*(Lttecla\*(Gt = \*(Ltconfiguracion\*(Gt.
72 Por ejemplo:
73 .Pp
74 .Dl color_focus = red
75 .Pp
76 Habilitamos o deshabilitamos la opción usando 1 o 0 respectivamente.
77 .Pp
78 El archivo soporta las siguientes palabras clave:
79 .Pp
80 .Bl -tag -width "title_class_enabledXXX" -offset indent -compact
81 .It Cm autorun
82 Inicia una aplicacion en un escritorio en particular al primer inicio.
83 Definido por el formato ws[<idx>]:aplicacion, ej. ws[2]:xterm lanza
84 xterm en el escritorio 2.
85 .It Cm color_focus
86 Color del borde de la ventana en foco.
87 .It Cm color_unfocus
88 Color del borde de la ventana fuera de foco.
89 .It Cm bar_enabled
90 Habilitar o deshabilitar la barra de estado.
91 .It Cm bar_border Ns Bq Ar x
92 Color del borde de la barra de estado en pantalla.
93 .Ar x .
94 .It Cm bar_border_width
95 Setea el grosor de la barra de estado en pixels.
96 Deshabilitado seteando 0.
97 .It Cm bar_color Ns Bq Ar x
98 Color de la ventana de la barra de estado en pantalla.
99 .Ar x .
100 .It Cm bar_font_color Ns Bq Ar x
101 Color de la fuente en la barra de estado en pantalla.
102 .Ar x .
103 .It Cm bar_font
104 Fuente de la barra de estado.
105 .It Cm bar_action
106 Scripts externos con populares agregados de información para la barra
107 de estado, como la vida de la bateria.
108 .It Cm bar_delay
109 Frecuencia de actualización, en segundos, de los scripts de la barra de
110 estado.
111 .It Cm bar_at_bottom
112 Puedes posicionar la statusbar en la parte inferior de la pantalla.
113 .It Cm stack_enabled
114 Habilitar o deshabilitar mostrar el algoritmo de apilamiento en la barra
115 de estado.
116 .It Cm clock_enabled
117 Habilitar o deshabilitar el reloj en la barra de estado, deshabilitado
118 por defecto con un 0, para usar el reloj de la barra de estado
119 (bar_action)
120 .Pa bar_action
121 script.
122 .It Cm dialog_ratio
123 Algunas aplicaciones tienen ventanas de dialogo muy pequeñas como para
124 ser usables. Este relación (ratio) es el tamaño de la pantalla, por
125 ejemplo 0.6 es 60% del tamaño físico de la pantalla.
126 .It Cm layout
127 Selecciona una disposicion para usar en el primer inicio.
128 Definido con el formato
129 ws[idx]:master_grow:master_add:stack_inc:layout:always_raise:stack_mode,
130 ej.
131 ws[2]:-4:0:1:0:horizontal setea el escritorio 2 en horizontal, el stack
132 principal y reduce 4 puntos agregando una ventana al stack, mientras
133 mantiene el comportamiento de ventanas flotantes.
134 Modos posible de stack_mode
135 .Pa vertical ,
136 .Pa horizontal
137 and
138 .Pa fullscreen .
139 .Pp
140 Ver
141 .Pa master_grow ,
142 .Pa master_shrink ,
143 .Pa master_add ,
144 .Pa master_del ,
145 .Pa stack_inc ,
146 .Pa stack_del ,
147 y
148 .Pa always_raise
149 para mas informacion.
150 Tenga en cuenta que las opciones de stack son complicados y tienen
151 efectos secundarios.
152 Uno debe familiarizarse con estos comandos antes de experimentar con la
153 opcion
154 .Pa layout
155 .Pp
156 Esta opcion no necesita un reinicio.
157 .It Cm region
158 Acomodar una region personalizada, removiendo cualquier autodeteción de
159 regiones que ocupe el espacio en la pantalla.
160 Definiendo el formato screen[<idx>]:WIDTHxHEIGHT+X+Y,
161 e.g.\& screen[1]:800x1200+0+0.
162 .It Cm term_width
163 Setear un ancho minimo preferido para la terminal.
164 Si el valor es mayor que 0,
165 .Nm
166 intentará ajustar el tamaño de la fuente de la terminal para mantener
167 el ancho de la terminal por encima de este número cuando la ventana
168 cambia de tamaño.
169 Actualmente solo es soportado por
170 .Xr xterm 1
171 El binario de
172 .Xr xterm 1
173 no debe ser un setuid o setgid, que no sea el que viene por defecto en
174 la mayoria de los sistemas.
175 Los usuarios pueden necesitar setear program[term] (ver la sección
176 .Sx PROGRAMAS
177 ) para usar una copia alternativa del binario de
178 .Xr xterm 1
179 sin el seteo del setgid.
180 .It Cm title_class_enabled
181 Habilitar o deshabilitar la clase de ventana en la barre de estado.
182 Habilitado seteando 1
183 .It Cm title_name_enabled
184 Habilitar o deshabilita el titulo de la ventana en la barra de estado.
185 Habilitado seteando 1
186 .It Cm urgent_enabled
187 Habilitar o deshabilitar el aviso de urgencia.
188 Tenga en cuenta que muchos emuladores de terminal requieren de este
189 parametro habilitado para que funcione.
190 En xterm, por ejemplo, hay que agregar la siguiente linea
191 .Pa xterm.urgentOnBell: true
192 to
193 .Pa .Xdefaults .
194 .It Cm window_name_enabled
195 Habilitar o deshabilita el nombre de la ventana en la barra de estado.
196 Habilitado seteando 1
197 .It Cm verbose_layout
198 Habilitar o deshabilita la notificacion del area principal y el
199 stack en la barra de estado.
200 Habilitado seteandolo a 1.
201 .It Cm modkey
202 Cambiar mod key.
203 Mod1 generalmente es la tecla ALT y Mod4 la tecla de windows en una PC.
204 .It Cm focus_mode
205 Usando el valor de
206 .Pa follow_cursor
207 puedes hacer que el manejador de ventanas
208 se enfoque en la ventana cuando el cursor pase por arriba de las mismas o
209 bien cambiando de estacion de trabajo.
210 .It Cm disable_border
211 Remueve el borde de una sola ventana cuando la barra de estado esta desactivada.
212 .It Cm border_width
213 Setea el grosor del borde de la ventana en pixels.
214 Deshabilitar todos los bordes seteandolo a 0.
215 .It Cm program Ns Bq Ar p
216 Definir una nueva accion para ejecutar un programa.
217 .Ar p .
218 Ver la sección de
219 .Sx PROGRAMAS
220 .It Cm bind Ns Bq Ar x
221 Combinación de teclas para una acción
222 .Ar x .
223 Ver la sección
224 .Sx BINDINGS
225 .It Cm quirk Ns Bq Ar c:n
226 Agregar un "quirk" (o forzados) para ventanas con clase
227 .Ar c
228 y nombre
229 .Ar n .
230 Ver la sección
231 .Sx QUIRKS
232 .El
233 .Pp
234 Los colores deben ser especificados por la especificación
235 .Xr XQueryColor 3
236 y las fuentes por la especificación
237 .Xr XQueryFont 3
238 .Sh PROGRAMAS
239 .Nm
240 te permite definir acciones personales para lanzar los programas que
241 quieras y luego obligar a la misma con una función de acciones.
242 Ver la sección
243 .Sx BINDINGS
244 .Pp
245 Los programas por defecto se describen acá:
246 .Pp
247 .Bl -tag -width "screenshot_wind" -offset indent -compact
248 .It Cm term
249 xterm
250 .It Cm screenshot_all
251 screenshot.sh completo
252 .It Cm screenshot_wind
253 screenshot.sh por ventana
254 .It Cm lock
255 xlock
256 .It Cm initscr
257 initscreen.sh
258 .It Cm menu
259 dmenu_run \-fn $bar_font \-nb $bar_color \-nf $bar_font_color \-sb $bar_border \-sf $bar_color
260 .El
261 .Pp
262 Los programas en la configuración personal, se especifican aca:
263 .Pp
264 .Dl program[<nombre>] = <progpath> [<arg> [... <arg>]]
265 .Pp
266 .Aq nombre
267 es un identificador, no genera conflictos con ninguna accion o palabra
268 clave,
269 .Aq progpath
270 es la ruta al programa, y
271 .Aq arg
272 es ninguno o mas de un argumento para el programa.
273 .Pp
274 Las siguientes variables de configuracion en
275 .Nm
276 (ver
277 .Sx ARCHIVOS DE CONFIGURACIÓN
278 ),
279 y pueden ser usadas en los campos de
280 .Aq arg
281 como asi tambien sustituidas por valores al momento del inicio de un
282 programa:
283 .Pp
284 .Bl -tag -width "$bar_font_color" -offset indent -compact
285 .It Cm $bar_border
286 .It Cm $bar_color
287 .It Cm $bar_font
288 .It Cm $bar_font_color
289 .It Cm $color_focus
290 .It Cm $color_unfocus
291 .El
292 .Pp
293 Ejemplo:
294 .Bd -literal -offset indent
295 program[ff] = /usr/local/bin/firefox http://spectrwm.com.ar/
296 bind[ff] = Mod+f # Ahora Mod+F inicia firefox
297 .Ed
298 .Pp
299 Para deshacer lo anterior:
300 .Bd -literal -offset indent
301 bind[] = Mod+f
302 program[ff] =
303 .Ed
304 .Sh BINDINGS
305 .Nm
306 provee muchas funciones (o acciones) accesibles por medio de la
307 asignación (bindings) de teclas o el mouse.
308 .Pp
309 Las corrientes asignaciones (bindings) del mouse son:
310 .Pp
311 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
312 .It Cm M1
313 Enfoco una ventana
314 .It Cm M-M1
315 Muevo una ventana
316 .It Cm M-M3
317 Redimenciono una ventana
318 .It Cm M-S-M3
319 Redimenciono una ventana hasta que quede centrada
320 .El
321 .Pp
322 Las corrientes asignaciones (bindings) de teclas son:
323 .Pp
324 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
325 .It Cm M-S- Ns Aq Cm Return
326 term
327 .It Cm M-p
328 menu
329 .It Cm M-S-q
330 quit
331 .It Cm M-q
332 restart
333 .Nm
334 .It Cm M- Ns Aq Cm Space
335 cycle_layout
336 .It Cm M-S- Ns Aq Cm Space
337 reset_layout
338 .It Cm M-h
339 master_shrink
340 .It Cm M-l
341 master_grow
342 .It Cm M-,
343 master_add
344 .It Cm M-.
345 master_del
346 .It Cm M-S-,
347 stack_inc
348 .It Cm M-S-.
349 stack_del
350 .It Cm M- Ns Aq Cm Return
351 swap_main
352 .It Xo
353 .Cm M-j ,
354 .Cm M- Ns Aq Cm TAB
355 .Xc
356 focus_next
357 .It Xo
358 .Cm M-k ,
359 .Cm M-S- Ns Aq Cm TAB
360 .Xc
361 focus_prev
362 .It Cm M-m
363 focus_main
364 .It Cm M-S-j
365 swap_next
366 .It Cm M-S-k
367 swap_prev
368 .It Cm M-b
369 bar_toggle
370 .It Cm M-x
371 wind_del
372 .It Cm M-S-x
373 wind_kill
374 .It Cm M- Ns Aq Ar n
375 .Pf ws_ Ns Ar n
376 .It Cm M-S- Ns Aq Ar n
377 .Pf mvws_ Ns Ar n
378 .It Cm M- Ns Aq Cm Right
379 ws_next
380 .It Cm M- Ns Aq Cm Left
381 ws_prev
382 .It Cm M-a
383 ws_prior
384 .It Cm M-S- Ns Aq Cm Right
385 screen_next
386 .It Cm M-S- Ns Aq Cm Left
387 screen_prev
388 .It Cm M-s
389 screenshot_all
390 .It Cm M-S-s
391 screenshot_wind
392 .It Cm M-S-v
393 version
394 .It Cm M-t
395 float_toggle
396 .It Cm M-S Aq Cm Delete
397 lock
398 .It Cm M-S-i
399 initscr
400 .It Cm M-w
401 iconify
402 .It Cm M-S-w
403 uniconify
404 .It Cm M-S-r
405 always_raise
406 .It Cm M-v
407 button2
408 .It Cm M--
409 width_shrink
410 .It Cm M-=
411 width_grow
412 .It Cm M-S-
413 height_shrink
414 .It Cm M-S-=
415 height_grow
416 .It Cm M-[
417 move_left
418 .It Cm M-]
419 move_right
420 .It Cm M-S-[
421 move_up
422 .It Cm M-S-]
423 move_down
424 .El
425 .Pp
426 El nombre de las acciónes descripta a continuación:
427 .Pp
428 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
429 .It Cm term
430 Ejecutar una terminal
431 (ver
432 .Sx PROGRAMAS
433 )
434 .It Cm menu
435 Menu
436 (ver
437 .Sx PROGRAMAS
438 )
439 .It Cm quit
440 Salir
441 .Nm
442 .It Cm restart
443 Reiniciar
444 .Nm
445 .It Cm cycle_layout
446 Disposición de las ventanas
447 .It Cm reset_layout
448 Reiniciar la disposición de las ventanas
449 .It Cm master_shrink
450 Achicar la region principal
451 .It Cm master_grow
452 Agrandar la region principal
453 .It Cm master_add
454 Agregar una ventana a la region principal
455 .It Cm master_del
456 Quitar una ventana de la region principal
457 .It Cm stack_inc
458 Agregar columnas/filas a las pilas
459 .It Cm stack_del
460 Quitar columnas/filas de las pilas
461 .It Cm swap_main
462 Mover la ventana corriente a la region principal
463 .It Cm focus_next
464 Enfocar la proxima ventana en la estación de trabajo
465 .It Cm focus_prev
466 Enfocar la anterior ventana en la estación de trabajo
467 .It Cm focus_main
468 Enfocar en la ventana principal de la estación de trabajo
469 .It Cm swap_next
470 Ejecutar con la siguiente ventana en la estación de trabajo
471 .It Cm swap_prev
472 Ejecutar con la anterior ventana en la estación de trabajo
473 .It Cm bar_toggle
474 Cambiar la barra de estado en todas las estaciones de trabajo
475 .It Cm wind_del
476 Borrar la ventana corriente en la estación de trabajo
477 .It Cm wind_kill
478 Destruir la ventana corriente en la estación de trabajo
479 .It Cm ws_ Ns Ar n
480 Cambiar entre estaciones de trabajo
481 .Ar n ,
482 donde
483 .Ar n
484 es 1 por 10
485 .It Cm mvws_ Ns Ar n
486 Mover la ventana corriente a una estación de trabajo
487 .Ar n ,
488 donde
489 .Ar n
490 es 1 por 10
491 .It Cm ws_next
492 Cambiar a la proxima estación de trabajo con una ventana en ella
493 .It Cm ws_prev
494 Cambiar a la anterior estación de trabajo con una ventana en ella
495 .It Cm screen_next
496 Mover el puntero a la proxima region
497 .It Cm screen_prev
498 Mover el puntero a la anterior region
499 .It Cm screenshot_all
500 Tomar una captura de pantalla de todo la pantalla (si esta habilitado)
501 (ver
502 .Sx PROGRAMAS
503 )
504 .It Cm screenshot_wind
505 Tomar una captura de pantalla de la ventana seleccionada (si esta habilitado)
506 (ver
507 .Sx PROGRAMAS
508 )
509 .It Cm version
510 Mostrar la version en la barra de estado
511 .It Cm float_toggle
512 Mostar la ventana en foco entre las flotantes y acomodadas
513 .It Cm lock
514 Bloquear pantalla
515 (ver
516 .Sx PROGRAMAS
517 )
518 .It Cm initscr
519 Reiniciar la pantalla
520 (ver
521 .Sx PROGRAMAS
522 )
523 .It Cm iconify
524 Minimiza (unmap) la ventana en foco.
525 .It Cm uniconify
526 Maximiza (map) la ventana seleccionada por dmenu.
527 .It Cm always_raise
528 Cuando se establece las ventanas en cascada se esconden las
529 ventanas flotantes.
530 .It Cm button2
531 Falsifica el boton del medio del mouse.
532 .It Cm width_shrink
533 Reducir el ancho de una ventana flotante.
534 .It Cm width_grow
535 Agranda el ancho de una ventana flotante.
536 .It Cm height_shrink
537 Reducir la altura de una ventana flotante.
538 .It Cm height_grow
539 Agranda la altura de una ventana flotante.
540 .It Cm move_left
541 Mueve la ventana flotante un paso a la izquierda.
542 .It Cm move_right
543 Mueve la ventana flotante un paso a la derecha.
544 .It Cm move_up
545 Mueve la ventana flotante un paso arriba.
546 .It Cm move_down
547 Mueve la ventana flotante un paso abajo.
548 .El
549 .Pp
550 Personalizar mapeos (bindings) en el archivo de configuración:
551 .Pp
552 .Dl bind[<accion>] = <teclas>
553 .Pp
554 .Aq accion
555 una de las acciones listadas (o ninguna) y
556 .Aq teclas
557 una o mas teclas modificadas (puede ser ninguna tambien)
558 (MOD, Mod1, Shift, etc.) y una o mas teclas normales
559 (b, barra espaciadora, etc.), separadas por un "+".
560 Por ejemplo:
561 .Bd -literal -offset indent
562 bind[reset] = Mod4+q # combinación Tecla de Windows + q reinicia
563 bind[] = Mod1+q # des-hace la combinación Alt + q
564 .Ed
565 .Pp
566 Multiples combinaciones de teclas pueden hacer lo mismo.
567 .Sh QUIRKS
568 .Nm
569 te da "quirks" (o forzados) ventanas que tienen que ser tratas de manera especial,
570 como por ejemplo, popups, aplicaciones de pantalla completa, etc.
571 .Pp
572 Los "quirks" (o forzados) por defecto son:
573 .Pp
574 .Bl -tag -width "OpenOffice.org N.M:VCLSalFrame<TAB>XXX" -offset indent -compact
575 .It Firefox\-bin:firefox\-bin
576 TRANSSZ
577 .It Firefox:Dialog
578 FLOAT
579 .It Gimp:gimp
580 FLOAT + ANYWHERE
581 .It MPlayer:xv
582 FLOAT + FULLSCREEN
583 .It OpenOffice.org 2.4:VCLSalFrame
584 FLOAT
585 .It OpenOffice.org 3.1:VCLSalFrame
586 FLOAT
587 .It pcb:pcb
588 FLOAT
589 .It xine:Xine Window
590 FLOAT + ANYWHERE
591 .It xine:xine Panel
592 FLOAT + ANYWHERE
593 .It xine:xine Video Fullscreen Window
594 FULLSCREEN + FLOAT
595 .It Xitk:Xitk Combo
596 FLOAT + ANYWHERE
597 .It Xitk:Xine Window
598 FLOAT + ANYWHERE
599 .It XTerm:xterm
600 XTERM_FONTADJ
601 .El
602 .Pp
603 Los "quirks" (o forzados) se describen a continuación:
604 .Pp
605 .Bl -tag -width "XTERM_FONTADJ<TAB>XXX" -offset indent -compact
606 .It FLOAT
607 Esta ventana no tiene que ser acomodada, pero le permitimos flotar libremente.
608 .It TRANSSZ
609 Ajusta el tamaño de las ventanas transitorias que son demasiado pequeñas utilizando dialog_ratio
610 (ver
611 .Sx ARCHIVOS DE CONFIGURACIÓN ) .
612 .It ANYWHERE
613 Permite que la ventana se ponga donde quiera.
614 .It XTERM_FONTADJ
615 Ajusta las fuentes de xterm cuando se redimenciona.
616 .It FULLSCREEN
617 Quita el borde para permitir las ventanas en pantalla completa.
618 .It FOCUSPREV
619 El enfoque de salida fuerza la solicitud de aplicacisn que
620 anteriormente se centraba en la aplicacion anterior del stack.
621 .El
622 .Pp
623 Las configuraciones de "quirks" (o forzados) en el archivo de configuración se ven a continuación:
624 .Pp
625 .Dl quirk[<clases>:<nombre>] = <quirk> [ + <quirk> ... ]
626 .Pp
627 .Aq clases
628 y
629 .Aq nombre
630 especifica la ventana en la cual el "quirk(s)" (o forzados) se aplica, y
631 .Aq quirk
632 es uno de los "quirks" (o forzados) de la lista.
633 Por ejemplo:
634 .Bd -literal -offset indent
635 quirk[MPlayer:xv] = FLOAT + FULLSCREEN # dejamos que mplayer funcione libremente
636 quirk[pcb:pcb] = NONE  # borramos el quirk existente
637 .Ed
638 .Pp
639 Podes obtener
640 .Aq clases
641 y
642 .Aq nombre
643 corriendo el programa xprop(1) y luego clickear en la ventana que quieras.
644 En el proximo ejemplo, podremos verlo en acción con una ventana de Firefox:
645 .Bd -literal -offset indent
646 $ xprop | grep WM_CLASS
647 WM_CLASS(STRING) = "Navigator", "Firefox"
648 .Ed
649 .Sh EWMH
650 .Nm
651 parcialmente implementa los Consejos de ventana extendido Manager (EWMH) especificacion.
652 Esto permite el control de las ventanas, asi como
653 .Nm
654 si a partir de scripts y programas externos. Esto se logra mediante
655 .Nm
656 responder a ciertos eventos ClientMessage. Desde la terminal de estos eventos
657 se puede enviar facilmente el uso de herramientas tales como
658 .Xr wmctrl 1
659 y
660 .Xr xdotool 1 .
661 para el
662 formato real de estos eventos ClientMessage, consulte la especificacion EWMH.
663 .Pp
664 La Identificacion de la ventana actualmente enfocada se almacena en el _NET_ACTIVE_WINDOW
665 propiedad de la ventana raiz. Esto puede ser usado por ejemplo para recuperar el
666 titulo de la ventana activa con
667 .Xr xprop 1
668 y
669 .Xr grep 1 :
670 .Bd -literal -offset indent
671 $ WINDOWID=`xprop \-root _NET_ACTIVE_WINDOW | grep \-o "0x.*"`
672 $ xprop \-id $WINDOWID WM_NAME | grep \-o "\\".*\\""
673 .Ed
674 .Pp
675 Una ventana se puede enfocar mediante el envio de un mensaje del cliente _NET_ACTIVE_WINDOW
676 a la ventana principal. Por ejemplo, usando
677 .Xr wmctrl 1
678 para enviar el mensaje
679 (suponiendo que 0x4a0000b es el ID de la ventana para ser especifico):
680 .Bd -literal -offset indent
681 $ wmctrl \-i \-a 0x4a0000b
682 .Ed
683 .Pp
684 Ventanas se pueden cerrar mediante el envmo de un mensaje del cliente _NET_CLOSE_WINDOW
685 a la ventana principal. Por ejemplo, usando
686 .Xr wmctrl 1
687 para enviar el mensaje
688 (suponiendo que 0x4a0000b es el ID de la ventana se cierre):
689 .Bd -literal -offset indent
690 $ wmctrl \-i \-c 0x4a0000b
691 .Ed
692 .Pp
693 Las ventanas se pueden flotar y flotar sin-mediante la adicion o eliminacion de la
694 _NET_WM_STATE_ABOVE atom desde _NET_WM_STATE la propiedad de la ventana
695 Esto se puede lograr mediante el envio de un mensaje a los clientes _NET_WM_STATE
696 raiz de la ventana. Por ejemplo, el siguiente cambia el estado de la flota.
697 .Xr wmctrl 1
698 para enviar el mensaje (suponiendo que 0x4a0000b es el ID de la ventana flotante
699 o no-flotante):
700 .Bd -literal -offset indent
701 $ wmctrl \-i \-r 0x4a0000b \-b toggle,_NET_WM_STATE_ABOVE
702 .Ed
703 .Pp
704 Ventanas flotantes tambien se puede cambiar el tamano y movido por el envio de un
705 _NET_MOVERESIZE_WINDOW Mensaje del cliente de la ventana raiz. Por ejemplo,
706 uso
707 .Xr wmctrl 1
708 para enviar el mensaje (suponiendo que 0x4a0000b es el ID de
709 la ventana a redimensionar / mover):
710 .Bd -literal -offset indent
711 $ wmctrl \-i \-r 0x4a0000b \-e 0,100,50,640,480
712 .Ed
713 .Pp
714 Esto mueve la ventana de (100,50) y cambia el tamaqo a 640x480.
715 .Pp
716 Todos los eventos _NET_MOVERESIZE_WINDOW recibido por las ventanas apiladas se ignoran.
717 .Sh SIGNALS
718 Enviando
719 .Nm
720 una senal de HUP reinicia spectrwm.
721 .Sh ARCHIVOS
722 .Bl -tag -width "/etc/spectrwm.confXXX" -compact
723 .It Pa ~/.spectrwm.conf
724 .Nm
725 archivo de configuración especifico del usuario.
726 .It Pa /etc/spectrwm.conf
727 .Nm
728 configuraciones globales.
729 .El
730 .Sh HISTORIA
731 .Nm
732 fue inspirado en xmonad y dwm.
733 .Sh AUTORES
734 .An -nosplit
735 .Nm
736 fue escrito por
737 .Pp
738 .Bl -tag -width "Ryan Thomas McBride Aq mcbride@countersiege.com " -offset indent -compact
739 .It Cm Marco Peereboom Aq marco@peereboom.us
740 .It Cm Ryan Thomas McBride Aq mcbride@countersiege.com
741 .It Cm Darrin Chandler Aq dwchandler@stilyagin.com
742 .It Cm Pierre-Yves Ritschard Aq pyr@spootnik.org
743 .It Cm Tuukka Kataja Aq stuge@xor.fi
744 .It Cm Jason L. Wright Aq jason@thought.net
745 .It Cm Reginald Kennedy Aq rk@rejii.com
746 .It Cm Lawrence Teo Aq lteo@lteo.net
747 .It Cm Tiago Cunha Aq tcunha@gmx.com
748 .El