System76 continua con sus avances en Cosmic con Rust y ya trabaja en un nuevo panel
System76 (la empresa de distribución Pop!_OS Linux) dio a conocer hace poco un informe sobre el desarrollo de un nuevo entorno de usuario COSMIC reescrito en Rust. El entorno se está desarrollando como un proyecto universal que no está vinculado a una distribución específica y se ajusta a las especificaciones de Freedesktop, ademas de que también está desarrollando un servidor compuesto de compilación cósmica basado en Wayland.
Sobre el proyecto se menciona que para construir una interfaz, COSMIC usa la biblioteca Iced, que usa una arquitectura modular con seguridad de tipos y modelos de programación reactivos y también ofrece una arquitectura familiar para los desarrolladores familiarizados con Elm, un lenguaje de construcción de interfaz declarativo.
Hay que recordar que System76 opto por realizar el cambio de GTK e Iced, ya que durante las pruebas que se realizaron se prepararon varios applets de COSMIC, escritos simultáneamente en GTK e Iced para comparar tecnologías.
¿Que hay de nuevo en COSMIC?
En el reciente informe dado a conocer como principal noticia, se destaca el trabajo realizado en los «COSMIC Panels» que muestra una lista de ventanas activas, accesos directos para acceder rápidamente a las aplicaciones y la ubicación del soporte para applets (aplicaciones integradas que se ejecutan en procesos separados).
Por ejemplo, los applets implementan menús de aplicaciones, interfaces de cambio de escritorio, cambian diseños de teclado, controlan la reproducción de medios, cambian el volumen, controlan Wi-Fi y Bluetooth, muestran la salida de listas de notificaciones acumulativas, muestran el tiempo y apagan la pantalla de llamada. Cabe mencionar que se planea implementar un applet con pronóstico del tiempo, notas, administración del portapapeles e implementación del menú de usuario.
Se menciona que los paneles se pueden dividir en secciones, por ejemplo, una sección superior con menús e indicadores y una sección inferior con una lista de tareas activas y accesos directos. Los paneles parciales se pueden colocar vertical y horizontalmente, ocupar todo el ancho de la pantalla o solo un área seleccionada, usar transparencia y cambiar el estilo según la elección del diseño claro y oscuro.
Otro de los cambios que destacan, es la versión del servicio de optimización automática System76 Scheduler 2.0 el cual permite ajustar dinámicamente la configuración del programador de tareas CFS (Completely Fair Scheduler), cambia la prioridad de ejecución del proceso para reducir los retrasos y maximizar el rendimiento del proceso relacionado con la ventana de trabajo actual del usuario. Se menciona que se añadió nueva compatibilidad con políticas como SCHED_FIFO y SCHED_IDLE.
La nueva versión integra el servidor de medios Pipewire, aumentando la prioridad del proceso de visualización de contenido multimedia, ademas de que el archivo de configuración se ha convertido a un nuevo formato, donde puede definir sus propias reglas y controlar el uso de varios modos de optimización. Por ejemplo se menciona el estado de «Configuración basada en energía» aplicada a cgroups y procesos principales, el consumo de recursos en el proceso del programador principal se ha reducido en aproximadamente un 75 %.
De los demás cambios que se destacan:
- Nueva una implementación del configurador preparada con la nueva biblioteca de widgets .
- Primera versión del configurador ofrece configuraciones para el panel, el teclado y el fondo de escritorio.
- En el futuro, se incrementará el número de páginas con configuraciones.
- El configurador tiene una arquitectura modular que le permite conectar fácilmente páginas adicionales con configuraciones.
- Se están realizando preparativos para integrar soporte para pantallas de alto rango dinámico (HDR) y controles de color (por ejemplo, se planea agregar soporte para perfiles de color ICC).
- Se agregó soporte para la salida con 10 bits por canal de representación de color al servidor compuesto cosmic-comp.
- La biblioteca Iced GUI está trabajando en herramientas de soporte para personas con discapacidades.
- Se ha llevado a cabo una integración experimental con la biblioteca AccessKit y se ha añadido la posibilidad de utilizar lectores de pantalla Orca.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.