SCROTWM(1)

NOMBRE
scrotwm - es un manejador de ventanas para X11

SYNOPSIS
scrotwm

DESCRIPCIÓN
scrotwm es un manejador de ventanas super minimalista para X11. Intenta no superponer las ventanas para que las mismas puedan usarse de manera eficiente y para cosas mas importantes. Tiene configuraciones normales y no requiere que sepas un lenguaje de programacion para configurarlo. Esta escrito por hackers para hackers y apunta a ser pequeño, compacto y rápido.

Cuando scrotwm inicia, lo primero que hace es leer el archivo de configuracion, scrotwm.conf. Ver ARCHIVOS DE CONFIGURACIÓN

La siguiente anotacion se usa a través de esta pagina:

M   Meta
S   Shift
<Name>
    Nombre de tecla
M1  Boton 1 del mouse
M3  Boton 3 del mouse

scrotwm es muy simple de usar. La mayoria de las acciones se hacen con los mapeos (bindings) de mouse o teclado. Ver la sección de BINDINGS para las personalizaciones y configuraciones por defecto.

ARCHIVOS DE CONFIGURACIÓN
scrotwm primero trata de abrir el archivo por defecto en el directorio del usuario, ~/.scrotwm.conf. Si ese archivo no esta disponible, luego trata de abrir el archivo global de configuracion /etc/scrotwm.conf.

El formato del archivo es tecla = configuracion. Por ejemplo:

    color_focus = red

Habilitamos o deshabilitamos la opción usando 1 o 0 respectivamente.

El archivo soporta las siguientes palabras clave:

color_focus
    Color del borde de la ventana en foco.
color_unfocus
    Color del borde de la ventana fuera de foco.
bar_enabled
    Habilitar o deshabilitar la barra de estado.
bar_border[x]
    Color del borde de la barra de estado en pantalla. x.
bar_color[x]
    Color de la ventana de la barra de estado en pantalla. x.
bar_font_color[x]
    Color de la fuente en la barra de estado en pantalla. x.
bar_font
    Fuente de la barra de estado.
bar_action
    Scripts externos con populares agregados de información para la barra de estado, como la vida de la bateria.
bar_delay
    Frecuencia de actualización, en segundos, de los scripts de la barra de estado.
bar_at_bottom
    Puedes posicionar la statusbar en la parte inferior de la pantalla.
stack_enabled
    Habilitar o deshabilitar mostrar el algoritmo de apilamiento en la barra de estado.
clock_enabled
    Habilitar o deshabilitar el reloj en la barra de estado, deshabilitado por defecto con un 0, para usar el reloj de la barra de estado (bar_action)
dialog_ratio
    Algunas aplicaciones tienen ventanas de dialogo muy pequeñas como para ser usables. Este relación (ratio) es el tamaño de la pantalla, por ejemplo 0.6 es 60% del tamaño físico de la pantalla.
region
    Acomodar una region personalizada, removiendo cualquier autodeteción de regiones que ocupe el espacio en la pantalla. Definiendo el formato screen[<idx>]:WIDTHxHEIGHT+X+Y, e.g. screen[1]:800x1200+0+0.
term_width
    Setear un ancho minimo preferido para la terminal. Si el valor es mayor que 0, scrotwm intentará ajustar el tamaño de la fuente de la terminal para mantener el ancho de la terminal por encima de este número cuando la ventana cambia de tamaño. Actualmente solo es soportado por xterm(1) El binario de xterm(1) no debe ser un setuid o setgid, que no sea el que viene por defecto en la mayoria de los sistemas. Los usuarios pueden necesitar setear program[term] (ver la sección PROGRAMAS ) para usar una copia alternativa del binario de xterm(1) sin el seteo del setgid.
title_class_enabled
    Habilitar o deshabilitar la clase de ventana en la barre de estado. Habilitado seteando 1
title_name_enabled
    Habilitar o deshabilita el titulo de la ventana en la barra de estado. Habilitado seteando 1
