Compilando un menú global en Debian 9

Dada mi casi insana obsesión por aprovechar al máximo los cada vez más reducidos píxeles verticales de mi pantalla (gracias, wide screen formats) siempre he admirado la idea de integrar los menús de aplicaciones en el panel superior del escritorio. Sí, a lo Mac OS, a lo Unity, preparad los tomates fanboys y haters del ciberuniverso. Sin embargo, ni utilizo software privativo ni me gusta lo más mínimo el ahora moribundo Unity. Y desafortunadamente los vastos repostorios debianitas tampoco cuentan con una alternativa viable (tenemos el topmenu plugin para XFCE y Mate, pero no funciona bien con aplicaciones GTK3). Por suerte, rilian-la-te ha escrito este pequeño applet para sacarnos del apuro. Veamos cómo instalarlo en Debian 9:

1) Instalamos dependencias

A pesar de que en las instrucciones del autor la lista es mucho más pequeña, yo no he sido capaz de compilar el applet sin instalar este puñado de dependencias (todas en repos):

# aptitude install valc valac libbamf3-2 libbamf3-2-dev libbamf3-dev libgtk-3-dev openjdk-8-jdk libxfce4panel-2.0-dev libxconf-0-dev libpeas-1.0-0 dbusmenu-glib-0.4 libpeas-dev libdbusmenu-glib-dev libwnck-3-dev libxfcegui4-dev libxfce4ui-2-dev bamfdaemon libdbusmenu-gtk-dev libdbusmenu-gtk3-dev`

Si además queremos tener soporte para aplicaciones QT:

# aptitude install appmenu-qt

2) Clonamos el repositorio

Podéis crear un directorio específico o clonarlo directamente en vuestra home. Una vez dentro del directorio donde queremos clonar, tecleamos:

$ git clone https://github.com/rilian-la-te/vala-panel-appmenu.git

3) Descargamos los submódulos necesarios

$ git submodule init
$ git submodule update

4) Creamos un directorio específico para compilar el applet

$ mkdir build
$ cd build

5) Compilamos con make e instalamos

Configuramos la compilación:

$ cmake -DENABLE_XFCE=ON -DENABLE_JAYATANA=ON -DENABLE_UNITY_GTK_MODULE=ON -DCMAKE_INSTALL_PREFIX=/usr ..

Donde:

DENABLE_XFCE=ON compila la versión para el panel de XFCE4 (también existe la opción de hacerlo para Mate o para Vala Menu,

DENABLE_JAYATANA=ON compila soporte para aplicaciones Java Swing

DENABLE_UNITY_GTK_MODULE=ON compila el unity-gtk-module, imprescindible salvo que uses Ubuntu

DCMAKE_INSTALL_PREFIX=/usr define donde se va a realizar la instalación

Procedemos a la compilación e instalación:

$ make
# make install

(Instalo como root porque he indicado /usr como directorio de instalación. Podéis instalarlo en cualquier otro directorio sin privilegios de superusuario).

Tip

Para desinstalarlo, desde el propio directorio de instalación basta con teclear:

# xargs rm < install_manifest.txt

6) Configuraciones post-instalación

Editamos /etc/environment para que se ejecute appmenu-gtk-module:

export GTK_MODULES=appmenu-gtk-module
export UBUNTU_MENUPROXY=1

Ocultamos los menús de las aplicaciones individuales para que se muestren en el panel de XFCE:

$ xfconf-query -c xsettings -p /Gtk/ShellShowsMenubar -n -t bool -s true
$ xfconf-query -c xsettings -p /Gtk/ShellShowsAppmenu -n -t bool -s true

Añadimos el applet al panel de XFCE, reiniciamos el servidor gráfico y ¡listo!

Actualización Noviembre 2018: vala-appmenu está en los repositorios de Debian Buster.

Actualización Noviembre 2018 (II): Nos cuenta Diego que DENABLE_UNITY_GTK_MODULE ahora es DENABLE_APPMENU_GTK_MODULE, echad un vistazo al comentario o al repo para más información ¡Gracias Diego!

8 ideas sobre “Compilando un menú global en Debian 9”

Los comentarios están cerrados.