Skip to content

Configuration wmfsrc es

arpinux edited this page May 3, 2012 · 5 revisions

configuración de WMFS²

usted puede configurar WMFS² editando su archivo de configuración principal: $XDG_CONFIG_HOME/wmfs/wmfsrc. en la primera instalación de wmfs, usted tiene que copiar el archivo wmfsrc por defecto en su directorio de configuración (~/.config/wmfs/) desde el archivo de origen (/usr/local/etc/xdg/wmfs/wmfsrc). también puede tomar la ultima versión del git repo .
para modificar su configuración , usted solo tiene que editar este archivo y recargar wmfs.
esta pagina detalla el archivo wmfsrc por sección. para una completa lista de funciones uicb, visite la pagina dedicada .

include

wmfsrc soporta “@include” para dividir el archivo de configuración.
ej:

# Posible archivo include:
@include ~/.config/wmfs/wmfs_themes
@include ~/.config/wmfs/wmfs_rules

[themes]

wmfs² soporta la creación de tema(s).

# Sección multi tema
[themes]

  [theme]
     # No name mean default
     # name = "default"

     font = "fixed"
     # Bars
     bars_width = 14
     bars_fg = "#AABBAA"
     bars_bg = "#223322"

     # Element tags
     tags_normal_fg = "#AABBAA"
     tags_normal_bg = "#223322"
     # tags_normal_statusline = ""
     tags_sel_fg    = "#223322"
     tags_sel_bg    = "#AABBAA"
     # tags_sel_statusline = ""
     tags_occupied_fg = "#AABBAA"
     tags_occupied_bg = "#445544"
     tags_occupied_statusline = "\R[0;0;3;3;#AABBAA]"
     tags_urgent_fg    = "#223322"
     tags_urgent_bg    = "#CC5544"
     # tags_urgent_statusline = ""
     tags_border_color = "#112211"
     tags_border_width = 1

     # Frame / Client
     client_normal_fg = "#AABBAA"
     client_normal_bg = "#223322"
     client_normal_statusline = "\s[3;9;#121212;x] \s[2;8;#ff0000;x](1;client_close)"
     client_sel_fg = "#223322"
     client_sel_bg = "#AABBAA"
     client_sel_statusline = "\s[3;9;#121212;x] \s[2;8;#ff0000;x](1;client_close)"
     # client_free_statusline = ""
     frame_bg = "#555555"
     client_titlebar_width = 12
     client_border_width = 1
   [/theme]

[/themes]
  • name nombre del tema: sera usado en las siguientes secciones.
  • font fuente del tema, en el formato XLFD (X Logical Font Description). ej:"-*-terminus-medium-*-*-*-12-*-*-*-*-*-*-*"
  • bars
    bars_width altura en pixeles de la barra.
    bars_fg color del texto de la barra de estado.
    bars_bg color de la barra de texto.
  • tags
    tags_normal_fg color del texto del tag normal.
    tags_normal_bg color del botón del tag normal.
    tags_normal_statusline linea de estado del tag normal
    tags_sel_fg color del texto del tag seleccionado.
    tags_sel_bg color del botón del tag seleccionado.
    tags_sel_statusline linea de estado del tag seleccionado.
    tags_occupied_fg color del texto del tag ocupado.
    tags_occupied_bg color del botón del tag ocupado.
    tags_occupied_statusline linea de estado del tag ocupado.
    tags_urgent_fg color del texto del tag urgente.
    tags_urgent_bg color del botón del tag urgente.
    tags_urgent_statusline linea de estado del tag urgente.
    tags_border_color color del borde de los botones de los tags.
    tags_border_width ancho del borde de los botones de los tags.
  • clients
    client_normal_fg color del texto de la barra de titulo del cliente normal.
    client_normal_bg color de la barra de titulo del cliente normal.
    client_normal_statusline linea de estado del cliente normal.
    client_sel_fg color del texto de la barra de titulo del cliente seleccionado.
    client_sel_bg color de la barra de titulo del cliente seleccionado.
    client_sel_statusline linea de estado del cliente seleccionado.
    client_free_statusline linea de estado del cliente free.
    frame_bg color del cliente.
    client_titlebar_width altura de la barra de título del ciente en pixeles.
    client_border_width anchura del borde del cliente en pixeles.

