I've managed to iconify a window using XIconifyWindow
, but haven't managed to later restore it. I tried the following:
XMapRaised (display, window);
And:
XMapWindow (display, window);
And:
XClientMessageEvent ev;
std::memset (&ev, 0, sizeof ev);
ev.type = ClientMessage;
ev.window = window;
ev.message_type = XInternAtom(display, "WM_CHANGE_STATE", False);
ev.format = 32;
ev.data.l[0] = NormalState;
XSendEvent (display, RootWindow(display, XDefaultScreen(display)), False,
SubstructureRedirectMask |SubstructureNotifyMask, (XEvent*)&ev);
XFlush (display);
To no success. I'm using Debian Jessie with GNOME 3.14.0.
WM_CHANGE_STATE
message with data element ofNormalState
? (Though I would have assumed thatXMapRaised
would have un-iconified the window correctly are you sure you flushed the calls/waited for the server? Have you also made sure that you called that on the correct toplevel window and didn't leave an ancestor iconified/withdrawn?) – ParklandXIconifyWindow(display, window)
on identical values fordisplay
andwindow
? – Parkland