// Is the WM ICCCM supporting?
XGetWindowProperty(display, rootWnd,
- _NET_SUPPORTING_WM_CHECK, 0, UINT_MAX,
+ _NET_SUPPORTING_WM_CHECK, 0, LONG_MAX,
False, XA_WINDOW, &type, &format, &nwins,
&after, (unsigned char **)&wins);
if ( type != XA_WINDOW || nwins <= 0 || wins[0] == None )
// Query for supported features:
XGetWindowProperty(display, rootWnd,
- _NET_SUPPORTED, 0, UINT_MAX,
+ _NET_SUPPORTED, 0, LONG_MAX,
False, XA_ATOM, &type, &format, &natoms,
&after, (unsigned char **)&atoms);
if ( type != XA_ATOM || atoms == NULL )
}
// it is neccessary to unmap the window, otherwise kwin will ignore us:
+ XSync(display, False);
+
bool wasMapped = IsMapped(display, w);
if (wasMapped)
+ {
XUnmapWindow(display, w);
+ XSync(display, False);
+ }
+
XChangeProperty(display, w, _NET_WM_WINDOW_TYPE, XA_ATOM, 32,
PropModeReplace, (unsigned char *) &data, lng);
+ XSync(display, False);
+
if (wasMapped)
+ {
XMapRaised(display, w);
+ XSync(display, False);
+ }
wxWMspecSetState(display, rootWnd, w,
fullscreen ? _NET_WM_STATE_ADD : _NET_WM_STATE_REMOVE,
_NET_WM_STATE_STAYS_ON_TOP);
+ XSync(display, False);
if (!fullscreen)
{
XMoveResizeWindow(display, w,
origRect->x, origRect->y,
origRect->width, origRect->height);
+ XSync(display, False);
}
}