Manualinux
http://www.nvu.com http://www.gimp.org InicioPresentaciónActualizacionesManualesDescargasNoticiasAgradecimientoEnlaces

Entornos GráficosAplicaciones

Administradores de SesionesAdministradores de VentanasEscritoriosUtilidades de Escritorio

Utilidades de Escritorio - CWallpaperUtilidades de Escritorio - GAI Bgswitcher

Utilidades de Escritorio - Fbpanel




Utilidades de Escritorio - Fbpanel




Copyright

Copyright © José Luis Lara Carrascal  2009-2023   http://manualinux.eu



Sumario

Introducción
Instalación
Opciones de línea de comandos
Configuración
Edición manual del menú de Fbpanel
Configurar el inicio de Fbpanel
Iniciamos Fbpanel
Paquetes binarios
Enlaces




Introducción  

Fbpanel
es un panel de escritorio, escrito en GTK+, que le viene muy bien a aquellos usuarios de administradores de ventanas que carecen de barra de herramientas inferior con soporte de bandeja de sistema o barra de tareas, como es el caso de Openbox, Pekwm, y Sawfish, qué aunque no son los únicos, sí son los más representativos. También supone una alternativa para los usuarios de administradores de ventanas como Fluxbox, cuya barra de herramienta puede ser desactivada y utilizar en su lugar, Fbpanel.

Junto al manual se publica la versión en español de Fbpanel, centralizando toda la información sobre el mismo en este documento, anteriormente integrada en el manual de Pekwm.



Instalación  

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado Fbpanel para la elaboración de este documento.

* GCC - (13.2.0) o Clang - (16.0.6)
* Make - (4.4.1)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 21.1.8)
   LibX11 - (1.8.6)
* GLib - (2.74.7)
* GTK+ - (2.24.33)

Aplicaciones

* Gmrun - (0.9.2_es) - opcional



Descarga 

fbpanel-7.0_es-ML.tar.xz

Firma Digital  Clave pública PGP

fbpanel-7.0_es-ML.tar.xz.asc

Verificar la firma digital del paquete

$ gpg --import manualinux.asc
$ gpg --verify fbpanel-7.0_es-ML.tar.xz.asc fbpanel-7.0_es-ML.tar.xz

Optimizaciones

$ export {C,CXX}FLAGS='-O3 -march=znver3 -mtune=znver3'

Donde pone znver3 se indica el procesador respectivo de cada sistema seleccionándolo de la siguiente tabla:
Nota informativa sobre las optimizaciones para GCC
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado. 

* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.

* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Nota informativa sobre las optimizaciones para Clang
* La opción '-mtune=' está soportada a partir de la versión 3.4 de Clang.

* Los valores de color azul no son compatibles con Clang.

* Las filas con el fondo de color amarillo son valores exclusivos de Clang y, por lo tanto, no son aplicables con GCC.
Valores CPU
Genéricos
Intel
AMD

Optimizaciones adicionales

Optimizaciones adicionales
GCC
Graphite
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
IPA
$ export {C,CXX}FLAGS+=' -fipa-pta'
LTO
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=auto'
Donde pone 2 se indica el número de núcleos de nuestro procesador, si sólo tiene uno, utilizar el parámetro -flto
Clang
Polly
$ export {C,CXX}FLAGS+=' -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine'
LTO
$ export {C,CXX}FLAGS+=' -flto'
ThinLTO
$ export {C,CXX}FLAGS+=' -flto=thin'
La aplicación de esta optimización es alternativa a la tradicional LTO, a partir de Clang 3.9 y, por lo tanto, no es combinable con la misma.

Parámetros adicionales

Parámetros adicionales de eliminación de avisos en el proceso de compilación
$ export {C,CXX}FLAGS+=' -w'

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64 -L/opt/gcc13/lib64"
Cada usuario tendrá que establecer la ruta de búsqueda de directorios, en función de la distribución que utilice.

Parámetros adicionales de eliminación de errores específicos en el proceso de compilación
GCC 10, Clang 11, y versiones superiores de los dos compiladores
$ export {C,CXX}FLAGS+=' -fcommon'

Establecer el uso de enlazador dinámico para Mold
$ export LDFLAGS+=' -fuse-ld=mold'

Establecer el uso de enlazador dinámico para LLD
Clang
$ export LDFLAGS+=' -fuse-ld=lld'
Optimizaciones complementarias LTO/ThinLTO de LLD
$ export LDFLAGS+=' -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt'
Optimizaciones complementarias LTO de LLD
$ export LDFLAGS+=" -Wl,--lto-partitions=$(nproc)"
Optimizaciones complementarias ThinLTO de LLD
$ export LDFLAGS+=" -Wl,--thinlto-jobs=$(nproc)"

Eliminar los símbolos innecesarios para la ejecución del programa
$ export LDFLAGS+=" -Wl,-s"

Establecer la variable de entorno de uso de compilador para Clang
$ export CC=clang CXX=clang++

Extracción y Configuración  Bloc de Notas Información general sobre el uso de los comandos