[bars]

wmfs² puede manejar multiples barras de estado si necesita. cada barra soporta temas y configuraciones.

[bars]

  # Position:
  #
  # 0  Top
  # 1  Bottom
  # 2  Hide

  # Element type:
  #
  # t  Tags
  # s  Statustext (will take available space)
  # y  Systray (can be set only ONE time among all element)
  # l  Launcher (will be expended at launcher use)

  [bar]
     position = 0
     screen = 0
     elements = "tlsy"   # element order in bar
     theme = "default"
  [/bar]

# [bar]
#    position = 0
#    screen = 1
#    elements = "ts"
#    theme = "default"
# [/bar]

[/bars]

position posición de la barra de estado en la pantalla.
screen pantalla para mostrar la barra de estado (inicia en 0) esablezca en -1 para mostrar en cada pantalla.
theme aplica un tema en la barra de estado, debe de existir un nombre para el tema.

tags

[tags]

  # enable/disable tag wrapping navigation
  circular = false

  # Use no screen option or screen = -1 to set tag on each screen
  [tag]
      screen = -1
      name = "1"
      # statusline ""
  [/tag]

  [tag] name = "2" [/tag]
  [tag] name = "3" [/tag]
  [tag] name = "4" [/tag]
  [tag] name = "5" [/tag]
  [tag] name = "6" [/tag]
  [tag] name = "7" [/tag]

  # Mousebinds associated to Tags element button
  [mouse] button = "1" func = "tag_click" [/mouse]
  [mouse] button = "4" func = "tag_next"  [/mouse]
  [mouse] button = "5" func = "tag_prev"  [/mouse]

[/tags]

circular (de)sactivar la navegación circular entre las tags.
screen pantalla para mostrar el tag. use la opcion “no screen” o screen = -1 para establecer el tag en cada pantalla.
name muestra el nombre del tag.
statusline dibuja una linea de estado personalizado en el tag especificado (puede mostrar cualquier secuencia)
mousebinds acciones del puntero en el botón del tag. click izquierdo(botón1) establece el tag, scroll hacia arriba(b4) establece el tag siguiente y scroll abajo(b5) establece el tag anterior.

[client]

[client]

  # padding between clients (default:0)
  padding = 75

  # Give focus to new created client (default = false)
  autofocus = false

  theme = "default"
  key_modifier = "Super"

  # Focus type:
  #  enter : focus follow mouse (default)
  #  click : click to focus
  #  everything-else : disable mouse focus support
  focus = enter

  [mouse] button = "1" func = "client_focus_click"    [/mouse]
  [mouse] button = "1" func = "mouse_swap"            [/mouse]
  [mouse] button = "2" func = "mouse_tab"             [/mouse]
  [mouse] button = "3" func = "mouse_resize"          [/mouse]
  [mouse] button = "4" func = "client_focus_next_tab" [/mouse]
  [mouse] button = "5" func = "client_focus_prev_tab" [/mouse]

[/client]

padding distancia en píxeles entre los clientes.
autofocus da el foco al nuevo cliente (por defecto: false).
theme aplica un tema al cliente por defecto (puede ser sobreescrito en la sección [rules]).
key_modifier tecla modificadora para realizar acciones en los clientes. (Alt, Control, Shift…)
focus selecciona la acción de enfocado del puntero.
mousebinds acciones del puntero sobre el cliente, vea la lista de funciones .

[rules]

reglas específicas para los clientes: para la identificación y aplicación use xprop.

[rules]

  [rule]
      instance = "chromium"
      # class = ""
      # role   = ""
      # name   = ""
      # theme  = "default"

      tag    = 1  # 2nd tag
      screen = 0

      free       = false
      tab        = false
  [/rule]

[/rules]

