From c38dc7985e81a125adcdd7a48f07642673511849 Mon Sep 17 00:00:00 2001 From: Martin Wimpress Date: Thu, 29 Mar 2018 21:50:24 +0100 Subject: [PATCH] debian/patches: Add 0001_fix_setting_transparency.patch. Fix setting transparency when used in GNOME3. --- .../0001_fix_setting_transparency.patch | 31 +++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 32 insertions(+) create mode 100644 debian/patches/0001_fix_setting_transparency.patch diff --git a/debian/patches/0001_fix_setting_transparency.patch b/debian/patches/0001_fix_setting_transparency.patch new file mode 100644 index 0000000..7e1d9cc --- /dev/null +++ b/debian/patches/0001_fix_setting_transparency.patch @@ -0,0 +1,31 @@ +Author: liuyi92 +Description: Fix setting transparency when used in GNOME3 + +--- a/src/terminal-screen.c ++++ b/src/terminal-screen.c +@@ -1138,6 +1138,25 @@ update_color_scheme (TerminalScreen *screen) + if (bold_rgba) + vte_terminal_set_color_bold (VTE_TERMINAL (screen), + bold_rgba); ++ ++ /* In case of being used in GNOME3 desktop environment. ++ * code references to gnome-terminal ++ */ ++ if (bg_type == TERMINAL_BACKGROUND_TRANSPARENT) ++ { ++ /* toplevel widget */ ++ GtkWidget *toplevel; ++ toplevel = gtk_widget_get_toplevel (GTK_WIDGET (screen)); ++ if (toplevel != NULL && gtk_widget_is_toplevel (toplevel) ++ && !gtk_widget_get_app_paintable (toplevel)) ++ { ++ gtk_widget_set_app_paintable (toplevel, TRUE); ++ /* The opaque region of the toplevel isn't updated until the toplevel is allocated; ++ * set_app_paintable() doesn't force an allocation, so do that manually. ++ */ ++ gtk_widget_queue_resize (toplevel); ++ } ++ } + } + + void diff --git a/debian/patches/series b/debian/patches/series index bc1e32e..d54651e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ +0001_fix_setting_transparency.patch 1001_add-keywords-to-desktop-files.patch