]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.c
it would seem this cannot return NULL now
[chaz/openbox] / openbox / client.c
index e4d853441bfbb54f4fb76b9c77be8b3b9bc9a88b..c9cd076334c3076d25149d2cb5ea70c1362b2acd 100644 (file)
@@ -256,6 +256,10 @@ void client_manage(Window window, ObPrompt *prompt)
     /* the session should get the last say though */
     client_restore_session_state(self);
 
+    /* this needs to occur once we have a frame, since it sets a property on
+       the frame */
+    client_update_opacity(self);
+
     /* don't put helper/modal windows on a different desktop if they are
        related to the focused window.  */
     if (!screen_compare_desktops(self->desktop, screen_desktop) &&
@@ -1665,6 +1669,16 @@ void client_update_colormap(ObClient *self, Colormap colormap)
         self->colormap = colormap;
 }
 
+void client_update_opacity(ObClient *self)
+{
+    guint32 o;
+
+    if (OBT_PROP_GET32(self->window, NET_WM_WINDOW_OPACITY, CARDINAL, &o))
+        OBT_PROP_SET32(self->frame->window, NET_WM_WINDOW_OPACITY, CARDINAL, o);
+    else
+        OBT_PROP_ERASE(self->frame->window, NET_WM_WINDOW_OPACITY);
+}
+
 void client_update_normal_hints(ObClient *self)
 {
     XSizeHints size;
This page took 0.020608 seconds and 4 git commands to generate.