$ tar Jxvf fbpanel-7.0_es-ML.tar.xz
$ cd fbpanel-7.0_es-ML
$ ./configure --libdir=/usr/lib64

Explicación de los comandos

--libdir=/usr/lib64 : Instala el directorio de plugins en /usr/lib64, en sistemas de 64 bits multiarquitectura. La ubicación y el nombre de este directorio, puede variar en función de la distribución que cada usuario use.

Compilación

$ make

Parámetros de compilación opcionales

-j$(nproc) : Establece el número de procesos de compilación en paralelo, en función del número de núcleos e hilos que tenga nuestro procesador, tomando como referencia la información mostrada por el sistema con el comando correspondiente. Si nuestro procesador es mononúcleo de un solo hilo, no añadir esta opción.

Instalación como root

$ su -c "make install"

Estadísticas de Compilación e Instalación de Fbpanel

Estadísticas de Compilación e Instalación de Fbpanel
CPU AMD Ryzen 5 5500
MHz 3593.250 (BoostMax=4457.000)
RAM 32 GB
Sistema de archivos XFS
Versión del Kernel 6.4.11-ml SMP PREEMPT_DYNAMIC x86_64
Modo de frecuencia de la CPU powersave (balance performance)
Versión de Glibc 2.38
Enlazador dinámico LLD 16.0.6
Compilador Clang 16.0.6
Parámetros de optimización -03 -march=znver3 -mtune=znver3 -mllvm -polly -mllvm -polly-vectorizer=stripmine -flto=thin -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt
Parámetros de compilación -j12
Tiempo de compilación 2"
Archivos instalados 54
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 608 KB

Consumo inicial de CPU y RAM de Fbpanel

Consumo inicial de CPU y RAM de Fbpanel
Programa
CPU RAM
fbpanel 0 % 19,2 MB
Para medir el consumo de CPU se utiliza el programa top, y para medir el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace.

Configuración de la variable de entorno XDG_DATA_DIRS

Fbpanel hace uso de esta variable para buscar las rutas a los archivos desktop de las aplicaciones que servirán para generar de forma automática el menú del sistema. Normalmente esta variable sólo tiene en cuenta el directorio principal del sistema (/usr/share) y poco más. Así que editando el archivo ~/.bashrc de nuestro home, añadiremos todos los directorios que tengamos en nuestro sistema con archivos desktop, que recordemos son los que cuyas rutas terminan en los directorios */share/applications, aunque no sea necesario añadir el último directorio. Un ejemplo:

Abrimos con un editor de texto, el archivo ~/.bashrc de nuestro home, y añadimos al final del mismo lo siguiente:

export XDG_DATA_DIRS=/usr/share:/usr/local/share:/opt/e17/share:$XDG_DATA_DIRS

En este ejemplo he añadido de forma adicional los directorios que están en rojo, cada nueva ruta, los pertinentes : y la ruta al directorio 'share'. Los usuarios que no compilen programas de forma habitual no es necesario que hagan todo esto. Los que los compilen y los instalen en el directorio principal /usr, tampoco.

Directorio de configuración personal

~/.config/fbpanel Es el directorio de configuración personal de Fbpanel en nuestro home. Desde la versión 6.0 es la ubicación predefinida de los archivos de configuración de Fbpanel. Si tenemos una versión anterior instalada, la primera vez que se ejecute el programa, copiará de forma automática la configuración anterior ubicada en ~/.fbpanel a esta nueva ubicación.
~/.config/fbpanel/default Es el archivo de configuración predefinido de Fbpanel. Desde la versión 6.0 se crea de forma automática al ejecutar el programa por primera vez.

Para definir la terminal, el administrador de archivos y el navegador web por defecto utiliza el script /usr/libexec/fbpanel/make_profile que trae preconfigurados una serie de ejecutables y wrappers del sistema de los programas más conocidos relacionados con estas categorías. Si uno no está utiliza el siguiente para escribir el comando correspondiente en el archivo de configuración generado en la 1ª ejecución del programa.

    local browser terminal filer
    for browser in x-www-browser firefox opera; do
        if which $browser 2> /dev/null > /dev/null; then
            opt="$opt -e s/x-www-browser/$browser/"
            break
        fi
    done
    for terminal in x-terminal urxvt gnome-terminal; do
        if which $terminal 2> /dev/null > /dev/null; then
            opt="$opt -e s/x-terminal/$terminal/"
            break
        fi
    done
    for filer in x-file-manager thunar pcmanfm rox; do
        if which $filer 2> /dev/null > /dev/null; then
            opt="$opt -e s/x-file-manager/$filer/"
            break


~/.config/fbpanel/pager Es un archivo de configuración alternativo que hace funcionar a Fbpanel como un paginador. Lo podemos copiar desde /usr/share/fbpanel/pager y modificarlo a nuestro antojo.

Desinstalación como root

1) MODO TRADICIONAL

Este programa no tiene soporte para desinstalación con el comando 'make uninstall'

2) MODO MANUALINUX

