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

Entornos GráficosAplicaciones

Administradores de SesionesAdministradores de VentanasEscritoriosUtilidades de Escritorio

Utilidades de Escritorio - IceDockUtilidades de Escritorio - LXPanel

Utilidades de Escritorio - IPager




Utilidades de Escritorio - IPager




Copyright

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


 
Sumario

Introducción
Características
Preliminares
Instalación
Directorio de configuración personal
Configuración
Configurar el inicio de IPager
Iniciamos IPager
Paquetes binarios
Enlaces




Introducción  
       
Primer manual dedicado al mundo de los paginadores, no es que sea un fanático del uso de éstos, pero reconozco que a muchos usuarios les puede venir muy bien un paginador, si el administrador de ventanas que están utilizando no lo soporta directamente.  Los paginadores tradicionales como Bbpager o FbPager suelen ser bastante simples en su modo de desplegar la ubicación de las ventanas que tengamos abiertas en los diferentes escritorios virtuales, sólo muestran formas geométricas.

Sin llegar, ni mucho menos, al nivel de realismo que muestra el paginador de Enlightenment - E16, dónde nos muestra una imagen en miniatura de cada uno de los escritorios virtuales, IPager es posiblemente el paginador independiente más completo que existe en GNU/Linux, muestra los iconos de las aplicaciones que tengamos abiertas en los diferentes escritorios virtuales, facilitando la identificación de éstas, soporta zoom, temas, se puede arrastrar una ventana de un escritorio a otro, etc. En principio fue desarrollado sólo para Fluxbox, pero lo podemos utilizar también con otros administradores de ventanas, éste es su manual.



Características  

* Soporte de zoom cuando colocamos el puntero del ratón sobre el mismo.
* Varios efectos de zoom de imagen.
* Ventana principal transparente.
* Escritorios virtuales con soporte de iconos con transparencia.
* Soporte de color de fondo en la ventana principal.
* Soporte de color de fondo o transparencia para el icono del escritorio virtual.
* Se pueden aplicar bordes a la ventana principal y a los iconos de los escritorios virtuales.
* Haciendo clic con cualquier botón del ratón se puede cambiar de escritorio virtual.
* Se puede enviar una ventana de un escritorio virtual a otro arrastrándola con el ratón.
* Muestra los iconos de las aplicaciones que estén corriendo en los diferentes escritorios virtuales.
* Soporte de temas mediante el uso de diferentes archivos de configuración. (Trae 6 temas ya configurados).



Preliminares  

1) Comprobar que la ruta de instalación de los binarios del programa la tenemos en nuestro PATH


Abrimos una ventana de terminal y ejecutamos el siguiente comando:

[jose@Fedora-18 ~]$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/jose/bin

Si no aparece entre las rutas mostradas el directorio /usr/local/bin, abrimos un editor de texto y añadimos lo siguiente:

#!/bin/sh

export PATH=/usr/local/bin:$PATH

Lo guardamos con el nombre variables.sh, y lo instalamos en /etc/profile.d.

$ su -c "install -m755 variables.sh /etc/profile.d"

Tenemos que cerrar el emulador de terminal y volverlo a abrir para que la variable de entorno aplicada sea efectiva. Es conveniente guardar una copia de este script para posteriores instalaciones de nuestro sistema, teniendo en cuenta que es el que se va a utilizar a partir de ahora en todos los manuales de esta web, para establecer variables de entorno globales, excepto en aquellas que sólo afectan al usuario, en las que se utilizará el archivo de configuración personal, ~/.bashrc.

La ventaja de utilizar el directorio /etc/profile.d es que es común a todas las distribuciones y nos evita tener que editar otros archivos del sistema como por ejemplo, /etc/profile.

2) Desinstalar versiones anteriores del programa ubicadas en el directorio /usr

Aún en el caso de que la versión a compilar la vayamos a instalar en el mismo directorio que la que proporciona la distribución, siempre se debe desinstalar previamente la versión antigua, para evitar conflictos innecesarios.



Instalación  

Dependencias

Herramientas de Compilación


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

* GCC - (13.2.0)
* SCons - (4.5.2)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 21.1.8)
   LibX11 - (1.8.6)
   LibXext - (1.3.5)
   LibXmu - (1.1.4)
* Imlib2 - (1.12.0)



Descarga

ipager-1.1.0.tar.xz

Firma Digital  Clave pública PGP

ipager-1.1.0.tar.xz.asc 

Verificar la firma digital del paquete

$ gpg --import manualinux.asc
$ gpg --verify ipager-1.1.0.tar.xz.asc ipager-1.1.0.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:
* 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/gcc12/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'

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

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

