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

Entornos GráficosAplicaciones

Administradores de SesionesAdministradores de VentanasEscritoriosUtilidades de Escritorio

Utilidades de Escritorio - Blue ComboUtilidades de Escritorio - Conky

Utilidades de Escritorio - BMPanel




Utilidades de Escritorio - BMPanel




Copyright

Copyright © José Luis Lara Carrascal  2008-2023   http://manualinux.es


 
Sumario

Introducción
Instalación
Configuración
Configurar el inicio de BMPanel
Iniciamos BMPanel
Paquetes binarios
Enlaces




Introducción

BMPanel
es un derivado del panel FSPanel, contiene un conmutador de escritorios virtuales, una barra de tareas, una bandeja del sistema muy básica y un reloj. A diferencia de otros paneles, no tiene archivo de configuración propio. Las habituales modificaciones de posición, fuentes, etc. las tendremos que hacer en los archivos de configuración de los diversos temas que soporta.



Instalación  

Dependencias

Herramientas de Compilación


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

* GCC - (13.2.0)
* 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)
   LibXcomposite - (0.4.6)
   LibXrender - (0.9.11)
* Fontconfig - (2.14.2)
* Freetype2 - (2.13.1)
* Imlib2 - (1.12.0)



Descarga

bmpanel-0.9.27.tar.gz

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:
* 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='.
Valores CPU
Genéricos
Intel
AMD

Optimizaciones adicionales

Optimizaciones adicionales
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'
En versiones inferiores a GCC 10, sustituir auto por el número de núcleos que tenga nuestro procesador. Si sólo tiene uno, utilizar el parámetro -flto

Parámetros adicionales

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.

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

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

$ tar zxvf bmpanel-0.9.27.tar.gz
$ cd bmpanel-0.9.27
$ sed -i '27s:=:?&:' configure
$ ./configure

Explicación de los comandos

sed -i '27s:=:?&:' configure : Modificamos el script configure para que acepte las variables de entorno de optimización aplicadas en el manual.

Parametros de configuración opcionales

--with-ev : Evita un error en la compilación del programa, en el caso de que utilicemos versiones relativamente antiguas de Glibc.
--with-event : Alternativa a libev que, por otra parte, pertenece al mismo desarrollador.

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"

Instalación de los temas que trae por defecto en nuestro home

Ya que la configuración de BMPanel se realiza mediante la edición de los temas, es recomendable instalarlos en nuestro home para su posterior edición, en el caso de que pretendamos modificar las opciones del panel.

$ cp -rf /usr/share/bmpanel ~/.bmpanel

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

Estadísticas de Compilación e Instalación de BMPanel
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 Mold 2.1.0
Compilador GCC 13.2.0
Parámetros de optimización -03 -march=znver3 -mtune=znver3 -ftree-loop-linear -floop-strip-mine -floop-block -fipa-pta -fuse-linker-plugin -flto=auto
Parámetros de compilación -j12
Tiempo de compilación > 1"
Archivos instalados 24
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 144 KB

Consumo inicial de CPU y RAM de BMPanel

Consumo inicial de CPU y RAM de BMPanel
Programa
CPU RAM
bmpanel 0 % 4,1 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.

Directorio de configuración personal

~/.bmpanel Es el directorio de configuración personal de BMPanel en nuestro home.
~/.bmpanel/themes Es el subdirectorio de los temas, donde es recomendable copiar los que trae por defecto y los que nos podamos encontrar por internet.

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.

bmpanel-0.9.27-scripts.tar.gz

$ su
# tar zxvf bmpanel-0.9.27-scripts.tar.gz
# cd bmpanel-0.9.27-scripts
# ./Desinstalar_bmpanel-0.9.27

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 bmpanel-0.9.27-scripts.tar.gz
# cd bmpanel-0.9.27-scripts
# ./Respaldar_bmpanel-0.9.27

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_bmpanel-0.9.27



Configuración de BMPanel  Bloc de Notas  

Como ya he explicado en la introducción, la configuración de BMPanel se realiza mediante la edición de los archivos de configuración de los temas: theme

Las opciones más relevantes que se pueden modificar en el archivo de configuración de los temas son las siguientes, tomando como referencia el tema que lleva por defecto,