El principal inconveniente del comando anterior es que tenemos que tener el directorio de compilación en nuestro sistema para poder desinstalar el programa. En algunos casos esto supone muchos megas de espacio en disco. Con el paquete de scripts que pongo a continuación logramos evitar el único inconveniente que tiene la compilación de programas, y es el tema de la desinstalación de los mismos sin la necesidad de tener obligatoriamente una copia de las fuentes compiladas.

fbpanel-7.0_es-ML-scripts.tar.gz

$ su
# tar zxvf fbpanel-7.0_es-ML-scripts.tar.gz
# cd fbpanel-7.0_es-ML-scripts
# ./Desinstalar_fbpanel-7.0_es-ML

Copia de Seguridad como root

Con este otro script creamos una copia de seguridad de los binarios compilados, recreando la estructura de directorios de los mismos en un directorio de copias de seguridad (copibin) que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de los binarios podemos copiarlo como usuario a nuestro home y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos volver a restaurar la copia, tendremos que volver a copiarlo al lugar donde se ha creado.

$ su
# tar zxvf fbpanel-7.0_es-ML-scripts.tar.gz
# cd fbpanel-7.0_es-ML-scripts
# ./Respaldar_fbpanel-7.0_es-ML

Restaurar la Copia de Seguridad como root

Y con este otro script (que se copia de forma automática cuando creamos la copia de respaldo del programa) restauramos la copia de seguridad como root cuando resulte necesario.

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_fbpanel-7.0_es-ML



Opciones de línea de comandos 

Para que el programa nos muestre las opciones de ejecución, ejecutamos el comando fbpanel -h

[jose@localhost ~]$ fbpanel -h
fbpanel 7.0_es - un panel ligero GTK2+ para los escritorios UNIX
Opciones de línea de comandos:
 --help      -- imprime la ayuda y termina
 --version   -- imprime la versión y termina
 --log <número> -- ajusta nivel log 0-5. 0 - nada 5 - máximo
 --configure -- lanza la utilidad de configuración
 --profile nombre -- usa un perfil específico

 -h  -- lo mismo que --help ayuda
 -p  -- lo mismo que --profile perfil
 -v  -- lo mismo que --version versión
 -C  -- lo mismo que --configure configurar

Visite http://fbpanel.sourceforge.net/ para una detallada documentación



Configuración de Fbpanel  Bloc de Notas  

A diferencia de LXPanel, en Fbpanel aún no se ha implementado la configuración gráfica de los módulos del programa, por lo que todo lo que hace referencia a éstos lo tendremos que modificar mediante la edición del archivo de configuración que utilicemos con el mismo. Lo que sí podemos cambiar es la configuración global de Fbpanel, a la que tenemos acceso desde la entrada del menú, Configurar Fbpanel, entrada que ha sido añadida en la versión en español del mismo, y que no se incluye en la original. Un ejemplo con el archivo de configuración predefinido, ~/.config/fbpanel/default.

Global {
    edge =
abajo
    allign = centrado
    margin = 0
    widthtype = percent
    width = 86
    height = 24
    transparent = true
    tintcolor = #ffffff
    alpha = 28
    setdocktype = true
    setpartialstrut = true
    autohide = false
    heightWhenHidden = 2
    roundcorners = true
    roundcornersradius = 7
    layer = encima
    MaxElemtHeight = 32
    setlayer = false
}
Plugin {
    type = space
    config {
        size = 2
    }
}

Plugin {
    type = menu
    config {
        IconSize = 22
        icon = logo
        systemmenu {
        }
        separator {
        }
        item {
            icon = gnome-settings
            name = Configurar Fbpanel
            action = /usr/libexec/fbpanel/options
        }
        separator {
        }
        item {
            icon = gnome-run
            name = Ejecutar
            action = gmrun
        }
        separator {
        }
        menu {
            name = Sistema
            icon = computer
            item {
                name = Terminal
                icon = terminal
                action = urxvt
            }
            item {
                name = Bloquear pantalla
                icon = gnome-lockscreen
                action = slock
            }
            separator {
            }
            item {
                name = Reiniciar
                icon = gnome-session-reboot
                action = sudo reboot
            }
            item {
                name = Apagar
                icon = gnome-session-halt
                action = sudo halt
            }
            item {
                name = Salir
                icon = gnome-session-logout
                action = /usr/libexec/fbpanel/xlogout
            }
        }
    }
}
Plugin {
    type = space
    config {
        size = 15
    }
}

Plugin {
    type = launchbar
    config {
        button {
            icon = file-manager
            tooltip = Administrador de archivos
            action = thunar
        }
        button {
            icon = terminal
            tooltip = Terminal
            action = urxvt
        }
        button {
            icon = web-browser
            tooltip = Navegador web
            action = firefox
        }
    }
}
Plugin {
    type = space
    config {
        size = 15
    }
}

Plugin {
    type = wincmd
    config {
        icon = gnome-fs-desktop
        tooltip = Clic izquierdo para ocultar todas las ventanas. Clic central para enrollarlas.
    }
}
Plugin {
    type = space
    config {
        size = 15
    }
}

