diff options
author | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2019-08-22 16:21:39 +0300 |
---|---|---|
committer | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2019-08-22 16:21:39 +0300 |
commit | 9949f5be1a170e6b158ba76a57554fb96d702242 (patch) | |
tree | eb37b1e071853f8c2959cff1b49fc96c20ae6622 /src/compositor/meta-compositor.c | |
parent | 0ef46da1b9e9bea5c80b29a1819b04a64886e6ed (diff) | |
download | metacity-9949f5be1a170e6b158ba76a57554fb96d702242.tar.gz |
compositor: add composited property
Diffstat (limited to 'src/compositor/meta-compositor.c')
-rw-r--r-- | src/compositor/meta-compositor.c | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/src/compositor/meta-compositor.c b/src/compositor/meta-compositor.c index a83c3ae7..be518911 100644 --- a/src/compositor/meta-compositor.c +++ b/src/compositor/meta-compositor.c @@ -33,6 +33,8 @@ typedef struct { MetaDisplay *display; + gboolean composited; + /* _NET_WM_CM_Sn */ Atom cm_atom; Window cm_window; @@ -54,6 +56,8 @@ enum PROP_DISPLAY, + PROP_COMPOSITED, + LAST_PROP }; @@ -171,6 +175,10 @@ meta_compositor_get_property (GObject *object, g_value_set_pointer (value, priv->display); break; + case PROP_COMPOSITED: + g_value_set_boolean (value, priv->composited); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; @@ -195,6 +203,10 @@ meta_compositor_set_property (GObject *object, priv->display = g_value_get_pointer (value); break; + case PROP_COMPOSITED: + g_assert_not_reached (); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; @@ -209,6 +221,11 @@ install_properties (GObjectClass *object_class) G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + properties[PROP_COMPOSITED] = + g_param_spec_boolean ("composited", "composited", "composited", + FALSE, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + g_object_class_install_properties (object_class, LAST_PROP, properties); } @@ -463,7 +480,27 @@ meta_compositor_is_our_xwindow (MetaCompositor *compositor, gboolean meta_compositor_is_composited (MetaCompositor *compositor) { - return !META_IS_COMPOSITOR_NONE (compositor); + MetaCompositorPrivate *priv; + + priv = meta_compositor_get_instance_private (compositor); + + return priv->composited; +} + +void +meta_compositor_set_composited (MetaCompositor *compositor, + gboolean composited) +{ + MetaCompositorPrivate *priv; + + priv = meta_compositor_get_instance_private (compositor); + + if (priv->composited == composited) + return; + + priv->composited = composited; + + g_object_notify_by_pspec (G_OBJECT (compositor), properties[PROP_COMPOSITED]); } gboolean |