Home
  Software
    HowTo
      GTK+
        FlatStudio

Idioma:
  English

En esta página
  GUI
  Código cliente
  Código servidor
  Gracias

Temas
  GIOChannel
  Gio.IOChannel
  FIFO chat
  Socket chat

FlatStudio theme para gtk+

El tema FlatStudio para gtk+ es probablemente mi favorito... Los marcos y elementos oscuros son agradables para la vista, y no quitan de la importancia del trabajo.

De todas formas, esta página no estaría si no hubiera problemas. Parece que no hay mas soporte o actualizaciones para el tema en este momento. Última actualización fue para gtk+ 3.8 - y con los cambios frecuentes, significa varias roturas...

El tema mas molesto es que elementos compuestos (con GtkGrid o GtkBox), embebidos en otros (como tabs, o botones), tenían el fondo equivocado.

Después de un buen estudio, parece que este problema es causado por un error en el código CSS de FlatStudioDark que define los colores. (Favor de corregirme si estoy equivocado!). FlatStudioDark define un color de fondo por defecto, y luego se olvida de superarlo para elementos que son transparentes.

Para resolver al problema, definí dos pequeños archivos, uno para GtkGrid y otro para GtkBox, con una definición que supera al color de fondo. Y luego agregué un par de líneas a gtk.css para incluir los anteriores. Listo! Botonos y pestañas lindos de nuevo!

Fotos de antes y después


Before After
Notebook tab
Button

What to do?

Todo que sigue se hace en el directorio donde está instalado el tema FlatStudioDark. Tendría que ser:
/usr/share/themes/FlatStudioDark/gtk-3.0.

Agregué dos pequeños archivos para superar a la definición anterior de GtkGrid y GtkBox. Se podría hace con un solo archivos, pero queda mas elegante de esta forma. Estos son los archivos:

/**********
 * GtkBox *
 **********/

GtkBox {
    background-color:  transparent;
}
Guardar como box.css
/***********
 * GtkGrid *
 ***********/

GtkGrid {
    background-color:  transparent;
}
Guardar como grid.css

Y luego edité gtk.css para incuirlos. Cerca del final, agregar dos 'includes' para grid.css y box.css:

...

@import url("gtk-widgets.css");
@import url("menu_frame.css");
@import url("scrollbar.css");
@import url("sidebar.css");
@import url("grid.css");
@import url("box.css");

@import url("gtk-widgets-assets.css");
@import url("gnome-panel.css");
...

3108
(c) John Coppens ON6JC/LW3HAZ correo