130) How can an application iconify itself?

Answer: In R4 and later, use the call XIconifyWindow.

For R3, send an event to the root window with a type of WM_CHANGE_STATE and
data IconicState.

        void
        IconifyMe (dpy, win)
        Display *dpy;
        Window win;     /* toplevel window to iconify */
        {
                Atom xa_WM_CHANGE_STATE;
                XClientMessageEvent ev;

                xa_WM_CHANGE_STATE = XInternAtom (dpy,
                                        "WM_CHANGE_STATE", False);

                ev.type = ClientMessage;
                ev.display = dpy;
                ev.message_type = xa_WM_CHANGE_STATE;
                ev.format = 32;
                ev.data.l[0] = IconicState;
                ev.window = win;

                XSendEvent (dpy,
                        RootWindow (dpy, DefaultScreen(dpy)),
                        True,
                        (SubstructureRedirectMask | SubstructureNotifyMask),
                        &ev);
                XFlush (dpy);
        }
Go Back Up

Go To Previous

Go To Next