From: Iain Lane <iain@orangesquash.org.uk>
Date: Thu, 16 Jul 2015 10:32:38 +0100
Subject: [PATCH] Add the style context provider with FALLBACK priority

Let's try again. This time we have two style providers. One of them is at
APPLICATION priority and cannot be overridden by the theme. It sets the padding
on VteTerminal widgets. The other one is at FALLBACK priority and is for
colours. This can be overridden by the theme.

This reverts commit bd86e7637d89a55941674756e3e223c82aee2305.

Bug-Upstream: https://bugzilla.gnome.org/show_bug.cgi?id=740123
---
 src/vtegtk.cc | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/vtegtk.cc b/src/vtegtk.cc
index 4544d9a..86ced97 100644
--- a/src/vtegtk.cc
+++ b/src/vtegtk.cc
@@ -84,6 +84,7 @@ constexpr bool check_enum_value(T value) noexcept;
 
 struct _VteTerminalClassPrivate {
         GtkStyleProvider *style_provider;
+        GtkStyleProvider *style_provider_padding;
 };
 
 #if VTE_GTK == 4
@@ -853,6 +854,9 @@ try
         context = gtk_widget_get_style_context(&terminal->widget);
         gtk_style_context_add_provider (context,
                                         VTE_TERMINAL_GET_CLASS (terminal)->priv->style_provider,
+                                        GTK_STYLE_PROVIDER_PRIORITY_FALLBACK);
+        gtk_style_context_add_provider (context,
+                                        VTE_TERMINAL_GET_CLASS (terminal)->priv->style_provider_padding,
                                         VTE_TERMINAL_CSS_PRIORITY);
 
 #if VTE_GTK == 3
@@ -2451,6 +2455,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
 
         klass->priv->style_provider = GTK_STYLE_PROVIDER (gtk_css_provider_new ());
 #if VTE_GTK == 3
+        klass->priv->style_provider_padding = GTK_STYLE_PROVIDER (gtk_css_provider_new ());
         auto err = vte::glib::Error{};
 #elif VTE_GTK == 4
         g_signal_connect(klass->priv->style_provider, "parsing-error",
@@ -2474,6 +2479,11 @@ vte_terminal_class_init(VteTerminalClass *klass)
 #endif
                                          );
 #if VTE_GTK == 3
+        gtk_css_provider_load_from_data (GTK_CSS_PROVIDER (klass->priv->style_provider_padding),
+                                         "VteTerminal, " VTE_TERMINAL_CSS_NAME " {\n"
+                                           "padding: 1px 1px 1px 1px;\n"
+                                         "}\n",
+                                         -1, NULL);
         err.assert_no_error();
 #endif
 
-- 
2.34.1