use_composite             0 Activa (1) o desactiva (0) el uso de la extensión xcomposite de Xorg, que proporciona transparencia real al panel. Si lo activamos la bandeja del sistema no funcionará. Este parámetro no viene incluido en el tema por defecto
placement             bottom bottom (Abajo) ó top (Arriba) define la posición del panel en la pantalla.
alignment              left left (Izquierda), center (Centrado) y right (Derecha) define la alineación del panel en la pantalla, indicado cuando éste no la ocupa toda a lo ancho. Este parámetro ha sido introducido a partir de la versión 0.9.24 y no viene incluido en el tema por defecto
width                     66 % El porcentaje de espacio que ocupará el panel a lo ancho de la pantalla. Este parámetro ha sido introducido a partir de la versión 0.9.24 y no viene incluido en el tema por defecto.
tile_img             tile_img.png La imagen a utilizar para el fondo del panel
separator_img             separator_img.png La imagen a utilizar para los separadores existentes entre los elementos del panel.
tray_icon_w            24
tray_icon_h            24
El tamaño en píxeles en anchura y altura de los iconos que se mostrarán en la bandeja del sistema.
elements             sbtc El orden en el que se mostrarán los elementos que componen el panel, de izquierda a derecha, a cada uno se le asigna una letra de identificación donde el conmutador de escritorio es la "s", la barra de tareas es la "b", la bandeja del sistema es la "t" y el reloj es la "c"
#--------------------- clock --------------------------------  Configuración del Reloj
clock_right_img         clock_right_img.png
clock_tile_img             clock_tile_img.png
clock_left_img             clock_left_img.png
Define las imágenes a utilizar para el borde derecho (clock_right_img), el fondo (clock_tile_img) y el borde izquierdo (clock_left_img) del Reloj.
clock_font             DejaVuSans/14 La fuente a utilizar en el reloj.
clock_text_color         FFFFFF El color del texto del reloj, admite también nombres de color: blue, white, black, etc.


clock_text_offset_x         0
clock_text_offset_y         0
Define el desplazamiento horizontal (clock_text_offset_x) y vertical (clock_text_offset_y) del texto del reloj.
clock_text_padding         4 Define el nivel de fusión entre los píxeles del fondo del reloj y el texto del mismo.
clock_text_align         center Define la alineación del texto del reloj, puede ser left (a la izquierda), right (a la derecha) y center (en el centro)
clock_space_gap         3 Define la distancia entre los separadores del panel y los bordes del reloj.
clock_format             %H:%M:%S Define el formato del texto del reloj (%H:%M:%S para horas:minutos:segundos)
#--------------------- taskbar --------------------------------  Configuración de la Barra de Tareas
tb_right_idle_img         tb_right_idle_img.png
tb_tile_idle_img         tb_tile_idle_img.png
tb_left_idle_img         tb_left_idle_img.png
Define las imágenes a utilizar para el borde derecho (tb_right_idle_img), el fondo (tb_tile_idle_img) y el borde izquierdo (tb_left_idle_img) de la Barra de Tareas en las ventanas que no tienen el foco.
tb_right_pressed_img         tb_right_pressed_img.png
tb_tile_pressed_img         tb_tile_pressed_img.png
tb_left_pressed_img         tb_left_pressed_img.png
Define las imágenes a utilizar para el borde derecho (tb_right_pressed_img), el fondo (tb_tile_pressed_img) y el borde izquierdo (tb_left_pressed_img) de la Barra de Tareas, en la ventana que tiene el foco.
tb_default_icon_img         tb_default_icon_img.png Define el icono a mostrar en la Barra de Tareas para aquellas aplicaciones que no disponen del mismo.
tb_font             DejaVuSans/8 La fuente a utilizar en los títulos de las ventanas que se muestran en los botones de la Barra de Tareas.
tb_text_color_idle         FFFFFF
tb_text_color_pressed         FFFFFF
El color del texto de los títulos de las ventanas a mostrar en los botones de la Barra de Tareas, de las que no tienen el foco (tb_text_color_idle) y de la que lo tiene (tb_text_color_pressed), admite también nombres de color: blue, white, black, etc.