instance primera parte de WM_CLASS.
class segunda parte de WM_CLASS.
role WM_WINDOW_ROLE
name NET_WM_NAME
theme aplicar tema al cliente.
tag conjunto de etiquetas de cliente (comienzan a partir de * 0 ).
*screen
mostrar del cliente en una pantalla específica.
free cliente en el modo de auto-libre (true/false).
tab del cliente se abre en una pestaña (true/false).
ignore_tag etiqueta con el cliente todas las etiquetas (aka “siempre visible”).

[launchers]

[launchers]

  # command can be an uicb function or an uicb function + extension (see example)
  [launcher]
     name = "exec"
     prompt = "Run:"

     # Example of uicb + ext:
     #   command = "spawn xterm -e"
     command = "spawn"

     width = 150
  [/launcher]

[/launchers]

name nombre del lanzador, sera usado en la seccion [keys].
promt muestra texto al comienzo del promt.
command comandos usados por el lanzador. puede ser una funcion uicb o una funcio uicb + extension. vea tips en la seccion “como crear un lanzador perzonalisado”

[keys]

[keys]

  [key] mod = {"Super"} key = "Return" func = "spawn" cmd = "urxvt || xterm" [/key]

  [key] mod = {"Control", "Alt"} key = "q" func = "quit" [/key]
  [key] mod = {"Control", "Alt"} key = "r" func = "reload" [/key]

  # Tag manipulation
  [key] mod = {"Super"} key = "F1" func = "tag_set" cmd = "0" [/key]
  [key] mod = {"Super"} key = "F2" func = "tag_set" cmd = "1" [/key]
  [key] mod = {"Super"} key = "F3" func = "tag_set" cmd = "2" [/key]
  [key] mod = {"Super"} key = "F4" func = "tag_set" cmd = "3" [/key]
  [key] mod = {"Super"} key = "F5" func = "tag_set" cmd = "4" [/key]
  [key] mod = {"Super"} key = "F6" func = "tag_set" cmd = "5" [/key]
  [key] mod = {"Super"} key = "F7" func = "tag_set" cmd = "6" [/key]
  [key] mod = {"Super"} key = "F8" func = "tag_set" cmd = "7" [/key]

  [key] mod = {"Super", "Shift"} key = "F1" func = "tag_client" cmd = "0" [/key]
  [key] mod = {"Super", "Shift"} key = "F2" func = "tag_client" cmd = "1" [/key]
  [key] mod = {"Super", "Shift"} key = "F3" func = "tag_client" cmd = "2" [/key]
  [key] mod = {"Super", "Shift"} key = "F4" func = "tag_client" cmd = "3" [/key]
  [key] mod = {"Super", "Shift"} key = "F5" func = "tag_client" cmd = "4" [/key]
  [key] mod = {"Super", "Shift"} key = "F6" func = "tag_client" cmd = "5" [/key]
  [key] mod = {"Super", "Shift"} key = "F7" func = "tag_client" cmd = "6" [/key]
  [key] mod = {"Super", "Shift"} key = "F8" func = "tag_client" cmd = "7" [/key]

  [key] mod = {"Super"} key = "minus" func = "tag_del" [/key]
  [key] mod = {"Super", "Shift"} key = "minus" func = "tag_new" [/key]

  # tag function: cmd = nameofthetag
  #[key] mod = {"Super"} key = "z" func = "tag" cmd = "2" [/key]

  [key] mod = {"Control"} key = "Right" func = "tag_next" [/key]
  [key] mod = {"Control"} key = "Left"  func = "tag_prev" [/key]

  [key] mod = {"Control"} key = "Up"  func = "screen_next" [/key]
  [key] mod = {"Control"} key = "Down" func = "screen_prev" [/key]

  [key] mod = {"Super"} key = "q" func = "client_close" [/key]

  # Focus next / prev client and next / prev tabbed client
  [key] mod = { "Alt" }            key = "Tab" func = "client_focus_next" [/key]
  [key] mod = { "Alt", "Shift" }   key = "Tab" func = "client_focus_prev" [/key]
  [key] mod = { "Super" }          key = "Tab" func = "client_focus_next_tab" [/key]
  [key] mod = { "Super", "Shift" } key = "Tab" func = "client_focus_prev_tab" [/key]

  # Focus next client with direction
  [key] mod = {"Alt"} key = "h" func = "client_focus_left"   [/key]
  [key] mod = {"Alt"} key = "l" func = "client_focus_right"  [/key]
  [key] mod = {"Alt"} key = "k" func = "client_focus_top"    [/key]
  [key] mod = {"Alt"} key = "j" func = "client_focus_bottom" [/key]

  # swap next client with direction:
  [key] mod = {"Control", "Shift"} key = "h" func = "client_swap_left"   [/key]
  [key] mod = {"Control", "Shift"} key = "l" func = "client_swap_right"  [/key]
  [key] mod = {"Control", "Shift"} key = "k" func = "client_swap_top"    [/key]
  [key] mod = {"Control", "Shift"} key = "j" func = "client_swap_bottom" [/key]

  # Resize selected tiled client with direction
  [key] mod = {"Super"} key = "h" func = "client_resize_left"   cmd = "20" [/key]
  [key] mod = {"Super"} key = "l" func = "client_resize_left"   cmd = "-20" [/key]
  [key] mod = {"Super"} key = "k" func = "client_resize_top"    cmd = "20" [/key]
  [key] mod = {"Super"} key = "j" func = "client_resize_top"    cmd = "-20" [/key]
  [key] mod = {"Super", "Control"} key = "h" func = "client_resize_right"  cmd = "-20" [/key]
  [key] mod = {"Super", "Control"} key = "l" func = "client_resize_right"  cmd = "20" [/key]
  [key] mod = {"Super", "Control"} key = "k" func = "client_resize_bottom" cmd = "-20" [/key]
  [key] mod = {"Super", "Control"} key = "j" func = "client_resize_bottom" cmd = "20" [/key]

  # Tabbing command
  [key] mod = {"Alt", "Shift"} key = "h" func = "client_tab_left"   [/key]
  [key] mod = {"Alt", "Shift"} key = "l" func = "client_tab_right"  [/key]
  [key] mod = {"Alt", "Shift"} key = "k" func = "client_tab_top"    [/key]
  [key] mod = {"Alt", "Shift"} key = "j" func = "client_tab_bottom" [/key]
  [key] mod = {"Alt", "Shift"} key = "u" func = "client_untab" [/key]

  # Layout manipulation
  [key] mod = {"Super"}          key = "m" func = "layout_vmirror" [/key]
  [key] mod = {"Super", "Shift"} key = "m" func = "layout_hmirror" [/key]
  [key] mod = {"Super"}          key = "r" func = "layout_rotate_right" [/key]
  [key] mod = {"Super", "Shift"} key = "r" func = "layout_rotate_left" [/key]

  [key] mod = {"Control", "Super", "Alt"} key = "h" func = "layout_integrate_left" [/key]
  [key] mod = {"Control", "Super", "Alt"} key = "j" func = "layout_integrate_bottom" [/key]
  [key] mod = {"Control", "Super", "Alt"} key = "k" func = "layout_integrate_top" [/key]
  [key] mod = {"Control", "Super", "Alt"} key = "l" func = "layout_integrate_right" [/key]

  # Layout set historic travelling function (TESTING)
  [key] mod = {"Super"} key = "o" func = "layout_prev_set" [/key]
  [key] mod = {"Super", "Shift"} key = "o" func = "layout_next_set" [/key]

  # Toggle client free/tile
  [key] mod = {"Super"} key = "f" func = "client_toggle_free" [/key]

  # Toggle client ignore_tag
  [key] mod = {"Super","Shift"} key = "f" func = "client_toggle_ignore_tag" [/key]

  # Launcher
  [key] mod = {"Super"} key = "p" func = "launcher" cmd = "exec" [/key]

[/keys]

[keys] seccion de sintaxis: cada linea esta contenida dentro de [keys] … [/keys]
mod tecla modificadora. ej:ex:{"Control", "Alt"}
key tecla a precionar.
func funcion uicb para lanzar
cmd si func = spawn, vea el comando para lanzar. ej:func = "spawn" cmd = "cream-browser"

Clone this wiki locally