Plugin {
    type = taskbar
    expand = true
    config {
        ShowIconified = true
        ShowMapped = true
        ShowAllDesks = false
        tooltips = true
        IconsOnly = false
        MaxTaskWidth = 150
    }
}
Plugin {
    type = space
    config {
        size = 15
    }
}

Plugin {
    type = pager
    config {
        showwallpaper = true
    }
}
Plugin {
    type = space
    config {
        size = 10
    }
}

Plugin {
    type = mem
    expand = false
    padding = 2
    config {
        ShowSwap = false
    }
}
Plugin {
    type = cpu
    Color = green
}
Plugin {
    type = space
    config {
        size = 10
    }
}

Plugin {
    type = net
    expand = false
    padding = 0
    config {
        interface = eth0
        TxLimit = 20
        RxLimit = 190
        TxColor = violet
        RxColor = blue
    }
}
Plugin {
    type = space
    config {
        size = 10
    }
}

Plugin {
    type = volume
}
Plugin {
    type = tray
}
Plugin {
    type = space
    config {
        size = 10
    }
}

Plugin {
    type = dclock
    config {
        ShowSeconds = false
        HoursView = 24
        TooltipFmt = %A %x
    }
}
Plugin {
    type = icons
    config {
        DefaultIcon = /usr/share/fbpanel/images/default.xpm
        application {
            icon = gnome-terminal
            ClassName = XTerm
        }
        application {
            icon = gnome-terminal
            ClassName = mlterm
        }
        application {
            icon = gnome-terminal
            ClassName = URxvt
        }
        application {
            icon = gnome-emacs
            ClassName = Emacs
        }
        application {
            icon = mozilla-firefox
            ClassName = Firefox-bin
        }
        application {
            icon = mozilla-firefox
            ClassName = Firefox
        }
    }
}


1) Configuración Global

Todas estas opciones se configuran desde las opciones del programa, a las que accedemos desde el menú del mismo o ejecutando el programa en una terminal con el parámetro adicional: -C

Global {
    edge =
abajo
    allign = centrado
    margin = 0
    widthtype = percent
    width = 86
    height = 24
    transparent = true
    tintcolor = #ffffff
    alpha = 28
    setdocktype = true
    setpartialstrut = true
    autohide = false
    heightWhenHidden = 2
    roundcorners = true
    roundcornersradius = 7
    layer = encima
    MaxElemtHeight = 32
    setlayer = false
}


Captura - Fbpanel - Opciones

2) Módulos

Opciones comunes a todos los módulos
expand = true o false Define si un módulo puede ocupar espacio extra del asignado por defecto.
padding = número Define el tamaño extra de los márgenes del módulo.

Monitor de cpu (cpu)
Descripción: Muestra un gráfico del uso de la cpu.
Configuración: plugin {
    type = cpu
    expand = false
    padding = 0
    config {
        Color = green
    }
}
Notas: Con el parámetro 'Color' modificaremos el color de la gráfica de uso de la cpu. 

Reloj digital (dclock)
Descripción: Un reloj digital con consejos
Configuración: plugin {
    type = dclock
    expand = false
    padding = 0
    config {
        ShowSeconds = false
        HoursView = 24
        TooltipFmt = %A %x
        #Color = black
        #Action = xonclock
    }
}
Notas: Desde la versión 6.0 el parámetro 'ClockFmt' ha sido sustituido por 'ShowSeconds' y 'HoursView', si ponemos el 1º en true, el reloj mostrará los segundos y con el 2º cambiamos el formato de hora, 12 o 24. Para modificar el formato de la fecha del consejo, 'TooltipFmt', ejecutar 'man strftime'.

Los parámetros 'Color' y 'Action' son opcionales. En 'Action', al hacer clic con el botón izquierdo del ratón se ejecutará el comando que definamos en el mismo.

Desde la versión 6.0 muestra un calendario por defecto, al hacer clic con cualquier botón del ratón sobre el reloj. En 'Color' también podemos utilizar valores del tipo #f2f2f2 para definir el color del reloj, además de los habituales nombres de color en inglés. Los dos están comentados por defecto, para poder usarlos, habrá que quitar la correspondiente almohadilla '#'



Nº de escritorio v1 (deskno)
Descripción: Muestra el número de escritorio virtual
Configuración: plugin {
    type = deskno
    expand = false
    padding = 0
    config {
    }
}
Notas: Es también un conmutador de escritorio, aunque muy limitado, sólo permite avanzar hacia adelante y de forma lineal en el cambio de escritorio, cuando presionamos el indicador de escritorio.

Nº de escritorio v2 (deskno2)
Descripción: Muestra el número de escritorio virtual
Configuración: plugin {
    type = deskno2
    expand = false
    padding = 0
    config {
    }
}
Notas: Visualmente es idéntico a Deskno, la única diferencia consiste en que cuando hacemos clic en el indicador de escritorio, se ejecutará 'xfce-setting-show workspaces', si es que lo tenemos instalado en nuestro sistema, y nos mostrará el configurador de escritorios virtuales de XFce 4.

