1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-19 20:38:08 +01:00

Remove _NET_FRAME_EXTENTS on shutdown.

After we exit there are no window decorations therefore frame extents
are meaningless.

We could be left with parts of the window being the wrong opacity if the
property is left intact and a compositing manager configured to draw
decorations with a different opacity to the rest of the window is still
running.

Remove the _NET_FRAME_EXTENTS property from all windows when we shut
down to prevent windows from being drawn incorrectly after we're gone.
This commit is contained in:
Iain Patterson
2012-09-14 15:31:14 +01:00
committed by Carlos R. Mafra
parent 0e995bbf6e
commit 5c0b851cc6
3 changed files with 8 additions and 0 deletions

View File

@@ -1617,6 +1617,8 @@ void wUnmanageWindow(WWindow *wwin, Bool restore, Bool destroyed)
wApplicationDeactivate(oapp); wApplicationDeactivate(oapp);
} }
wNETCleanupFrameExtents(wwin);
wWindowDestroy(wwin); wWindowDestroy(wwin);
XFlush(dpy); XFlush(dpy);
} }

View File

@@ -1642,3 +1642,8 @@ void wNETFrameExtents(WWindow *wwin)
XChangeProperty(dpy, wwin->client_win, net_frame_extents, XA_CARDINAL, 32, PropModeReplace, (unsigned char *) extents, 4); XChangeProperty(dpy, wwin->client_win, net_frame_extents, XA_CARDINAL, 32, PropModeReplace, (unsigned char *) extents, 4);
} }
void wNETCleanupFrameExtents(WWindow *wwin)
{
XDeleteProperty(dpy, wwin->client_win, net_frame_extents);
}

View File

@@ -45,4 +45,5 @@ int wNETWMGetCurrentDesktopFromHint(WScreen *scr);
char *wNETWMGetIconName(Window window); char *wNETWMGetIconName(Window window);
char *wNETWMGetWindowName(Window window); char *wNETWMGetWindowName(Window window);
void wNETFrameExtents(WWindow *wwin); void wNETFrameExtents(WWindow *wwin);
void wNETCleanupFrameExtents(WWindow *wwin);
#endif #endif