diff --git a/Makefile b/Makefile index 9049e18..a9dfe03 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,7 @@ PREFIX = /usr/local ifeq (${GTK3}, 1) GTK = gtk+-3.0 VTE = vte-2.90 + CFLAGS += -DGTK3 else GTK = gtk+-2.0 VTE = vte diff --git a/termite.c b/termite.c index 0455cc6..2cf884b 100644 --- a/termite.c +++ b/termite.c @@ -226,10 +226,20 @@ int main(int argc, char **argv) { #ifdef TRANSPARENCY GdkScreen *screen = gtk_widget_get_screen(window); + +#ifdef GTK3 + GdkVisual *visual = gdk_screen_get_rgba_visual(screen); + if (visual == NULL) + visual = gdk_screen_get_system_visual(screen); + + gtk_widget_set_visual(GTK_WIDGET(window), visual); +#else GdkColormap *colormap = gdk_screen_get_rgba_colormap(screen); if (colormap != NULL) { gtk_widget_set_colormap(window, colormap); } +#endif + vte_terminal_set_background_saturation(VTE_TERMINAL(vte), TRANSPARENCY); vte_terminal_set_opacity(VTE_TERMINAL(vte), (guint16)(0xffff * (1 - TRANSPARENCY))); #endif