window_name_enabled
    Habilitar o deshabilita el nombre de la ventana en la barra de estado. Habilitado seteando 1
modkey
    Cambiar mod key. Mod1 generalmente es la tecla ALT y Mod4 la tecla de windows en una PC.
focus_mode
    Usando el valor de follow_cursor puedes hacer que el manejador de ventanas se enfoque en la ventana cuando el cursor pase por arriba de las mismas o bien cambiando de estacion de trabajo.
disable_border
    Remueve el borde de una sola ventana cuando la barra de estado esta desactivada.
program[p]
    Definir una nueva accion para ejecutar un programa. p. Ver la sección de PROGRAMAS
bind[x]
    Combinación de teclas para una acción x. Ver la sección BINDINGS
quirk[c:n]
    Agregar un "quirk" (o forzados) para ventanas con clase c y nombre n. Ver la sección QUIRKS

Los colores deben ser especificados por la especificación XQueryColor(3) y las fuentes por la especificación XQueryFont(3)

PROGRAMAS
scrotwm te permite definir acciones personales para lanzar los programas que quieras y luego obligar a la misma con una función de acciones. Ver la sección BINDINGS

Los programas por defecto se describen acá:

term
    xterm
screenshot_all
    screenshot.sh completo
screenshot_wind
    screenshot.sh por ventana
lock
    xlock
initscr
    initscreen.sh
menu
    dmenu_run -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_border -sf $bar_color

Los programas en la configuración personal, se especifican aca:

    program[<nombre>] = <progpath> [<arg> [... <arg>]]

<nombre> es un identificador, no genera conflictos con ninguna accion o palabra clave, <progpath> es la ruta al programa, y <arg> es ninguno o mas de un argumento para el programa.

Las siguientes variables de configuracion en scrotwm (ver ARCHIVOS DE CONFIGURACIÓN ), y pueden ser usadas en los campos de <arg> como asi tambien sustituidas por valores al momento del inicio de un programa:

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

Ejemplo:

    program[ff] = /usr/local/bin/firefox http://scrotwm.com.ar/
    bind[ff] = Mod+f # Ahora Mod+F inicia firefox

Para deshacer lo anterior:

    bind[] = Mod+f
    program[ff] =

SIGNALS
Enviando scrotwm una se?al de HUP reinicia scrotwm.

BINDINGS
scrotwm provee muchas funciones (o acciones) accesibles por medio de la asignación (bindings) de teclas o el mouse.

Las corrientes asignaciones (bindings) del mouse son:

M1  Enfoco una ventana
M-M1
    Muevo una ventana
M-M3
    Redimenciono una ventana
M-S-M3
    Redimenciono una ventana hasta que quede centrada

Las corrientes asignaciones (bindings) de teclas son:

M-S-<Return>
    term
M-p menu
M-S-q
    quit
M-q restart scrotwm
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

El nombre de las acciónes descripta a continuación:

term
    Ejecutar una terminal (ver PROGRAMAS )
menu
    Menu (ver PROGRAMAS )
quit
    Salir scrotwm
restart
    Reiniciar scrotwm
cycle_layout
    Disposición de las ventanas
reset_layout
    Reiniciar la disposición de las ventanas
master_shrink
    Achicar la region principal
master_grow
    Agrandar la region principal
master_add
    Agregar una ventana a la region principal
master_del
    Quitar una ventana de la region principal
stack_inc
    Agregar columnas/filas a las pilas
stack_del
    Quitar columnas/filas de las pilas
swap_main
    Mover la ventana corriente a la region principal
focus_next
    Enfocar la proxima ventana en la estación de trabajo
focus_prev
    Enfocar la anterior ventana en la estación de trabajo
focus_main
    Enfocar en la ventana principal de la estación de trabajo
swap_next
    Ejecutar con la siguiente ventana en la estación de trabajo
swap_prev
    Ejecutar con la anterior ventana en la estación de trabajo
bar_toggle
    Cambiar la barra de estado en todas las estaciones de trabajo
