En los últimos años, la oferta de empaquetado de aplicaciones para Linux han ido aumentando en número y a estas alturas, ¿Quién no conoce las aplicaciones en formato Flatpak? Sus ventajas son muchas, la principal, es la de poder ser ejecutadas en cualquier plataforma Linux, independientemente de que pertenezcan a Achr, Debian, Ubuntu, etc. Y en cuanto al entorno de escritorio sea Gnome, Xfce, Mate, etc. etc. Esta capacidad se debe, a que fueron empaquetadas de modo independiente al sistema, con librerías propias y forman aplicaciones que funcionan dentro de cualquier sistema Linux sin ser invasoras en él.
Todo lo mencionado anteriormente, a simple vista tiene sus ventajas, pero también arrojan algunos inconvenientes. Hoy hablaremos de la parte estética y el problema que originan estas aplicaciones para servirse del los temas GTK que tengamos configurados en nuestros bellos escritorios Linux.
Antecedentes:
En cuanto al uso de los temas GTK. Las situaciones que nos surgen al usarlas, son tres principalmente:
- Una vez instaladas, con suerte nos tomará el tema que tenemos seleccionados en el resto de aplicaciones. Esta situación suele darse menos, sobre todo en entornos XFCE.
- Aunque no nos tomen el tema de ventanas del resto de aplicaciones, nos pueda tomar el tema oscuro desde la configuración de cada aplicación, si fueron empaquetadas con dicha opción. Esto ocurre con mayor frecuencia.
- Que no, nos tome nada más que el tema básico, ese gris clarito conocido por todos llamado Adwaita lo cual desluce enormemente nuestras aplicaciones. Suele pasar cuando dichas aplicaciones en formato Flatpak fueron empaquetadas en GTK3 o GTK4 principalmente. Y construidas para entornos Gnome o similar.
A continuación hablaremos de como podemos forzar a las aplicaciones, que usen en algunos casos los temas GTK seleccionados en nuestras ventanas comunes. En casos extremos, en los que se resisten, podemos optar, que utilicen un tema oscuro aun cuando se niegan a hacerlo, para que queden más integradas en nuestros bellos escritorios.
Tomemos como ejemplo el reproductor de música Lollypop y su hermosa interfaz que a veces desmerece enormemente, pues aunque recurramos a su menú de configuración y activemos la opción de emplear el tema oscuro, no lo hace. Hecho este, que me fastidiaba bastante en mi MX XFCE. Ya que sabéis que me gusta muchísimo personalizar hasta el último detalle, pero como os decía con Lollypop ni modo.
Al final lo pude resolver como podéis comprobar en la siguiente imagen.
Método:
Realmente el problema es muy simple, se origina por la característica de empaquetado de las aplicaciones Flatpak de modo independiente y cerrado al sistema. Todo ello genera problemas de permisos y acceso a las carpetas de los de temas de escritorio.
Así pues, a continuación veremos como concederles dichos permisos a los directorios de temas de manera “Global o individualizada”. “Aplicación por aplicación”, así como “indicarles el tema de ventanas que queremos utilicen”. O en su defecto en caso contrario que use el tema oscuro de Adwaita.
- Otorgándole permisos a las aplicaciones en formato Flatpak de manera Global y generalizada de una sola vez:
Para otorgarle permisos podemos servirnos de la terminal o de la aplicación llamada Flatseal, de la cual os hable en el siguiente artículo titulado: “Flatseal. La gestión simplificada de permisos en aplicaciones Flatpak”. Lo podéis consultar desde el siguiente enlace.
Imaginemos que la carpeta de nuestros temas en cuestión este en nuestra Home.
Para ello abriremos una terminal (Ctrl+Alt+t) y tipeamos el siguiente comando (Aclaro que son dos guiones iniciales juntos previos a “filesystem” que el tema del WordPress funde en uno):
sudo flatpak override –filesystem=$HOME/.themes |
Lo siguiente que tenemos que hacer, ahora que ya tiene acceso a la carpeta de temas, es indicarles que tema queremos que utilicen.
sudo flatpak override –env=GTK_THEME=my-theme |
Sustituiremos “my-theme” por el nombre exacto del tema que queramos en mi caso sería lo siguiente:
sudo flatpak override –env=GTK_THEME=WhiteSur-dark-alt |
*Nota: Debemos hacerlo como administrador (de ahí, él sudo), ya que crea modificaciones en el directorio “var”del sistema para guardar el archivo de configuración con los cambios. En caso contrario nos arrojaría error.
Ahora abrimos cualquier aplicación y observamos los resultados, recordar que este comando cambia todas las aplicaciones Flatpak.
Observaciones:
El resultado es bueno en algunas aplicaciones, pero este método general para todas las aplicaciones en formato Flatpak puede crear “roces o desfases”, con las configuraciones independientes de algunas aplicaciones. Creando de este modo problemas como que tome el tema del marco de las ventanas equivocado o fuera de lugar. Me paso con las aplicaciones del estilo Amberol Player, G4Music y alguna más ….. A las cuales se les rompió su cuidado diseño y se muestran con un marco ajeno y feo. Como refleja la siguiente imagen.
*A la izquierda como se muestra Amberol Player correctamente y a la derecha se observa como se ve al forzar de modo general a las aplicaciones que tomen un tema.
Por lo que recomiendo personalizar las aplicaciones de manera individual, lo cual es algo más laborioso, pero con mejor resultado.
Deshaciendo lo realizado
Para ello vasta con retirarle los permisos de acceso a la carpeta de los temas, cerramos la aplicación Flatpak abiertas y ejecutamos en una terminal
sudo flatpak override –reset |
2. Otorgándole permisos a las aplicaciones en formato Flatpak de manera personalizada e independiente (una a una). Es lo más recomendable cuando usamos muchas aplicaciones diferentes.
Este método es mucho más efectivo y productivo, yo lo suelo utilizar más a menudo. Tomemos como ejemplo la aplicación rebelde de Lollypo Player. Para darles permisos e indicarle que emplee determinado tema, lo primero y más necesario, es tener el identificativo de la aplicación. Suele contener términos como: “io. io.github. Com”, etc. Recordar, que es el mismo identificativo que empleamos para su instalación.
¡Tranquilos! Si no lo recordamos, consultaremos las aplicaciones instaladas en el sistema con el siguiente comando (recomiendo tener la ventana de la terminal maximizada para verlo correctamente).
flatpak list |
De todas las aplicaciones que aparecen solamente copiaremos su identificador. En este caso seria “org.gnome.Lollypop”
El siguiente paso, es darle permisos individualizados a la carpeta de temas de nuestra home, en este caso con el siguiente comando:
sudo flatpak override org.gnome.Lollypop –filesystem=$HOME/.themes |
Ahora procederemos a indicarle que tema debe usar de esa carpeta, en mi caso utilizo el llamado “WhiteSur-dark-alt”
sudo flatpak override org.gnome.Lollypop –env=GTK_THEME=WhiteSur-dark-alt |
Abrimos la aplicación y comprobamos el resultado.
*Como veis es óptimo, me coge el tono oscuro y el marco de ventana con los botones correctos.
Si deseamos deshacerlo, podemos realizarlo fácilmente con el siguiente comando.
sudo flatpak override –reset org.gnome.Lollypop |
3. Aplicaciones rebeldes que no admiten los métodos anteriores.
Estas aplicaciones que no cogen el tema señalado o ni siquiera desde su menú individual de configuración no nos deja que acepte un tema oscuro mínimo. Las causas pueden ser diferentes, pero normalmente, estas aplicaciones fueron construidas para Gnome u otros escritorios que están en constante actualización. Si fueron empaquetadas, por ejemplo, para servirse de GTK4, debemos considerar que en este tipo de escenarios solamente están pre configuradas para que admitan el tema Adwaita o en su defecto Adwaita-Dark.
Veamos, pues, como podemos forzarlas, para que tomen un aspecto oscuro, que al menos disimulen esta limitación y nos den un mayor grado de consecuencia en nuestros escritorios.
Necesitaremos tener instalados el tema Adwaita-dark desde flathub. Para ello, desde la terminal tipeamos:
flatpak install org.gtk.Gtk3theme.Adwaita-dark |
Observación:
Se pueden instalar varios de los que disponen allí, pero este es el que nos dará mejores resultados.
En esta ocasión usaremos como ejemplo la aplicación de edición de etiquetas de audio llamada “Gabtag” una de las que se negaban a cambiar con lo explicado anteriormente, dada su arquitectura.
Una aplicación de lo más sencillo, no trae opción en su menú de configuración de cambiarle a tema oscuro y que se sirve de ese tema cuanto menos soso (en mi entorno black) llamado Adwaita.
El siguiente paso es darle permisos de accesos a la carpeta del tema al instalarlo anteriormente lo debió situar en la carpeta. Themes del sistema.
*Os dejo el modo genérico o global para todas por si os hiciese falta. En esta ocasión el comando apunta al directorio de /.themes del sistema donde se instaló:
flatpak override –filesystem=/usr/share/themes/ |
Ahora a indicarle el tema que instalamos y queremos que use
flatpak override –env GTK_THEME=Adwaita-dark |
*Yo utilizaré el método individual para la aplicación “Gabtag”. Para ello tipearemos en la terminal.
Otorgándoles permisos de acceso a la carpeta .themes a la aplicación.
sudo flatpak override om.github.lachhebo.Gabtag –filesystem=/usr/share/themes/ |
Indicándoles el tema a utilizar que instalamos anteriormente.
flatpak override com.github.lachhebo.Gabtag –env GTK_THEME=Adwaita-dark |
Podemos deshacer lo hecho anteriormente y dejar la aplicación con el tema que usa por defecto con el siguiente comando.
sudo flatpak override –reset com.github.lachhebo.Gabtag |
Abrimos la aplicación para comprobar los resultados.
Como veis cogió el tema “Adwaita-dark” el cual está más acorde con los tonos black de mi escritorio.
Observaciones finales:
Bueno, como os comentaba en XFCE, adaptarlas aplicaciones en formato Flatpak es a veces tarea complicada. Con este artículo, he querido orientaros a adaptar algo más los temas de estas aplicaciones a vuestros gustos. Espero os sirva de guía para solventar estas incongruencias que surgen de vez en cuando en nuestros escritorios, por la disparidad de aplicaciones de este tipo.
Para cualquier duda podéis visitar nuestro grupo de apoyo en Telegram, desde el siguiente enlace.
Fuentes consultadas: