[Musix-usuarios] Un articulo sobre fluxbox para el wiki

Dan Creyd mandame.spam.aca en gmail.com
Lun Abr 9 22:08:25 CEST 2007


Realmente no estoy muy seguro como se maneja fluxbox con los menues
predeterminados, asi que me puse a investigar un poco:

Si vaciamos la carpeta ~/.fluxbox entonces al reiniciar fluxbox se nos
crea nuevamente un archivo "init" y un archivo "menu". El init es una
copia del /etc/X11/fluxbox/init y el archivo "menu" es una copia de
/etc/X11/fluxbox/fluxbox.menu-user. Este último archivo es solo un
include de /etc/X11/fluxbox/fluxbox-menu. El archivo del menú generado
se llama "menu" a secas.

Chequeando los defaults tenemos que:

menu: /etc/X11/fluxbox/fluxbox.menu-user
style: /usr/share/fluxbox/styles/Clean
keys: /etc/X11/fluxbox/keys
init: /etc/X11/fluxbox/init
nls: /usr/share/fluxbox/nls

Coinciden. Nosotros queremos que el menú por defecto sea menu-en,
entonces una copia de menu-en renombrada debería reemplazar al archivo
/etc/X11/fluxbox/fluxbox.menu-user. Luego, cada vez que se cree un
usuario o se borren las configuraciones el menú por defecto creado es
el menu-en, aunque se crea con el nombre "menu".

Esto es algo que se puede aprovechar, siempre el menú actual se llama
"menu". Luego en una carpeta cualquiera del sistema podriamos guardar
copias de los menues en diferentes idiomas.
/usr/share/directorio_con_menues por ejemplo.

Se crea entonces una entrada en el menú que diga lo siguiente:
Fluxbox -> Menú -> Idioma del Menú -> Español
Fluxbox -> Menú -> Idioma del Menú -> Inglés

La entrada solamente haria lo siguiente:
# establecer el menú nuevo
cp /usr/share/directorio_con_menues/menu-es ~/.fluxbox/menu

No es necesario crear un script para esto ya que se pueden llamar
comandos desde una entrada del menú de fluxbox. Ahora el usuario tiene
la oportunidad de cambiar el idioma del menú en cualquier momento. Y
ni siquiera va a tener la necesidad de recargar la configuracion ya
que fluxbox lo hace automaticamente cuando el menu se modifica. La
entrada para modificar el archivo menu ahora siempre apuntaria al menú
actual, es decir, el archivo ~/.fluxbox/menu. Con esto creo que se
simplifica bastante el asunto. Lo probé en mi pc y la verdad queda muy
elegante.

En cuanto a los directorios donde hay que copiar el menu:

cp menu /etc/X11/fluxbox/fluxbox-menu (este ya estaria)
cp menu /etc/skel/.fluxbox/
cp menu /home/knoppix/.fluxbox/
cp menu /root/.fluxbox/

Habria que chequear a donde apuntan los init que estan en esos
directorios. Recordando que el menú se debe llamar "menu".

Finalmente, el script que creaste esta bueno para que
predeterminadamente el usuario tenga el menú en el idioma que eligió
al iniciar. Aunque este script solamente debería correr cuando se
inicia el live, una vez instalado en disco no debería andar mas porque
estaría sobreescribiendo el menú elegido cada vez que se inicie la pc.
También habria que cambiar el comando sed y todo eso por un simple cp:

#!/bin/sh
# Este script lo guardé en este archivo:
# /bin/setfluxbox-menu.sh

if [ "$LANGUAGE" = "es" ]
then
# Si estamos en español, el menú de Fluxbox será español
cp /usr/share/directorio_con_menues/menu-es ~/.fluxbox/menu
else
# Si no estamos en español, entonces cambiamos el menú de Fluxbox al inglés
# aunque el predeterminado es en inglés, asi que esta línea sería innecesaria.
cp /usr/share/directorio_con_menues/menu-en ~/.fluxbox/menu
fi

Marcos tendria que decidir algun directorio para los menues, si es que
esta de acuerdo con esta solución y les paso los menu-es y menu-en
actualizados.

Bueno, eso fue bastante largo, pero creo que las explicaciones valian
la pena. Ademas el razonamiento lo iba realizando mientras escribia y
me ayudo a entender mejor que es lo que estaba haciendo.

Saludos.
Ariel



Más información sobre la lista de distribución Musix-usuarios