[gnome-flashback] desktop: set RGBA visual
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-flashback] desktop: set RGBA visual
- Date: Tue, 29 Oct 2019 13:31:51 +0000 (UTC)
commit 2734b7e0d7c4df589cbd655c97565732979b47fc
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Tue Oct 29 01:00:34 2019 +0200
desktop: set RGBA visual
To make desktop window transparent if draw-background setting
is FALSE.
gnome-flashback/libdesktop/gf-desktop-window.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
---
diff --git a/gnome-flashback/libdesktop/gf-desktop-window.c b/gnome-flashback/libdesktop/gf-desktop-window.c
index 5dc0c89..161c412 100644
--- a/gnome-flashback/libdesktop/gf-desktop-window.c
+++ b/gnome-flashback/libdesktop/gf-desktop-window.c
@@ -187,6 +187,21 @@ gf_desktop_window_set_property (GObject *object,
}
}
+static void
+gf_desktop_window_realize (GtkWidget *widget)
+{
+ GdkScreen *screen;
+ GdkVisual *visual;
+
+ screen = gtk_widget_get_screen (widget);
+ visual = gdk_screen_get_rgba_visual (screen);
+
+ if (visual != NULL)
+ gtk_widget_set_visual (widget, visual);
+
+ GTK_WIDGET_CLASS (gf_desktop_window_parent_class)->realize (widget);
+}
+
static void
install_properties (GObjectClass *object_class)
{
@@ -223,13 +238,17 @@ static void
gf_desktop_window_class_init (GfDesktopWindowClass *self_class)
{
GObjectClass *object_class;
+ GtkWidgetClass *widget_class;
object_class = G_OBJECT_CLASS (self_class);
+ widget_class = GTK_WIDGET_CLASS (self_class);
object_class->constructed = gf_desktop_window_constructed;
object_class->dispose = gf_desktop_window_dispose;
object_class->set_property = gf_desktop_window_set_property;
+ widget_class->realize = gf_desktop_window_realize;
+
install_properties (object_class);
install_signals ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]