$ tar Jxvf ipager-1.1.0.tar.xz
$ cd ipager-1.1.0

Compilación

$ scons

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
# scons install
# install -dm755 /usr/local/share/ipager/themes
# install -m644 themes/*.conf /usr/local/share/ipager/themes

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

$ mkdir -p ~/.ipager
$ cp -rf /usr/local/share/ipager/themes ~/.ipager

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

Estadísticas de Compilación e Instalación de IPager
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 + Ccache 4.8.2
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 4"
Archivos instalados 7
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 104 KB

Consumo inicial de CPU y RAM de IPager

Consumo inicial de CPU y RAM de IPager
Programa
CPU RAM
ipager 0 % 2,5 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  

~/.ipager Es el directorio de configuración personal de IPager en nuestro home.
~/.ipager/ipager.conf Es el archivo de configuración por defecto de IPager, se crea de forma automática junto con el directorio al ejecutarlo por primera vez.
~/.ipager/themes El directorio de ubicación de los temas, los que trae por defecto y los que edite el usuario, el nombre del directorio y su ubicación es el definido para la elaboración de este documento (se puede utilizar cualquier otro nombre o ubicación). Para cargar un tema, basta ejecutar el siguiente comando, un ejemplo:

$ ipager -c ~/.ipager/themes/atlantis.conf

Desinstalación como root

1) MODO TRADICIONAL

Este programa no tiene soporte para desinstalación con el comando 'scons 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.

ipager-1.1.0-scripts.tar.gz

$ su
# tar zxvf ipager-1.1.0-scripts.tar.gz
# cd ipager-1.1.0-scripts
# ./Desinstalar_ipager-1.1.0

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 ipager-1.1.0-scripts.tar.gz
# cd ipager-1.1.0-scripts
# ./Respaldar_ipager-1.1.0

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_ipager-1.1.0



Configuración de IPager  

Sirva de ejemplo el archivo de configuración que se crea por defecto con los comentarios traducidos al español, y más información que he añadido personalmente. 

# Distancia en píxeles entre los iconos de los escritorios virtuales que forman el paginador.
# No confundir con los iconos de las aplicaciones que se pueden mostrar si lo tenemos
# configurado para ello.
icon.spacing:      5
# Anchura mínima y máxima de los iconos, la mínima es la que se muestra por
# defecto, la máxima es la que se muestra al hacer zoom.
icon.min_width:    24
icon.max_width:    48
# Altura mínima y máxima de los iconos, la mínima es la que se muestra por
# defecto, la máxima es la que se muestra al hacer zoom.
icon.min_height:   24
icon.max_height:   48
# Regula el nivel de ampliación al hacer zoom.
icon.maximize_threshold: 0.9

#
# Posición de la ventana de IPager
# El valor por defecto es x:0/y:0 (Arriba a la izquierda). Algunos ejemplos de posición
# tomando como referencia una resolución de pantalla de 1024x768. Y teniendo en cuenta
# que tendremos que descontar el tamaño máximo de los iconos, en este caso 48, porque de
# lo contrario el paginador no se mostrará en pantalla y nos mostrará un mensaje en la
# consola advirtiéndonos de lo mismo.
# Arriba a la derecha: x:870/y:0
# Arriba en el centro: x:435/y:0 o 20
# Abajo a la derecha: x:870/y:720
# Abajo a la izquierda: x:0/y:720
# Abajo en el centro: x:435/y:700 o 720
ipager.window.x:  0
ipager.window.y:  0

# ¿Mostrar IPager al inicio en el slit? [yes/no] (sí/no)
ipager.in_slit: no


# Mostrar las ventanas pegajosas y enrolladas [yes/no] (sí/no)
#
display_sticky_windows:   yes
display_shaded_windows:   yes


# Mostrar icono de la ventana de la aplicación
# [ yes | no | mouseOver ] ( sí | no | al colocar el puntero del ratón encima )
display_window_icon:      yes



#
# El botón del ratón para cambiar de escritorio al hacer clic sobre los
# iconos que componen el paginador
#
# [ left | right | middle | any ] (izquierdo | derecho | central | todos)
# o
# ajustar los botones como:
#    left, right
#    middle, right
#
switch_workspace.button: any


# Cambiar de escritorio con la rueda del ratón cuando el puntero esté
# colocado sobre el paginador
mouse.scroll.up: nextWorkspace
mouse.scroll.down: prevWorkspace



