Skip to content

Commit e1b834a

Browse files
liuyi92raveit65
authored andcommitted
fix setting transparency issue when used in GNOME3
1 parent 6f49c62 commit e1b834a

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

src/terminal-screen.c

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1138,6 +1138,25 @@ update_color_scheme (TerminalScreen *screen)
11381138
if (bold_rgba)
11391139
vte_terminal_set_color_bold (VTE_TERMINAL (screen),
11401140
bold_rgba);
1141+
1142+
/* In case of being used in GNOME3 desktop environment.
1143+
* code references to gnome-terminal
1144+
*/
1145+
if (bg_type == TERMINAL_BACKGROUND_TRANSPARENT)
1146+
{
1147+
/* toplevel widget */
1148+
GtkWidget *toplevel;
1149+
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (screen));
1150+
if (toplevel != NULL && gtk_widget_is_toplevel (toplevel)
1151+
&& !gtk_widget_get_app_paintable (toplevel))
1152+
{
1153+
gtk_widget_set_app_paintable (toplevel, TRUE);
1154+
/* The opaque region of the toplevel isn't updated until the toplevel is allocated;
1155+
* set_app_paintable() doesn't force an allocation, so do that manually.
1156+
*/
1157+
gtk_widget_queue_resize (toplevel);
1158+
}
1159+
}
11411160
}
11421161

11431162
void

0 commit comments

Comments
 (0)