Conecta con nosotros

Hola, ¿qué estás buscando?

Actualidad

Estilos CSS para GTK+

Los desarrolladores de motores de temas para GNOME/GTK+ están de enhorabuena pues se ha comentado por los blogs de los desarrolladores de GTK+ que el futuro para este toolkit gráfico pasa por algo muy similar a las famosas CSS u hojas de estilo en cascada. Dichas hojas de estilo son usadas para separar estructura de presentación a la hora de desarrollar una web, y son las encargadas (como su nombre indica) de darle estilo a la web en que modifiquen.

Pues bien, resulta que se está desarrollando una especie de parser CSS adaptado para decorar las GUIs que hagan uso de esta característica, usando una sintaxis muy similar a la de las CSS originales. Esto es, cualquiera que tenga cierta experiencia en creación de web con CSS podrá decorar la interfaz de su programa de manera sencilla, rápida y eficaz.

De esta manera, podremos modificar o crear GUIs ricas en contenido visual y sin afectar a la párte lógica del programa (el código fuente) facilitando de esta manera el trabajo a la hora de realizar aplicaciones gráficas destinadas a potenciar la ayuda visual y espectacularidad de las mismas. Un ejemplo sencillo de como funcionaría este sistema podría ser lo siguiente, mediante el cual se establece un color de fondo personalizado para los llamados Check Buttons, los que solemos marcar para seleccionar una opción dentro de un programa

/* Coloca un color de fondo al tipo
* GtkCheckButton y todos los "heredados"
* del mismo
*/
GtkCheckButton{
    background-color: #14a414;
}

Como verán los lectores dedicados al diseño web, la sintaxis es idéntica a la de CSS, solo que en vez de usar los identificadores de los tags de HTML, se usan los nombres de los diversos widgets de GTK+. Otro ejemplo mostrando las capacidades de animación integradas podrías ser lo que sigue a continuación

/* Transiciones animadas para el check button.
* Para los botones, al igual que para los tags
* en html, se pueden definir varios estados
*/
GtkCheckButton:active{
    transition: 200ms ease-in-out;
}

Las ventajas de este proyecto son varias:

  • Los elementos se renderizarán usando Cairo, la biblioteca gráfica de dibujo vectorial de GNOME, por lo que el rendimiento general de toda la interfaz se verá mejorado.
  • Los distintos widgets podrán decorarse cada uno de manera independiente.
  • Se da soporte a animaciones, de modo que los motores de estilo ya no necesitarán implementar por si mismos dicha función, asegurandose una compatibilidad uniforme para todos los temas que hagan uso de dichas animaciones.

De hecho una versión preliminar del llamado GtkStyleContext ya se puede probar, aunque aún falta que los desarrolladores de motores de estilo creen algunos compatibles con dicha característica.Aunque esto no es nada nuevo para los amigos de KDE/Qt, que llevan ya un tiempo soportando esta misma característica, desde luego podemos afirmar que será un paso de gigante en el campo de la personalización y edición de interfaces gráficas en lo referente a GTK+. Si quereis saber más, no os olvideis de pasar por el blog de Carlos Garnacho, desarrollador de GNOME que ha dado a conocer dicha característica.

38 Comentarios
Advertencia
Advertencia

Te recomendamos

Actualidad

La beta de Fedora 40 ha sido publicada como el pistoletazo de salida para la fase final del desarrollo de la próxima versión de...

Actualidad

GNOME 46, cuyo nombre en clave es “Kathmandu”, ha sido publicado con una gran cantidad de novedades que abarcan características muy diferentes, desde el...

Actualidad

Oracle ha publicado JDK 22, que dependiendo del prisma por el que se mire puede ser entendido como OpenJDK 22 o Java 22. Una...

Actualidad

Hace tiempo que no publicamos sobre postmarketOS, el sistema operativo Linux que tiene como objetivo prolongar la vida útil de esos smartphones que han...