wind_del
    Borrar la ventana corriente en la estación de trabajo
wind_kill
    Destruir la ventana corriente en la estación de trabajo
ws_n
    Cambiar entre estaciones de trabajo n, donde n es 1 por 10
mvws_n
    Mover la ventana corriente a una estación de trabajo n, donde n es 1 por 10
ws_next
    Cambiar a la proxima estación de trabajo con una ventana en ella
ws_prev
    Cambiar a la anterior estación de trabajo con una ventana en ella
screen_next
    Mover el puntero a la proxima region
screen_prev
    Mover el puntero a la anterior region
screenshot_all
    Tomar una captura de pantalla de todo la pantalla (si esta habilitado) (ver PROGRAMAS )
screenshot_wind
    Tomar una captura de pantalla de la ventana seleccionada (si esta habilitado) (ver PROGRAMAS )
version
    Mostrar la version en la barra de estado
float_toggle
    Mostar la ventana en foco entre las flotantes y acomodadas
lock
    Bloquear pantalla (ver PROGRAMAS )
initscr
    Reiniciar la pantalla (ver PROGRAMAS )

Personalizar mapeos (bindings) en el archivo de configuración:

    bind[<accion>] = <teclas>

<accion> una de las acciones listadas (o ninguna) y <teclas> una o mas teclas modificadas (puede ser ninguna tambien) (MOD, Mod1, Shift, etc.) y una o mas teclas normales (b, barra espaciadora, etc.), separadas por un "+". Por ejemplo:

    bind[reset] = Mod4+q # combinación Tecla de Windows + q reinicia
    bind[] = Mod1+q # des-hace la combinación Alt + q

Multiples combinaciones de teclas pueden hacer lo mismo.

QUIRKS
scrotwm te da "quirks" (o forzados) ventanas que tienen que ser tratas de manera especial, como por ejemplo, popups, aplicaciones de pantalla completa, etc.

Los "quirks" (o forzados) por defecto son:

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

Los "quirks" (o forzados) se describen a continuación:

FLOAT
    Esta ventana no tiene que ser acomodada, pero le permitimos flotar libremente.
TRANSSZ
    Ajusta el tamaño de las ventanas transitorias que son demasiado pequeñas utilizando dialog_ratio (ver ARCHIVOS DE CONFIGURACIÓN).
ANYWHERE
    Permite que la ventana se ponga donde quiera.
XTERM_FONTADJ
    Ajusta las fuentes de xterm cuando se redimenciona.
FULLSCREEN
    Quita el borde para permitir las ventanas en pantalla completa.

Las configuraciones de "quirks" (o forzados) en el archivo de configuración se ven a continuación:

    quirk[<clases>:<nombre>] = <quirk> [+ <quirk> ...]

<clases> y <nombre> especifica la ventana en la cual el "quirk(s)" (o forzados) se aplica, y <quirk> es uno de los "quirks" (o forzados) de la lista. Por ejemplo:

    quirk[MPlayer:xv] = FLOAT + FULLSCREEN # dejamos que mplayer funcione libremente
    quirk[pcb:pcb] = NONE  # borramos el quirk existente

Podes obtener <clases> y <nombre> corriendo el programa xprop(1) y luego clickear en la ventana que quieras. En el proximo ejemplo, podremos verlo en acción con una ventana de Firefox:

    $ xprop | grep WM_CLASS
    WM_CLASS(STRING) = "Navigator", "Firefox"

ARCHIVOS
~/.scrotwm.conf
    scrotwm archivo de configuración especifico del usuario.
/etc/scrotwm.conf
    scrotwm configuraciones globales.

HISTORIA
scrotwm fue inspirado en xmonad y dwm.

AUTORES
-nosplit

scrotwm fue escrito por Marco Peereboom <marco@peereboom.us>, Ryan Thomas McBride <mcbride@countersiege.com> and Darrin Chandler <dwchandler@stilyagin.com>.

BUGS
Actualmente el menu, se llama con M-p, depende de dmenu.