#
# Delta (en píxeles)
#
# Cuando un icono del escritorio virtual cambia de tamaño
# IPager compara los valores nuevos con los anteriores. 
# Si estos difieren menos que 'zoom.recreate_icon_delta' 
# IPager continúa usando el icono antiguo y fija el zoom al mismo.
# Si el tamaño difiere más que el valor 'zoom.recreate_icon_delta',
# entonces, IPager crea una nueva imagen de icono.
# no es muy eficaz crear de forma regular los iconos.
#
zoom.recreate_icon_delta: 0



# Define el estilo de zoom de los iconos.
# zoomAndExpand: Al hacer zoom el paginador se expande para evitar que un escritorio
# se superponga sobre los otros
# over: Al hacer zoom sobre un escritorio, éste se superpone sobre los otros
#
#   [zoomAndExpand | over]
#
zoom.type: over


# Mostrar el número del escritorio virtual [yes/no] (sí/no]
display_workspace_number: no
# Define el color del número del escritorio virtual
workspace_number.color:   #FFFF00
# Define la ruta al directorio de la fuente que vamos a utilizar para el número
ttf_font_path: /usr/share/fonts/TTF
# Define la fuente a utilizar y su tamaño
ttf_font: Vera/14



#
# Imagen a utilizar para el fondo de la ventana del Paginador
#
#ipager.background.image: /ruta/a/imagen.png


#
# Colores (#RRGGBB)
# Si no se indica ninguno se mostrará transparente en los elementos indicados.
# fondo del paginador
ipager.background.color:
# borde del paginador
ipager.border.color:
# fondo del escritorio virtual
workspace.background.color:
# borde del escritorio virtual
workspace.border.color:
# fondo del escritorio virtual activo
active_workspace.background.color:
# borde del escritorio virtual activo
active_workspace.border.color:
# fondo de las ventanas de las aplicaciones que se muestran en el paginador
window.background.color:        #A47D73
# borde de las ventanas de las aplicaciones que se muestran en el paginador
window.border.color:
# fondo de las ventanas activas de las aplicaciones que se muestran en el paginador
active_window.background.color: #F09029
# borde de las ventanas activas de las aplicaciones que se muestran en el paginador
active_window.border.color:     #FFFFFF
# elemento seleccionado
selection_color: #FF0000



Configurar el inicio de IPager  

Aunque se puede utilizar en cualquier administrador de ventanas, los ejemplos abajos explicados tratan de administradores que no soportan directamente paginador, lo cual no quiere decir que en los otros no se pueda utilizar IPager, incluso es recomendable su uso (el hecho de poder arrastrar ventanas de un escritorio a otro es una característica muy buena) aunque estemos utilizando un panel como PyPanel, Fbpanel o LXPanel, ampliamente tratados en esta web.

Para evitar problemas de integración con el fondo del escritorio utilizaremos el comando sleep para retardar la ejecución de IPager.

1) Blackbox

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

#!/bin/sh

(sleep 2; bbkeys &) &
docker &
bsetbg -f ~/Fotos/40.jpg
sleep 5; ipager &


2) Fluxbox


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

# Applications you want to run with fluxbox.
# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE END.
#
# unclutter -idle 2 &
# wmnd &
# wmsmixer -w &
wmix &
idesk &
sleep 5; ipager &

3) Openbox

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

sleep 5 && pypanel &
xbindkeys &
Esetroot -scale ~/Fondos/2141.jpg
sleep 5; ipager -c ~/.ipager/themes/light_gray.conf &

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

numlockx &
#fbpanel &
#idesk &
#wmix &
hsetroot -fill /home/jose/Fotos/Natasha_Henstridge.jpg -gamma 1.5 -sharpen 1.5 -blur 1.0
sleep 5; wbar &
sleep 5; ipager &

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 (las opciones de posición irán en función del entorno que estemos utilizando) si no existe lo creamos, y añadimos lo siguiente:

sleep 5; ipager &
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:

sleep 5; ipager &
exec pekwm

Para otros administradores de ventanas, consultar sus respectivos manuales, en lo que haga referencia a la ejecución de programas al inicio de estos.



Iniciamos IPager   


Captura IPager + Fluxbox

Captura - IPager - 1
IPager + Fluxbox


Captura IPager + Blackbox

Captura - IPager - 2
IPager + Blackbox 




Enlaces  


https://github.com/artb/ipager >> Enlace al proyecto derivado del original, hospedado en GitHub.

https://aur.archlinux.org/packages/ipager >> Enlace al repositorio del paquete de IPager para Arch Linux, del cual, se han obtenido los parches para el paquete disponible en este manual.


Foro Galería Blog


Actualizado el 20-08-2023

Utilidades de Escritorio - IPager

Utilidades de Escritorio - IceDockUtilidades de Escritorio - LXPanel