tb_text_offset_x         5
tb_text_offset_y         0
Define el desplazamiento horizontal (tb_text_offset_x) y vertical (tb_text_offset_y) del texto de los botones de la Barra de Tareas.
tb_text_align             left Define la alineación del texto de los botones de la Barra de Tareas, puede ser left (a la izquierda), right (a la derecha) y center (en el centro)
tb_icon_offset_x         0
tb_icon_offset_y         1
Define el desplazamiento horizontal (tb_icon_offset_x) y vertical (tb_icon_offset_y) de los iconos de las ventanas a mostrar en la Barra de Tareas.
tb_icon_w             16
tb_icon_h             16
El tamaño en píxeles en anchura y altura de los iconos que se mostrarán en la Barra de Tareas.
tb_space_gap             1 Define la distancia entre los separadores del panel y los bordes de la Barra de Tareas.
#--------------------- switcher --------------------------------  Configuración del Conmutador de Escritorios
ds_left_corner_idle_img     tb_left_idle_img.png
ds_right_corner_idle_img     tb_right_idle_img.png
Define las imágenes a utilizar para el borde izquierdo (ds_left_corner_idle_img) y el borde derecho (ds_right_corner_idle_img) del Conmutador de Escritorios, cuando los botones ubicados en los laterales no están presionados.
ds_left_corner_pressed_img     tb_left_pressed_img.png
ds_right_corner_pressed_img     tb_right_pressed_img.png
Define las imágenes a utilizar para el borde izquierdo (ds_left_corner_pressed_img) y el borde derecho (ds_right_corner_pressed_img) del Conmutador de Escritorios cuando los botones ubicados en los laterales están presionados.
ds_right_idle_img         ds_right_idle_img.png
ds_tile_idle_img         tb_tile_idle_img.png
ds_left_idle_img         ds_left_idle_img.png
Define las imágenes a utilizar para el borde derecho (ds_right_idle_img), el fondo (ds_tile_idle_img) y el borde izquierdo (ds_left_idle_img) de los botones centrales del Conmutador de Escritorios, cuando no están presionados.
ds_right_pressed_img         ds_right_pressed_img.png
ds_tile_pressed_img         tb_tile_pressed_img.png
ds_left_pressed_img         ds_left_pressed_img.png
Define las imágenes a utilizar para el borde derecho (ds_right_pressed_img), el fondo (ds_tile_pressed_img) y el borde izquierdo (ds_left_pressed_img) de los botones centrales del Conmutador de Escritorios, cuando están presionados.
ds_separator_img         ds_separator_img.png La imagen a utilizar para los separadores existentes entre los botones que componen el Conmutador de Escritorios.
ds_font             DejaVuSans/8 La fuente a utilizar en los botones que componen el Conmutador de Escritorios.
ds_text_color_idle         FFFFFF
ds_text_color_pressed         FFFFFF
El color del texto de los botones del Conmutador de Escritorios, de los que no están presionados (ds_text_color_idle) y de los que lo están (ds_text_color_pressed), admite también nombres de color: blue, white, black, etc.



ds_text_offset_x         0
ds_text_offset_y         0
Define el desplazamiento horizontal (ds_text_offset_x) y vertical (ds_text_offset_y) del texto de los botones del Conmutador de Escritorios.
ds_text_padding         8 Define el nivel de fusión entre los píxeles del fondo de los botones del Conmutador de Escritorios y el texto que muestran éstos.
ds_text_align             center Define la alineación del texto de los botones del Conmutador de Escritorios, puede ser left (a la izquierda), right (a la derecha) y center (en el centro)
ds_space_gap             3 Define la distancia entre los separadores del panel y los bordes del Conmutador de Escritorios.



Configurar el inicio de BMPanel  
 
A continuación algunos ejemplos de inicio de BMPanel con algunos de los administradores de ventanas cuya documentación está disponible en la web. Para cargar un tema diferente al que usa por defecto, siempre tenemos que añadir el comando de ejecución con el nombre del tema seleccionado, por ejemplo:

bmpanel redmini &

1) Openbox

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

cwallpaper -l
xbindkeys &
bmpanel &

2) 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

bmpanel &

numlockx &
idesk &
cwallpaper -l

3) 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:

bmpanel &
exec pekwm

4) 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:

bmpanel &
exec pekwm



Iniciamos BMPanel


Captura BMPanel (native) + Openbox - 1
BMPanel + Openbox


Captura BMPanel (clearlooks) + Sawfish - 1
BMPanel + Sawfish




Enlaces  


https://github.com/nsf/bmpanel2 >> Enlace al proyecto de BMPanel 2, continuación de BMPanel con más características.


Foro Galería Blog


Actualizado el 18-08-2023

Utilidades de Escritorio - BMPanel

Utilidades de Escritorio - Blue ComboUtilidades de Escritorio - Conky