KWinFT cambia de nombre a Theseus’ Ship y lanza su primera versión estable ya bajo este nombre
Los desarrolladores del administrador de ventanas compuestas KWinFT, dieron a conocer mediante una publicación de blog algunos de los cambios que han realizado en el proyecto y entre los más destacados es el cambio del nombre del proyecto, el cual ahora pasa a llamarse «Theseus Ship». Mencionan que con el cambio del nombre del proyecto, se trasladara el desarrollo de GitLab a GitHub y formando una versión principal de Theseus Ship 6.0. (la cual ya fue liberada).
Theseus Ship es compatible con Wayland y X11, está dirigido a KDE Plasma y puede usarse como un reemplazo transparente de KWin. Como tal el proyecto se diferencia de KWin por un procesamiento interno significativo y el uso de bibliotecas COMO (Módulos Compositores).
COMO se desarrolló inicialmente para la integración de KDE pero puede usarse en otros entornos de escritorio, facilitando la sustitución de funciones y la realización de cambios en la lógica operativa, utilizando plantillas de C++ y OpenGL para aplanar la salida, ya que forman un conjunto de módulos de composición que pueden usarse como base para crear administradores compuestos para Wayland y X11. Ademas de ello, COMO utiliza activamente plantillas de C++, lo que facilita la sustitución de funciones y la realización de cambios en la lógica operativa. OpenGL se utiliza para aplanar la salida.
La funcionalidad de Theseus Ship se centra en proporcionar soporte completo y de alta calidad para Wayland, incluyendo la reelaboración de características arquitectónicas de KWin que complican la integración con Wayland, implementando extensiones adicionales al protocolo Wayland y brindando soporte completo para sesiones basadas en Wayland.
Por la parte de los cambios que introduce la nueva versión, se destaca por su transición a Qt 6 y la adaptación para su uso con KDE Plasma 6, con soporte para renderizado usando controladores OpenGL y tambien:
- Se han realizado varios cambios en el código, incluida la eliminación de ciertas señales y la reestructuración de componentes.
- Se han renombrado varios elementos del script para una mejor claridad y coherencia.
- Se han agregado varias características nuevas, como la opción de bloqueos solo en X11, respaldo del tema del cursor y soporte para diferentes tipos de hardware gráfico.
- Se han realizado mejoras en la usabilidad, como la adición de accesos directos y opciones de configuración más claras.
- Se han introducido cambios significativos en la interfaz de usuario y la experiencia de usuario, como la reorganización de la configuración de Plasma 6 y la implementación de comentarios de diseño de VDG para Thumbnail Grid.
- Se han realizado mejoras en el rendimiento y la estabilidad del sistema, como la optimización de la animación de la pantalla del ojo hacia el centro de la ventana y la corrección de errores relacionados con la adaptación a Qt6.
- Se han solucionado varios errores y problemas, como problemas de compatibilidad, errores tipográficos y errores de rendimiento.
Deshabilitar quitLock. - Se eliminaron las propiedades obsoletas en WindowThumbnailItem.
- Se eliminó el escritorio kde include.
- El código Qt 5 fue eliminado y deshabilitado.
- Se eliminó la función doPaintBackground, la referencia de la pantalla de efectos de la salida base, la conexión interna de Wayland, la API de KCM no compatible con KWin core y la función de ubicación al tomar el control.
- Se eliminaron las constantes sospechosas de estilo C y reglas temporales.
- Renderizar textura sin estructura de datos auxiliar.
- Reordenar los miembros del cuadro de pestañas.
- Reemplazar el número mágico con un miembro de enumeración nombrado de eventos NewStuff.
- Reemplazar las matrices de proyección con el concepto mvp.
- Reemplazar la bandera y-invertida con la enumeración de transformación de contenido.
- Se limpiaron los cambios menores de escritorio.
- Ventanas propias en el espacio.
- Se transfirió el cambio de escritorio fuera de PlasmaExtras.Heading.
- Se portaron algunos scripts a org.kde.kwin v3 qml api.
- Proporcionar propiedades de ventana como QString.
- Refactorizar la configuración genérica con script.
- Eliminar el captador de escritorio.
- Establecer acceso directo en la función de plataforma.
- Utilizar una ruta mejor para los scripts.
Finalmente si estás interesado en poder conocer más al respecto, debes saber que el código del proyecto está escrito en C++ y se distribuye bajo la licencia GPLv2 y puedes consultar los detalles del nuevo lanzamiento en el siguiente enlace.