Para mantener la misma apariencia con cualquier formato de instalación, decidimos incluir GTK
La razón por la que una misma aplicación se ve ligeramente distinta en cada distribución suele estar no en la aplicación, sino en la versión del toolkit instalada en el sistema. A partir de beta.2, los cuatro formatos de instalación incluyen las mismas bibliotecas.

En Linux, incluso una misma compilación de una aplicación puede verse distinta según la distribución. La forma de los interruptores cambia, los márgenes de los cuadros de diálogo se descuadran y, en ocasiones, las ventanas ni siquiera se abren. Esto se debe a que cada sistema tiene instalado un toolkit diferente.
mote también ha mantenido dos tipos de compilación. El paquete .deb utilizaba el GTK del sistema, mientras que AppImage, tarball y Flatpak incluían directamente las bibliotecas necesarias.
A partir de beta.2, hemos unificado las compilaciones en una sola.
Aunque el método de instalación sea distinto, la aplicación es la misma
Ahora el paquete .deb también incluye GTK 4.22 y libadwaita 1.9 en /opt/mote. Se puede instalar mediante apt install en Ubuntu 22.04 y Debian 12, independientemente de las bibliotecas instaladas en el sistema. Su apariencia y comportamiento también son iguales a los de AppImage, tarball y Flatpak.
Hemos alineado las bibliotecas incluidas con el entorno de ejecución de GNOME de Flatpak. Son GLib 2.88, Pango 1.56, HarfBuzz 11, cairo 1.18 y fontconfig 2.16. Para que pueda ejecutarse también en distribuciones antiguas, las compilamos directamente en un contenedor con glibc 2.35.
El objetivo es reducir la cantidad de casos que hay que comprobar. Cuando se utiliza el GTK del sistema, cada versión de Ubuntu tiene un toolkit diferente. La 24.04 incluye la versión 4.14; la 24.10, la 4.16; y la 25.04, la 4.18. Cada vez que se corrige una sola línea de estilo, hay que comprobar todas esas combinaciones. Ahora solo hace falta comprobar el método de instalación.
También consideramos la posibilidad de eliminar el paquete .deb. Sin embargo, en el escritorio de Ubuntu, apt es la vía de instalación más familiar. AppImage tarda unos 140 ms más en iniciarse y necesita FUSE. El tarball no dispone de actualizaciones automáticas, y Flatpak necesita excepciones del sandbox y alrededor de 1 GB de entorno de ejecución.
Por eso, en lugar de eliminar el paquete .deb, cambiamos lo que lleva dentro.
Compramos consistencia por 14 MB
Hay un coste. El tamaño del paquete .deb aumentó de 4 MB a 34 MB. Al abrir el mismo documento, la memoria PSS también aumentó de 115 MB a 129 MB. Esto se debe a que las bibliotecas incluidas en la aplicación no pueden compartirse con otras aplicaciones GTK.
El rendimiento se ha mantenido. El tiempo p95 desde una pulsación de tecla hasta su representación en pantalla disminuyó de 4,82 ms a 4,07 ms. La mediana del tiempo hasta que aparece la primera pantalla también mejoró ligeramente, de 306 ms a 303 ms. Cuando la aplicación simplemente permanece abierta, sigue sin dibujar fotogramas, igual que antes.
A cambio de utilizar 14 MB adicionales de memoria, conseguimos la misma aplicación en cualquier distribución.
Actualizar el toolkit incluido es una tarea periódica que se realiza aproximadamente una vez al año. Cuando se actualiza el entorno de ejecución de GNOME de Flatpak, también actualizamos la versión incluida. En ese momento, las ocho filas del laboratorio se convierten en la puerta de control para esa actualización.
mote decide las preferencias; el usuario, la accesibilidad
También hemos reorganizado la configuración de la marca. El color de acento y la fuente de la interfaz utilizan los valores predeterminados de mote y se aplican de la misma manera a los widgets de libadwaita. Si quieres seguir la configuración del escritorio, solo tienes que desactivar los dos interruptores en Configuración → Apariencia.
En cambio, la configuración de accesibilidad siempre respeta la elección del usuario. La aplicación no sobrescribe la escala del texto ni la configuración de HiDPI. Los usuarios que hayan activado el texto grande también podrán verlo grande en mote. El modo oscuro también puede elegirse directamente entre sistema, claro y oscuro.
Comprobamos la entrada de texto en coreano en ocho entornos
Cuando cambia el toolkit, lo primero que hay que revisar es el método de entrada. Comprobamos la entrada de texto en coreano en ocho entornos que combinaban los distintos métodos de instalación con ibus y fcitx5, X11 y Wayland, y Ubuntu 22.04 y 24.04. Todos superaron las pruebas.
También modificamos las pruebas para que no dependieran de funciones de inspección destinadas al desarrollo. Ahora instalamos los archivos que distribuimos realmente y después comprobamos que la composición de texto en coreano funcione correctamente.

La forma más segura de crear la misma aplicación para cualquier entorno es empezar reduciendo las condiciones que pueden variar.