Una de las razones por las que algunos usuarios evitan instalar aplicaciones Flatpak es que la mayoría de las aplicaciones Flatpak no cambian su apariencia según el tema del sistema actual. Esto hace que las aplicaciones se vean fuera de lugar en su hermosa configuración.
La forma oficial de aplicar temas GTK a las aplicaciones Flatpak es instalando el tema deseado como flatpak. Sin embargo, solo hay unos pocos temas GTK que se pueden instalar como Flatpak.
Esto significa que si encontró un hermoso tema GTK, sus aplicaciones Flatpak seguirán usando su apariencia predeterminada. ¡Pero espera! Hay una solución.
En este tutorial, les presentaré una forma de hacer que las aplicaciones flatpak sean conscientes de los temas GTK externos.
Aplicación de temas GTK a aplicaciones Flatpak (nivel intermedio)
Antes de continuar, entendamos por qué las aplicaciones flatpak tienen este comportamiento.
Las aplicaciones de Flatpak se ejecutan dentro de un "contenedor", por lo que no tienen acceso al sistema de archivos del host, la red o los dispositivos físicos sin establecer explícitamente el permiso apropiado, y eso es lo que vamos a hacer.
Como dije antes, esta es una solución alternativa, no una solución perfecta. No espere que cambie los temas de las aplicaciones de Flatpak automáticamente cuando cambie el tema del sistema. Sin embargo, puede cambiarlo para todas las aplicaciones de Flatpak con un solo comando.
Veamos cómo lograrlo. Tenga en cuenta que este tutorial requiere que esté un poco familiarizado con la línea de comandos de Linux y que pueda orientarse en la terminal.
Paso 1:Dar acceso a las aplicaciones Flatpak a la ubicación de los temas GTK
Los temas GTK se encuentran en /usr/share/themes para todos los usuarios y en ~/.themes para un usuario específico.
Para dar permiso a todos los paquetes flatpak para acceder a ~/.themes ejecuta el siguiente comando:
sudo flatpak override --filesystem=$HOME/.themes
Tenga en cuenta que no puede dar acceso a /usr/share/themes porque, según la documentación de Flatpak, están en la lista negra.
Alternativamente , también puede hacer esto en la base por aplicación. Debe especificar el ID de la aplicación para el que va a cambiar el tema.
sudo flatpak override org.gnome.Calculator --filesystem=$HOME/.themes
Paso 2:indica a las aplicaciones de Flatpak qué tema usar
Dar acceso a ~/.themes no es suficiente porque este directorio puede contener varios temas. Para decirle a flatpak qué tema GTK usar, primero obtenga el nombre del tema deseado y luego aplique el siguiente comando:
sudo flatpak override --env=GTK_THEME=my-theme
Como puede ver en la captura de pantalla a continuación, hay dos temas disponibles, Ant-Bloody y Orchis-dark. Copiar y pegar el nombre exacto del tema en el comando anterior:
Alternativamente, para una aplicación individual, ejecute:
sudo flatpak override org.gnome.Calculator --env=GTK_THEME=my-theme
y reemplace my-theme con el nombre de la carpeta del tema que desea aplicar (y debe estar ubicado en ~/.themes).
Paso 3:Pruebe el cambio de tema ejecutando una aplicación Flatpak
Si la aplicación ya se estaba ejecutando, deberá cerrarla y volver a iniciarla. Verá que la aplicación recién iniciada utiliza el tema que había especificado anteriormente.
Aquí hay una captura de pantalla de la calculadora GNOME y el generador GNOME (versión Flatpak) antes de los pasos anteriores:
Y después de los pasos anteriores (Con el tema Canta GTK):
Eso es mejor, ¿verdad? Ahora, podría dejarlo aquí, pero sería apropiado mencionar los pasos para revertir los cambios.
Revertir los cambios
Puede restablecer los cambios restableciendo todas las anulaciones a la vez. Tenga en cuenta que esto restablecerá cualquier anulación anterior que haya establecido explícitamente.
sudo flatpak override --reset
Alternativamente, también puede restablecer los permisos a nivel de paquete:
sudo flatpak override --reset org.example.app
Si anuló previamente el GTK_THEME o el sistema de archivos para un paquete Flatpak específico mediante el restablecimiento de "anulación de flatpak", lo ayudará a configurarlo nuevamente.
Información adicional
Las aplicaciones GTK normales cargan el tema GTK especificado por gsettings, puede ejecutar el siguiente comando para obtener los temas GTK aplicados actualmente:
gsettings get org.gnome.desktop.interface gtk-theme
Y para configurar el tema GTK, ejecuta:
gsettings set org.gnome.desktop.interface gtk-theme my-theme
Para hacer lo anterior con Flatpak, debe ingresar una sesión de shell dentro del contenedor de la aplicación deseada ejecutando:
flatpak run --command=bash org.gnome.Calculator
Y dentro de esta sesión, ejecute el comando anterior:
gsettings set org.gnome.desktop.interface gtk-theme my-theme
Pero eso no funcionó conmigo, así que recurrí a usar la variable de entorno GTK_THEME, que se supone que se usa con fines de depuración. Si lograste que gsettings funcionara, cuéntamelo en los comentarios.
Sé que no es una solución automatizada, pero al menos te da la opción de cambiar los temas de las aplicaciones de Flatpak con un par de comandos. De esta manera, puede hacer que la aplicación Flatpak se integre con el resto del sistema.
espero que esto te ayude. Si tiene algún problema, menciónelo en los comentarios.
Artículo Original