Domingo, Diciembre 17, 2017

Estilos CSS para GTK+

imagen1

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;
}

imagen2

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.

 

Fuente: muylinux

Compártelo. ¡Gracias!

 
Grupo Digital de Ayuda! Laboratorio Linux! - Linux para todos.

¿Quién está en línea?

Hay 80 invitados y ningún miembro en línea

Contador de Visitas

9076134
Hoy Hoy 882
Ayer Ayer 995
Esta semana Esta semana 5973
Este mes Este mes 14901
Total de Visitas Total de Visitas 9076134

Día con más
visitantes

11-11-2017 : 2493

Gracias por su visita