Monitor genérico (genmon)
Descripción: Muestra la salida de un programa/script dentro del panel
Configuración: plugin {
    type = genmon
    expand = false
    padding = 0
    config {
    Command = date +%R
    PollingTime = 1
    MaxTextLength = 30
    TextSize = medium
    TextColor = darkblue
    }
}
Notas: Es un módulo que permite mostrar en el panel la salida de un comando de terminal, la hora o la fecha, la versión del kernel, etc. En el ejemplo de arriba, he puesto la configuración predefinida del módulo (extraída del archivo de código) que consiste en mostrar la hora. La definición de los parámetros de configuración es la siguiente:

Command = El comando a ejecutar con los parámetros correspondientes
PollingTime = La frecuencia de actualización de la información a mostrar
MaxTextLength = La longitud máxima de texto a mostrar
TextSize = El tamaño del texto (large, medium, small) - (grande, medio, pequeño)
TextColor = El color del texto (nombres de colores en inglés o valores como #f2f2f2)



Iconos (icons)
Descripción: Módulo invisible para cambiar los iconos de la ventana
Configuración: Plugin {
    type = icons
    config {
        DefaultIcon = /usr/share/fbpanel/images/default.xpm
        application {
            icon = gnome-terminal
            ClassName = XTerm
        }
    }
}
Notas: Este módulo se utiliza para dotar de un icono en la barra de tareas, a aquellas ventanas cuyas aplicaciones carecen del mismo, normalmente los emuladores de terminal, o también, para cambiar los de aquellas, que no nos gustan los que muestran en la barra de tareas, cuando las ejecutamos. Para poder configurar las aplicaciones tendremos que hacer siempre uso de xprop, para poder identificar el nombre de la ventana de la aplicación.

Ejecutamos la aplicación, abrimos una ventana de terminal, ejecutamos el comando xprop, se mostrará una cruceta, y con la misma, hacemos clic en la ventana de la aplicación que queremos configurar. De la información que nos muestre, nos quedamos siempre con esta variable: WM_CLASS(STRING) = "urxvt", "URxvt", y cogemos siempre el último valor, en este ejemplo, "URxvt", que hace referencia al emulador de terminal, Urxvt.

Luego, lo añadimos a la configuración del módulo, justo debajo de la aplicación definida en el ejemplo del apartado anterior,

Plugin {
    type = icons
    config {
        DefaultIcon = /usr/share/fbpanel/images/default.xpm
        application {
            icon = gnome-terminal
            ClassName = XTerm
        }
        application {
            icon = gnome-terminal
            ClassName = URxvt
        }

    }
}


En cuanto al icono, tenemos dos opciones: una, utilizar el del tema GTK+ que estemos usando por defecto, incluyendo los iconos ubicados en /usr/share/fbpanel/images, de ahí que se use sólo el nombre del icono que hace referencia al emulador de terminal de GNOME, gnome-terminal, en el parámetro 'icon ='; o como opción alternativa, poner una ruta a cualquier icono que nos venga en gana, o en su caso más lógico, al icono original de la aplicación. En este caso tendremos que utilizar siempre el parámetro 'image =' y la ruta al icono en cuestión. Si no definimos ningún icono, se mostrará el configurado en el parámetro 'DefaultIcon'.

Para saber más sobre los nombres genéricos de los temas de iconos de GTK+, visitar este enlace, o lo mejor y se aprende más pronto, cogerse un tema cualquier de iconos de GTK+ y pegarle un vistazo a los nombres que utiliza para definirlos, la mayoría harán referencia a GNOME, ninguna sorpresa por cierto, porque los temas de iconos de GTK+, son temas de iconos de GNOME.

Imagen (image)
Descripción: Muestra una imagen y un consejo
Configuración: plugin {
    type = image
    expand = false
    padding = 0
    config {
    image = /home/jose/Fotos/linux_001.jpg
    tooltip = Cualquier chorrada que se nos ocurra
    }
}
Notas: Es un módulo meramente decorativo que no sirve para nada, la imagen no se puede visualizar en su tamaño original (lo lógico sería hacer clic en la miniatura para que fuera así) y el autor del módulo debe de haber pensado que es la mejor forma de tener siempre consigo a su adorada suegra, es decir, en miniatura y visualmente imperceptible para el ojo humano. Si alguien logra encontrar una utilidad a este módulo, que lo detengan y lo deporten a Siberia, tanta pérspicacia no es buena en el mundo de la informática. 

Barra de inicio (launchbar)
Descripción: Una barra con lanzadores de aplicaciones
Configuración: plugin {
    type = launchbar
    expand = false
    padding = 0
    config {
        button {
            icon = file-manager
            tooltip = Administrador de archivos
            action = rox
        }
        button {
            icon = terminal
            tooltip = Terminal
            action = xterm
        }
    }
Notas: La típica barra de inicio con iconos lanzadores de aplicaciones. Cada aplicación nueva que añadamos, el formato siempre será el siguiente:
        button {
            icon = icono del tema GTK+ que estemos usando por defecto.
            image = Ruta al icono de la aplicación, o cualquier otro. Si usamos éste parámetro, borrar o comentar el anterior.
            tooltip = El texto que se mostrará cuando coloquemos el puntero del ratón sobre el icono.
            action = comando a ejecutar.
        }

Monitor de memoria (mem)
Descripción: Muestra el uso de la memoria
Configuración: plugin {
    type = mem
    expand = false
    padding = 0
    config {
        ShowSwap = false
    }
}
Notas: Si ponemos el parámetro 'ShowSwap' en true, también mostrará el uso de la memoria virtual del sistema.

Monitor de memoria 2 (mem2)
Descripción: Muestra el uso de la memoria como un gráfico
Configuración: plugin {
    type = mem2
    expand = false
    padding = 0
    config {
        MemColor = blue
        SwapColor = yellow
    }
}
Notas: En MemColor podemos seleccionar el color que mostrará el gráfico de uso de memoria física y en SwapColor (en teoría porque no es funcional), el color que mostrará el de uso de memoria virtual. Podemos utilizar nombres de color en inglés o valores del tipo #f9f9f9. Si no añadimos estos dos parámetros, el gráfico de la memoria física se mostrará en color rojo, y el de la memoria virtual, no mostrará nada.

Monitor de red (net)
Descripción: Muestra el tráfico de red
Configuración: Plugin {
    type = net
    expand = false
    padding = 0
    config {
        #interface = ppp0
        interface = eth0
        # establece el límite de conexiones para hacer el gráfico del tráfico más exacto
        TxLimit = 20
        RxLimit = 190
        TxColor = violet
        RxColor = blue
    }
}
Notas: Desde la versión 6.0 ya es posible cambiar la interfaz del red con el parámetro 'interface', además se ha añadido los parámetros 'TxLimit' y 'RxLimit' para limitar los datos de subida y bajada para hacer más exacta la gráfica del monitor de red. Con 'TxColor' y 'RxColor' ajustamos el color de las gráficas de subida y bajada de los datos del tráfico de red.



Paginador (pager)
Descripción: Un paginador que muestra miniaturas de los escritorios
Configuración: plugin {
    type = pager
    expand = false
    padding = 0
    showwallpaper = true
    config {
    }
}
Notas: Si no queremos que se muestre una miniatura del fondo de escritorio en el paginador, poner el parámetro 'showwallpaper' en false.

Separador (separator)
Descripción: Separador de línea
Configuración: plugin {
    type = separator
    expand = false
    padding = 0
    config {
    }
}
Notas: No tiene opciones de configuración. Muestra una línea separadora en el panel, del mismo estilo que las que se muestran en el menú de aplicaciones.

Espacio (space)
Descripción: Ocupa espacio en un panel
Configuración: plugin {
    type = space
    expand = false
    padding = 0
    config {
    size = 15
    }
}
Notas: Sirve para asignar espacio entre los elementos que componen el panel, y poder organizar la ubicación de éstos en el mismo. En 'size' determinamos la anchura del espacio asignado, el archivo de ejemplo, 'default' nos puede venir muy bien para comprobar el funcionamiento de este módulo.

Bandeja de sistema (tray)
Descripción: Una bandeja de sistema o área de notificación
Configuración: plugin {
    type = tray
    expand = false
    padding = 0
    config {
    }
}
Notas: No tiene opciones de configuración. La bandeja de sistema es el lugar en el que aplicaciones como OperaPidgin, por poner dos ejemplos, colocan un icono, desde el cual podemos acceder a un menú de control de sus funciones. 

Barra de tareas (taskbar)
Descripción: Muestra las ventanas abiertas
Configuración: plugin {
    type = taskbar
    expand = true
    padding = 0
    config {
        ShowIconified = true
        ShowMapped    = true
        ShowAllDesks  = false
        tooltips = true
        IconsOnly = false
        MaxTaskWidth = 150

    }
}
Notas: Al ser un módulo de tamaño variable, la opción 'expand' tiene que estar siempre en true. La definición de los parámetros de configuración es la siguiente:

ShowIconified = Si está en false no muestra las ventanas ocultas.
ShowMapped  = Si está en false no muestra la ventana enfocada.
ShowAllDesks  = Si está en true muestra las ventanas abiertas en todos los escritorios.
tooltips = Si está en false no muestra los consejos.
IconsOnly =  Si está en true muestra sólo los iconos de las ventanas y no el título.
MaxTaskWidth = Define la anchura máxima de la barra de tareas en píxeles.
MinTaskHeight = Define la altura mínima de la barra de tareas en píxeles.

Reloj de texto (tclock)
Descripción: Un reloj/calendario de texto con consejo
Configuración: plugin {
    type = tclock
    expand = false
    padding = 0
    config {
        ClockFmt = %R
        TooltipFmt = %A %x
        #Action = xonclock
        #ShowCalendar = true
        #ShowTooltip = true  
    }
}
Notas: Para modificar el formato de la hora del reloj, 'ClockFmt', y la fecha del consejo, 'TooltipFmt', ejecutar 'man strftime'.

El parámetro 'Action' es opcional, al hacer clic con el botón izquierdo del ratón se ejecutará el comando que definamos en el mismo. Para poder usarlo, habrá que quitar la correspondiente almohadilla '#'

Los parámetros 'ShowCalendar' y 'ShowTooltip' son nuevos desde la versión 6.0 y activan y desactivan la muestra de un calendario GTK al hacer clic sobre el reloj, en el caso del primero (el parámetro 'Action' tiene que estar desactivado), y el mostrado o no de los consejos en el caso del segundo, al colocar el puntero del ratón sobre el reloj.

Mostrar escritorio (wincmd)
Descripción: Muestra el botón Escritorio
Configuración: plugin {
    type = wincmd
    expand = false
    padding = 0
    config {
        icon = gnome-fs-desktop
        tooltip = Clic izquierdo para ocultar todas las ventanas. Clic central para enrollarlas.
    }
}
Notas: Con este módulo podemos ocultar o enrollar todas las ventanas del escritorio mediante la pulsación del botón ubicado en el panel. Más o menos, es el equivalente al botón escritorio de Windows, pero con más funciones.  

Volumen (volume)
Descripción: Control de volumen OSS
Configuración: Plugin {
    type = volume
}
Notas: Es uno de los módulos que más se echaban en falta en Fbpanel. Puede funcionar con ALSA utilizando la capa de emulación OSS. Si nuestro sistema no tiene configurado el soporte de emulación de sonido OSS, es recomendable quitar este módulo de la configuración del panel, ya que si lo mantenemos, fbpanel no se podrá iniciar.

Uso de batería (battery)
Descripción: Muestra la carga de la batería
Configuración: Plugin {
    type = battery
}
Notas: Indicado para ordenadores portátiles y similares.

La disposición de los módulos en el panel sigue el mismo orden de izquierda a derecha que en el archivo de configuración de arriba hacia abajo.



Edición manual del menú de Fbpanel  Bloc de Notas  

El menú predefinido de Fbpanel se compone de un menú de sistema de generación automática, siguiendo el estándar de freedesktop.org, y de un menú de apagado, reinicio y cierre de sesión. Además en la versión en español, se incluye una entrada de menú para poder acceder a las opciones de configuración del programa y otra entrada para poder lanzar aplicaciones mediante la utilidad Gmrun. A diferencia de LXPanel, el programa no admite menús con submenús, así que si queremos añadir un menú personalizado, tendremos que olvidarnos de poder dividirlo en diferentes categorías, lo que indica que en Fbpanel, prevalece el uso del menú de generación automática.

plugin {
    type = menu
    expand = false
    padding = 0
    config {
        IconSize = 22
        icon = logo
        systemmenu {
        }

        separator {
        }
        item {
            icon = gnome-settings
            name = Configurar Fbpanel
            action = /usr/libexec/fbpanel/options
        }

        separator {
        }
        {
            icon = gnome-run
            name = Ejecutar
            action = gmrun
        }

         separator {
        }
        menu {
            name = Sistema
            icon = computer
            item {
                name = Terminal
                icon = terminal
                action = xterm
            }
            item {
                name = Bloquear pantalla
                icon = gnome-lockscreen
                action = slock
            }
            separator {
            }
            item {
                name = Reiniciar
                icon = gnome-session-reboot
                action = sudo reboot
            }
            item {
                name = Apagar
                icon = gnome-session-halt
                action = sudo halt
            }
            item {
                name = Salir
                icon = gnome-session-logout
                action = /usr/libexec/fbpanel/xlogout
            }
        }
    }

}

Disposición de los elementos del menú
plugin {
    type = menu
    expand = false
    padding = 0
    config {
        IconSize = 22
        icon = logo    
Es el comienzo del módulo del menú en el archivo de configuración del programa, si queremos cambiar el icono predefinido del botón del menú por otro alternativo, sustituir el parámetro 'icon =' por 'image = ruta a la imagen a utilizar'.

El parámetro 'IconSize' es nuevo desde la versión 6.1 y permite definir el tamaño de los iconos del menú en píxeles.
        systemmenu {
        }

        separator {
        }
Menú de sistema de generación automática (Busca los archivos desktop configurados con la variable 'XDG_DATA_DIRS'). 
        item {
            icon = gnome-settings
            name = Configurar Fbpanel
            action = /usr/libexec/fbpanel/options
        }

        separator {
        }
Es la entrada añadida en la versión en español para poder acceder a las opciones de Fbpanel desde el menú. A partir de la versión 6.0 he tenido que crear un script para poder ejecutar las opciones del programa, ya que el comando configure ya no funciona desde esta versión. El script lo que hace es matar el proceso fbpanel y volver a ejecutar el programa con el parámetro -C que es el que permite lanzar el configurador gráfico del mismo.
        item {
            icon = gnome-run
            name = Ejecutar
            action = gmrun
        }

         separator {
        }
Otra de las carencias de Fbpanel respecto a LXPanel es la falta de un lanzador de aplicaciones mediante el uso de comandos, con esta entrada y el programa Gmrun, lo solucionamos de manera rápida.
        menu {
            name = Sistema
            icon = computer
            item {
                name = Terminal
                icon = terminal
                action = xterm
            }
            item {
                name = Bloquear pantalla
                icon = gnome-lockscreen
                action = slock
            }
            separator {
            }
            item {
                name = Reiniciar
                icon = gnome-session-reboot
                action = sudo reboot
            }
            item {
                name = Apagar
                icon = gnome-session-halt
                action = sudo halt
            }
            item {
                name = Salir
                icon = gnome-session-logout
                action = 
/usr/libexec/fbpanel/xlogout
            }
        }
    }
Es el menú de apagado, reinicio y cierre de sesión. Respecto al apagado y el reinicio tendremos que tener instalado y configurado el programa sudo para poder hacer uso de estas funciones como usuario normal.

Para ello, tendremos que modificar el archivo /etc/sudoers (como root) y dejarlo de esta manera, por ejemplo:

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

# Changing the default settings
Defaults    !root_sudo
Defaults    timestamp_timeout=3

# Host alias specification

# User alias specification
User_Alias    USERS = jose

# Cmnd alias specification
Cmnd_Alias    SHUTDOWN = /sbin/shutdown, /sbin/halt, /sbin/reboot

# User privilege specification
root    ALL=(ALL) ALL
USERS    ALL = NOPASSWD: SHUTDOWN


Sólo hay que cambiar jose por el nombre de la cuenta de usuario de cada uno.
} Ésta es la última llave que cierra el menú, mucho cuidado con esto, porque una mala configuración de éste, provocará la típica violación de segmento y el programa no se iniciará. Ejecutar siempre Fbpanel desde una terminal, cuando estemos realizando modificaciones manuales en el archivo de configuración del mismo, para matarlo sólo tenemos que teclear CTRL+C en la ventana de terminal donde lo hayamos lanzado.

El archivo de configuración tenemos que guardarlo siempre con la codificación UTF-8 para que se muestren de forma correcta los acentos y las eñes.

Formato de Menú menu {
          name = Nombre del menú 
          icon = Nombre del icono específico del tema GTK+, incluyendo los ubicados en /usr/share/fbpanel/images, sin la ruta y la extensión del mismo.
          image = Ruta a un icono específico (da igual su tamaño)
           }            
Formato del elemento item {
        name = Nombre del programa
        icon = Nombre del icono específico del tema GTK+, incluyendo los ubicados en /usr/share/fbpanel/images, sin la ruta y la extensión del mismo.
        image = Ruta a un icono específico (da igual su tamaño)
        action = Nombre del ejecutable o comando a ejecutar
        }

Recordar en lo que respecta a los iconos, que o usamos el parámetro 'icon' o usamos 'image', los dos son incompatibles, como es lógico.



Configurar el inicio de Fbpanel  

A continuación algunos ejemplos de inicio de Fbpanel con algunos de los administradores de ventanas cuya documentación está disponible en la web.

1) Fluxbox


Se explica en la sección correspondiente de su manual de instalación.

2) Openbox


