Proyecto NetBSD sobre el cambio del gestor de ventanas predeterminado en la sesión X11 a en . CTWM es un fork de twm que surgió en 1992 y ha evolucionado hacia la creación de un gestor de ventanas ligero y completamente configurable, permitiendo modificar la apariencia y el comportamiento a gusto del usuario.
El gestor de ventanas twm se había ofrecido en NetBSD durante los últimos 20 años y, en las condiciones actuales, parecía arcaico. La reacción negativa de las personas ante el twm predeterminado llevó a los desarrolladores a reconsiderar la interfaz por defecto y a implantar un gestor de ventanas más funcional, CTWM, para crear un entorno amigable para los usuarios con experiencia en otros sistemas operativos.
CTWM soporta escritorios virtuales, se desarrolla activamente y se distribuye bajo una licencia compatible con NetBSD. Entre las nuevas funcionalidades implementadas en CTWM se destacan un menú de aplicaciones generado automáticamente, combinaciones de teclas útiles para un control completo sin ratón, adaptación para trabajar con diferentes resoluciones de pantalla (incluyendo HiDPI tras la adición de fuentes grandes), y la capacidad de soportar tanto sistemas muy lentos como muy rápidos mediante un único archivo de configuración.
Antes:
Después:
Adicionalmente nota sobre el estado del proyecto para habilitar el funcionamiento del servidor composite en NetBSD basado en el protocolo Wayland. El puerto aún no está listo para un uso cotidiano, pero ya es adecuado para experimentos y para ejecutar aplicaciones que utilizan Qt5, GTK3 o SDL2. Entre los problemas se señala la incompatibilidad con algunas aplicaciones, incluyendo Firefox, la falta de soporte para ejecutar aplicaciones X11, y la posibilidad de trabajar solo con GPU Intel para las cuales existe un controlador que permite cambiar los modos de video a nivel de núcleo.
Entre las características de Wayland que dificultan el porting a NetBSD se menciona la cantidad considerable de código específico del sistema operativo en los gestores de composición, que son responsables de la gestión de la pantalla, la entrada y la gestión de ventanas. Wayland no proporciona protocolos listos para tales capacidades como la creación de capturas de pantalla, el bloqueo de pantalla y la gestión de ventanas, y aún se queda atrás en áreas como la portabilidad, la modularidad y la estandarización en comparación con el servidor X.
Las funcionalidades adicionales se implementan a través del gestor compuesto o mediante la definición de extensiones a los protocolos. El servidor compuesto de referencia Weston está fuertemente vinculado a la API del núcleo de Linux. Por ejemplo, la vinculación con el mecanismo de multiplexión de entrada-salida epoll requiere una reestructuración para soportar kqueue. Los parches para usar kqueue ya han sido preparados por los desarrolladores de sistemas BSD, pero aún no han sido aceptados en el núcleo principal.
El código del servidor compuesto de referencia fue originalmente escrito con una consideración únicamente hacia Linux y no tiene en cuenta las características de otros sistemas (por ejemplo, en el código se utiliza "#include " y depende de libinput). En FreeBSD se implementó un clon de la API de entrada de Linux, pero en NetBSD se utiliza una API fundamentalmente diferente para la gestión de la entrada: wscons. En la actualidad, el soporte para wscons ya se ha añadido en swc y se planea llevarlo a otros gestores compuestos.
Los representantes de NetBSD tienen la intención de convencer a los desarrolladores de Wayland de no usar una vinculación rígida a epoll, y cambiar a una capa universal, como libevent. Entre los trabajos planificados también se incluye la actualización de la pila DRM/KMS del núcleo de NetBSD y los controladores gráficos, incluida la portación de código del núcleo de Linux, así como la adición de soporte para el cambio atómico de modos de video, nuevas versiones de DRM y la API Glamor (para ejecutar aplicaciones X11 bajo la gestión de xwayland). Se planea agregar soporte para marcos de buffer en el servidor compuesto basado en Wayland.
Fuente: opennet.ru
