All pastes #158048 Raw Edit

Unnamed

public text v1 · immutable
·published 2006-09-01 22:41 UTC
rendered paste body
    void setFullScreen (bool shouldBeFullScreen)
    {
        setMinimised (false);

        if (fullScreen != shouldBeFullScreen)
        {
            Atom netState = XInternAtom (display, "_NET_WM_STATE", 1);
            
            Window root = RootWindow (display, DefaultScreen (display));

            XClientMessageEvent clientMsg;
            clientMsg.display = display;
            clientMsg.window = windowH;
            clientMsg.type = ClientMessage;
            clientMsg.format = 32;
            clientMsg.message_type = netState;
            clientMsg.data.l[0] = shouldBeFullScreen ? 1 : 0;
            clientMsg.data.l[1] = _NET_WM_STATE_MAXIMIZED_VERT;
            clientMsg.data.l[2] = _NET_WM_STATE_MAXIMIZED_HORZ;
            clientMsg.data.l[3] = 0;
            clientMsg.data.l[4] = 0;
            

            XSendEvent (display, root, false,
                        SubstructureRedirectMask | SubstructureNotifyMask,
                        (XEvent*) &clientMsg);
 
            updateBorderSize();
            handleMovedOrResized();
            
            getComponent()->repaint();
        }
    }