Añadimos el comando de ejecución al script de inicio ~/.config/openbox/autostart, autostart.sh en versiones inferiores a la 3.5.

#!/bin/sh

fbpanel &
xbindkeys &

3) Pekwm


Añadimos el comando de ejecución en la sección correspondiente del script de inicio ~/.pekwm/start

# There's probably a few other good uses for it, too. I mainly pushed for it
# because when I was doing fluxbox's docs, people used to complain that there
# wasn't one, and I wanted to avoid that for pekwm. ;) --eyez

fbpanel &
numlockx &
#idesk &
#wmix &

En Pekwm, la integración de Fbpanel no es todo lo buena que desearíamos, aunque cerremos todas las ventanas, siempre se quedará la última en la barra de tareas, cómo si siguiera estando abierta.

4) Sawfish


Siguiendo el método que se utiliza en el manual de Sawfish lo añadimos al script ~/.sawfish/autostart de la siguiente forma,

#!/bin/sh

fbpanel &
idesk &
nitrogen --restore 
xbindkeys &

5) Para los que inician X desde terminal con el comando startx


Para los usuarios que inician los entornos gráficos con el comando startx, pueden añadir el comando de ejecución al archivo .xinitrc que se encuentra en nuestro home, si no existe lo creamos, y añadimos lo siguiente:

fbpanel &
exec pekwm

6) XDM


Añadimos el comando de ejecución al archivo .xsession que se encuentra en nuestro home, si no existe lo creamos, y añadimos lo siguiente:

fbpanel &
exec pekwm



Iniciamos Fbpanel  


Captura - Openbox + Fbpanel
Captura de Openbox + Fbpanel


Captura - Pekwm + Fbpanel
Captura de Pekwm + Fbpanel (transparencia activada)




Enlaces  


https://github.com/aanatoly/fbpanel >> Enlace al proyecto del programa en GitHub.


Foro Galería Blog


Actualizado el 18-08-2023

Utilidades de Escritorio - Fbpanel

Utilidades de Escritorio - CWallpaperUtilidades de Escritorio - GAI Bgswitcher