Statusbar es

arpinux edited this page Apr 25, 2012 · 1 revision

configuración de la barra de estado

la barra de estado de wmfs muestra tags y la bandeja de sistema, pero puede mosrar mucha mas información con el comando wmfs -c status
de esta forma, usted puede mostrar los resultados de un bash script, un conky o un simple comando. la barra de estado soporta barras de progreso, gráficas, barras de posición, colores, rectangulos, imagenes y temas.

La forma mas fácil de mostrar información en la barra de estado es mediante un script lanzado al inicio del entorno (con ~/.xinitrc): status.sh.
un ejemplo basico de un status.sh:

#!/bin/sh
#WMFS status.sh example file
TIMING=10
statustext()
{
     wmfs -c status "default `date`"
}
while true;
do
statustext
    sleep $TIMING
done
  • uso basico:
    wmfs -c status "<barname> TEXTO visible en 'barname'"
  • mostrar colores:
    wmfs -c status "<barname> ^s[<position>;<color>;<text>]"
  • muestra resctangulos:
    wmfs -c status "<barname> ^R[<position>;<dimensions>;<color>]"
  • muestra imagenes (soportadas por imlib2):
    wmfs -c status "<barname> ^i[<position>;<dimensions>;<imagepath>]"
  • muestra barras de progreso:
    wmfs -c status "<barname> ^p[<position>;<dimensions>;<border>;<value>;<valuemax>;<bgcolor>;<fgcolor>]"
  • muestra barras de posicion:
    wmfs -c status "<barname> ^P[<position>;<dimensions>;<curser>;<value>;<valuemax>;<bgcolor>;<fgcolor>]"
  • muestra gráficas:
    wmfs -c status "<barname> ^g[<position>;<dimensions>;<value>;<valuemax>;<bgcolor>;<fgcolor>;<name>]"

mousebinds:
las secuencias soportan mousebinds con formato (<key>;<uicb-function>) ó (<key>;<spawn>;<command>)
ejemplo: wmfs -c status "<barname> ^R[<position>;<dimensions>;<color>](1;spawn;urxvt -e ranger)" deplegara el gestor de archivos para terminal ranger en urxvt con un click(botón1).

notificaciones emergentes:
usted puede desplegar notificaciones emergentes desde la barra de estado con los mousbinds (<key>;status_surface;<position>,<dimension>,<color> <datas>)
nota: con “status_surface”, el argumento “position” es opcional. si no se indica una posicion por defecto esta sera debajo del puntero.

sintaxis:

  • position: “left/right” (relativo) “x;y” (absoluto)
  • dimensions: “ww;hh” para ancho;altura del rectangulo o imagen, para mostrar una imagen en su dimension original, establescala en “0;0”.
  • color: ”#rrggbb”
  • imagepath: ruta absoluta a la imagen
  • border: ancho del borde de la barra de progreso
  • curser: ancho del cursor en la barra de posicion
  • value: una variable, para dibujar una barra de progreso
  • valuemax: maximo valor de ‘value’ usado en la barra de progreso

nota: “^” puede ser reemplazado por “\” en las secuencias.
para mostrar un “]” tiene que poner un “\” como prefijo.
cuando se usa^p[...], si w < h , la barra de progreso sera vertical.

ejemplos basicos

basic statusbar
codigo:

#!/bin/bash

wmfs -c status “testbar ^s[left;#ff0000; red-alignleft-text]\
^s[130;10;#00ff00;greentext] ^i[190;1;0;0;/home/arp/.config/wmfs/icons/sound.png]\
^R[210;2;40;10;#0000ff] ^s[217;11;#000000;text]”


nota: [bar] name = “testbar” [/bar] el nombre de la barra debe ser declarado en su wmfsrc.

scripts completos

  • script de barra de progreso vertical
    vertical progressbar
    el codigo
  • mensajes emergentes en la barra de estado
    popup statusbar
    el codigo
  • script + conky :
    status conky
    comando para lanzarlo al inicio de la sesion:
    conky -c ~/.conkyrc_wmfs | while true; read line; do wmfs -c status "testbar $line"; done &
    conky lanzado por el comando.
  • script + conky xl :
    status conky xl
    comando para lanzarlo al inicio de la sesion:
    conky -c ~/.conkyrc_full | while true; read line; do wmfs -c status "conkybar $line"; done &
    conky lanzado por el comando.
    theme para ser incluido en su wmfsrc.

integracion con el wmfsrc

el formato clasico wmfs -c status "<barname><datas>" implica que usted a declarado el nombre de la barra(barname) en la seccion [bars] de su wmfsrc:

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

adapte el codigo a su configuración.