[gnome-terminal/scrollbar-bg-fix: 3/3] TerminalScreenContainer: move scrollbar inside a box and just theme that



commit 37e6ef7cb4f77eaa13deedc964f9f1fde3181500
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date:   Wed Sep 9 19:48:12 2015 +0200

    TerminalScreenContainer: move scrollbar inside a box and just theme that
    
    In this way the background doesn't apply to the full main hbox, at the
    current state this doesn't change much, but I guess it might in case of
    semi-transparent backgrounds.

 src/terminal-screen-container.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/src/terminal-screen-container.c b/src/terminal-screen-container.c
index e7303a5..c6d9f08 100644
--- a/src/terminal-screen-container.c
+++ b/src/terminal-screen-container.c
@@ -111,7 +111,7 @@ update_container_background_color (TerminalScreenContainer *container)
   css_string = g_strdup_printf ("* { background-color: %s; }", bg_color);
   gtk_css_provider_load_from_data (css_provider, css_string, -1, NULL);
 
-  style_ctx = gtk_widget_get_style_context (GTK_WIDGET (priv->hbox));
+  style_ctx = gtk_widget_get_style_context (priv->vscrollbar);
   gtk_style_context_add_provider (style_ctx, GTK_STYLE_PROVIDER (css_provider),
                                   GTK_STYLE_PROVIDER_PRIORITY_FALLBACK);
 
@@ -131,6 +131,7 @@ screen_bg_color_changed_cb (TerminalScreen *screen,
 static void
 terminal_screen_container_constructed (GObject *object)
 {
+  GtkWidget *scrollbar;
   TerminalScreenContainer *container = TERMINAL_SCREEN_CONTAINER (object);
   TerminalScreenContainerPrivate *priv = container->priv;
 
@@ -139,9 +140,11 @@ terminal_screen_container_constructed (GObject *object)
   g_assert (priv->screen != NULL);
 
   priv->hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+  priv->vscrollbar = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
 
-  priv->vscrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL,
-                                        gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (priv->screen)));
+  scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL,
+                                 gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (priv->screen)));
+  gtk_box_pack_start (GTK_BOX (priv->vscrollbar), scrollbar, TRUE, TRUE, 0);
 
   gtk_box_pack_start (GTK_BOX (priv->hbox), GTK_WIDGET (priv->screen), TRUE, TRUE, 0);
   gtk_box_pack_start (GTK_BOX (priv->hbox), priv->vscrollbar, FALSE, FALSE, 0);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]