From 5b969ca3d5d480a0cae177e004767b1b9e0f48433416d617d0395e69bf1730b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Lie?= Date: Fri, 20 May 2016 14:38:03 +0000 Subject: [PATCH] Accepting request 396960 from home:Zaitor:branches:GNOME:Factory Resub - fixup of doh... OBS-URL: https://build.opensuse.org/request/show/396960 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-terminal?expand=0&rev=162 --- ...l-transparency-fix-for-broken-themes.patch | 62 ----- gnome-terminal-transparency.patch | 263 ------------------ gnome-terminal.changes | 11 + gnome-terminal.spec | 10 - 4 files changed, 11 insertions(+), 335 deletions(-) delete mode 100644 gnome-terminal-transparency-fix-for-broken-themes.patch delete mode 100644 gnome-terminal-transparency.patch diff --git a/gnome-terminal-transparency-fix-for-broken-themes.patch b/gnome-terminal-transparency-fix-for-broken-themes.patch deleted file mode 100644 index 26787a8..0000000 --- a/gnome-terminal-transparency-fix-for-broken-themes.patch +++ /dev/null @@ -1,62 +0,0 @@ -From df5793813d19dccfb6dfa75c1be766df562adb48 Mon Sep 17 00:00:00 2001 -From: Lars Uebernickel -Date: Wed, 28 May 2014 14:11:02 +0200 -Subject: [PATCH] window: Make the drawing robust across all themes - -There are lots of themes out there in the wild that do not specify a -background-color for all widgets and the default is transparent. This -is usually not a problem because GTK+ sets an opaque region on the -whole window and things without a background-color get drawn with the -theme's default background colour. However, to achieve transparency -we disable the opaque region by making the window app-paintable. This -can lead to transparent menubars or notebook tabs in some themes. We -can avoid this by ensuring that the window always renders a background. - -https://bugzilla.gnome.org/show_bug.cgi?id=730016 ---- - src/terminal-window.c | 21 +++++++++++++++++++++ - 1 files changed, 21 insertions(+), 0 deletions(-) - -diff --git a/src/terminal-window.c b/src/terminal-window.c -index 98acab4..b838424 100644 ---- a/src/terminal-window.c -+++ b/src/terminal-window.c -@@ -2189,6 +2189,26 @@ terminal_window_realize (GtkWidget *widget) - } - - static gboolean -+terminal_window_draw (GtkWidget *widget, -+ cairo_t *cr) -+{ -+ if (gtk_widget_get_app_paintable (widget)) -+ { -+ GtkStyleContext *context; -+ int width; -+ int height; -+ -+ context = gtk_widget_get_style_context (widget); -+ width = gtk_widget_get_allocated_width (widget); -+ height = gtk_widget_get_allocated_height (widget); -+ gtk_render_background (context, cr, 0, 0, width, height); -+ gtk_render_frame (context, cr, 0, 0, width, height); -+ } -+ -+ return GTK_WIDGET_CLASS (terminal_window_parent_class)->draw (widget, cr); -+} -+ -+static gboolean - terminal_window_state_event (GtkWidget *widget, - GdkEventWindowState *event) - { -@@ -2748,6 +2768,7 @@ terminal_window_class_init (TerminalWindowClass *klass) - - widget_class->show = terminal_window_show; - widget_class->realize = terminal_window_realize; -+ widget_class->draw = terminal_window_draw; - widget_class->window_state_event = terminal_window_state_event; - widget_class->screen_changed = terminal_window_screen_changed; - widget_class->style_updated = terminal_window_style_updated; --- -1.7.1 - - diff --git a/gnome-terminal-transparency.patch b/gnome-terminal-transparency.patch deleted file mode 100644 index 44f73f0..0000000 --- a/gnome-terminal-transparency.patch +++ /dev/null @@ -1,263 +0,0 @@ -From 1cb63cd1c90cb5bfc8ed2e6d161a7b96c51d8a29 Mon Sep 17 00:00:00 2001 -From: Debarshi Ray -Date: Mon, 12 May 2014 14:57:18 +0200 -Subject: [PATCH] Restore transparency - -The transparency settings were removed as a side effect of -2bff4b63ed3ceef6055e35563e9b0b33ad57349d - -This restores them and you will need a compositing window manager to -use it. The background image setting, also known as faux transparency, -was not restored. ---- - src/org.gnome.Terminal.gschema.xml | 10 ++++ - src/profile-editor.c | 11 ++++ - src/profile-preferences.ui | 92 ++++++++++++++++++++++++++++++++++++ - src/terminal-schemas.h | 3 + - src/terminal-screen.c | 22 ++++++++- - src/terminal-window.c | 7 +++ - 6 files changed, 144 insertions(+), 1 deletions(-) - -Index: gnome-terminal-3.17.91/src/org.gnome.Terminal.gschema.xml -=================================================================== ---- gnome-terminal-3.17.91.orig/src/org.gnome.Terminal.gschema.xml -+++ gnome-terminal-3.17.91/src/org.gnome.Terminal.gschema.xml -@@ -334,6 +334,16 @@ - 'narrow' - Whether ambiguous-width characters are narrow or wide when using UTF-8 encoding - -+ -+ false -+ Whether to use a transparent background -+ -+ -+ 50 -+ -+ Adjust the amount of transparency -+ A value between 0 and 100, where 0 is opaque and 100 is fully transparent. -+ - - - -Index: gnome-terminal-3.17.91/src/profile-editor.c -=================================================================== ---- gnome-terminal-3.17.91.orig/src/profile-editor.c -+++ gnome-terminal-3.17.91/src/profile-editor.c -@@ -1097,7 +1097,18 @@ terminal_profile_edit (GSettings *profi - "active-id", - G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET); - -+ g_settings_bind (profile, TERMINAL_PROFILE_USE_TRANSPARENT_BACKGROUND, -+ gtk_builder_get_object (builder, "use-transparent-background"), -+ "active", G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET); -+ g_settings_bind (profile, TERMINAL_PROFILE_USE_TRANSPARENT_BACKGROUND, -+ gtk_builder_get_object (builder, "background-transparent-scale-box"), -+ "sensitive", G_SETTINGS_BIND_GET | G_SETTINGS_BIND_NO_SENSITIVITY); -+ g_settings_bind (profile, TERMINAL_PROFILE_BACKGROUND_TRANSPARENCY_PERCENT, -+ gtk_builder_get_object (builder, "background-transparent-adjustment"), -+ "value", G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET); -+ - /* Finished! */ -+ - terminal_util_bind_mnemonic_label_sensitivity (editor); - - terminal_util_dialog_focus_widget (editor, widget_name); -Index: gnome-terminal-3.17.91/src/profile-preferences.ui -=================================================================== ---- gnome-terminal-3.17.91.orig/src/profile-preferences.ui -+++ gnome-terminal-3.17.91/src/profile-preferences.ui -@@ -23,6 +23,11 @@ - 1 - 100 - -+ -+ 100 -+ 1 -+ 10 -+ - - - -@@ -991,6 +996,93 @@ - 1 - - -+ -+ -+ True -+ False -+ horizontal -+ 12 -+ -+ -+ Use t_ransparent background -+ True -+ True -+ False -+ True -+ 0 -+ True -+ -+ -+ False -+ False -+ 0 -+ -+ -+ -+ -+ True -+ False -+ horizontal -+ 6 -+ -+ -+ True -+ False -+ 0.5 -+ none -+ -+ -+ -+ False -+ False -+ 0 -+ -+ -+ -+ -+ True -+ True -+ background-transparent-adjustment -+ False -+ -+ -+ True -+ True -+ 1 -+ -+ -+ -+ -+ True -+ False -+ 0.5 -+ full -+ -+ -+ -+ False -+ False -+ 2 -+ -+ -+ -+ -+ True -+ True -+ 1 -+ -+ -+ -+ -+ True -+ True -+ 2 -+ -+ - - - -Index: gnome-terminal-3.17.91/src/terminal-schemas.h -=================================================================== ---- gnome-terminal-3.17.91.orig/src/terminal-schemas.h -+++ gnome-terminal-3.17.91/src/terminal-schemas.h -@@ -63,6 +63,9 @@ G_BEGIN_DECLS - #define TERMINAL_PROFILE_VISIBLE_NAME_KEY "visible-name" - #define TERMINAL_PROFILE_WORD_CHAR_EXCEPTIONS_KEY "word-char-exceptions" - -+#define TERMINAL_PROFILE_USE_TRANSPARENT_BACKGROUND "use-transparent-background" -+#define TERMINAL_PROFILE_BACKGROUND_TRANSPARENCY_PERCENT "background-transparency-percent" -+ - #define TERMINAL_SETTING_CONFIRM_CLOSE_KEY "confirm-close" - #define TERMINAL_SETTING_DEFAULT_SHOW_MENUBAR_KEY "default-show-menubar" - #define TERMINAL_SETTING_ENABLE_MENU_BAR_ACCEL_KEY "menu-accelerator-enabled" -Index: gnome-terminal-3.17.91/src/terminal-screen.c -=================================================================== ---- gnome-terminal-3.17.91.orig/src/terminal-screen.c -+++ gnome-terminal-3.17.91/src/terminal-screen.c -@@ -765,7 +765,9 @@ terminal_screen_profile_changed_cb (GSet - prop_name == I_(TERMINAL_PROFILE_BACKGROUND_COLOR_KEY) || - prop_name == I_(TERMINAL_PROFILE_BOLD_COLOR_SAME_AS_FG_KEY) || - prop_name == I_(TERMINAL_PROFILE_BOLD_COLOR_KEY) || -- prop_name == I_(TERMINAL_PROFILE_PALETTE_KEY)) -+ prop_name == I_(TERMINAL_PROFILE_PALETTE_KEY) || -+ prop_name == I_(TERMINAL_PROFILE_USE_TRANSPARENT_BACKGROUND) || -+ prop_name == I_(TERMINAL_PROFILE_BACKGROUND_TRANSPARENCY_PERCENT)) - update_color_scheme (screen); - - if (!prop_name || prop_name == I_(TERMINAL_PROFILE_AUDIBLE_BELL_KEY)) -@@ -831,6 +833,8 @@ update_color_scheme (TerminalScreen *scr - GdkRGBA fg, bg, bold, theme_fg, theme_bg; - GdkRGBA *boldp; - GtkStyleContext *context; -+ GtkWidget *toplevel; -+ gboolean transparent; - - context = gtk_widget_get_style_context (widget); - gtk_style_context_get_color (context, gtk_style_context_get_state (context), &theme_fg); -@@ -851,9 +855,25 @@ update_color_scheme (TerminalScreen *scr - boldp = NULL; - - colors = terminal_g_settings_get_rgba_palette (priv->profile, TERMINAL_PROFILE_PALETTE_KEY, &n_colors); -+ -+ transparent = g_settings_get_boolean (profile, TERMINAL_PROFILE_USE_TRANSPARENT_BACKGROUND); -+ if (transparent) -+ { -+ gint transparency_percent; -+ -+ transparency_percent = g_settings_get_int (profile, TERMINAL_PROFILE_BACKGROUND_TRANSPARENCY_PERCENT); -+ bg.alpha = (100 - transparency_percent) / 100.0; -+ } -+ else -+ bg.alpha = 1.0; -+ - vte_terminal_set_colors (VTE_TERMINAL (screen), &fg, &bg, - colors, n_colors); - vte_terminal_set_color_bold (VTE_TERMINAL (screen), boldp); -+ -+ toplevel = gtk_widget_get_toplevel (GTK_WIDGET (screen)); -+ if (toplevel != NULL && gtk_widget_is_toplevel (toplevel)) -+ gtk_widget_set_app_paintable (toplevel, transparent); - } - - static void -Index: gnome-terminal-3.17.91/src/terminal-window.c -=================================================================== ---- gnome-terminal-3.17.91.orig/src/terminal-window.c -+++ gnome-terminal-3.17.91/src/terminal-window.c -@@ -2586,6 +2586,8 @@ terminal_window_init (TerminalWindow *wi - TerminalWindowPrivate *priv; - TerminalApp *app; - TerminalSettingsList *profiles_list; -+ GdkScreen *screen; -+ GdkVisual *visual; - GtkActionGroup *action_group; - GtkAction *action; - GtkUIManager *manager; -@@ -2601,6 +2603,11 @@ terminal_window_init (TerminalWindow *wi - - gtk_widget_init_template (GTK_WIDGET (window)); - -+ screen = gtk_widget_get_screen (GTK_WIDGET (window)); -+ visual = gdk_screen_get_rgba_visual (screen); -+ if (visual != NULL) -+ gtk_widget_set_visual (GTK_WIDGET (window), visual); -+ - uuid_generate (u); - uuid_unparse (u, uuidstr); - priv->uuid = g_strdup (uuidstr); diff --git a/gnome-terminal.changes b/gnome-terminal.changes index 7a95606..6d46e3d 100644 --- a/gnome-terminal.changes +++ b/gnome-terminal.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Thu May 19 14:06:49 UTC 2016 - zaitor@opensuse.org + +- Drop gnome-terminal-transparency-fix-for-broken-themes.patch and + gnome-terminal-transparency.patch: We will not be bringing these + back into the package as they brought various issues, and we do + not want to chase upstreams releases for rebaseing. +- Following the above: Drop libtool BuildRequires and disabled + autreconf call: no longer needed since the patch needing it in + the past is already dropped. + ------------------------------------------------------------------- Thu May 12 17:09:20 UTC 2016 - zaitor@opensuse.org diff --git a/gnome-terminal.spec b/gnome-terminal.spec index 1c37d69..dcc3443 100644 --- a/gnome-terminal.spec +++ b/gnome-terminal.spec @@ -24,16 +24,10 @@ License: GPL-3.0+ and LGPL-2.1+ Group: System/X11/Terminals Url: http://www.gnome.org Source: http://download.gnome.org/sources/gnome-terminal/3.20/%{name}-%{version}.tar.xz -# PATCH-FEATURE-OPENSUSE gnome-terminal-transparency.patch dimstar@opensuse.org -- Allow gnome-terminal to have transparent windows -Patch100: gnome-terminal-transparency.patch -# PATCH-FEATURE-OPENSUSE gnome-terminal-transparency-fix-for-broken-themes.patch dimstar@opensuse.org -- Ensure the window is always painted -Patch101: gnome-terminal-transparency-fix-for-broken-themes.patch BuildRequires: fdupes # Needed for search provider. It should not be needed in my opionion, we have to take this up with upstream, or just provide search provider interface definition file as source. BuildRequires: gnome-shell BuildRequires: intltool >= 0.50.0 -# Needed for patch 102 -BuildRequires: libtool BuildRequires: translation-update-upstream BuildRequires: update-desktop-files BuildRequires: vala >= 0.26 @@ -88,13 +82,9 @@ arbitrary folders. %lang_package %prep %setup -q -#patch100 -p1 -#patch101 -p1 translation-update-upstream %build -# Needed for patch102 -#autoreconf -fiv %configure \ --disable-static \ --without-pcre2 \