Index: intern/ghost/intern/GHOST_WindowX11.cpp =================================================================== RCS file: /cvsroot/bf-blender/blender/intern/ghost/intern/GHOST_WindowX11.cpp,v retrieving revision 1.18 diff -u -p -r1.18 GHOST_WindowX11.cpp --- intern/ghost/intern/GHOST_WindowX11.cpp 20 Mar 2007 04:19:30 -0000 1.18 +++ intern/ghost/intern/GHOST_WindowX11.cpp 13 Apr 2007 01:47:00 -0000 @@ -36,6 +36,7 @@ // For standard X11 cursors #include +#include // For obscure full screen mode stuuf // lifted verbatim from blut. @@ -164,6 +165,27 @@ GHOST_WindowX11( atom, atom, 32, PropModeReplace, (unsigned char *) &hints, 4); } + } + + // With this, xprop should report the following just after launch + // _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ + // After demaximization the right side is empty, though (maybe not the most correct then?) + if (state == GHOST_kWindowStateMaximized) { + Atom state, atomh, atomv; + + state = XInternAtom(m_display, "_NET_WM_STATE", False); + atomh = XInternAtom(m_display, "_NET_WM_STATE_MAXIMIZED_HORZ", False); + atomv = XInternAtom(m_display, "_NET_WM_STATE_MAXIMIZED_VERT", False); + if (state == None ) { + GHOST_PRINT("Atom _NET_WM_STATE requested but not avaliable nor created.\n"); + } else { + XChangeProperty(m_display, m_window, + state, XA_ATOM, 32, + PropModeAppend, (unsigned char *) &atomh, 1); + XChangeProperty(m_display, m_window, + state, XA_ATOM, 32, + PropModeAppend, (unsigned char *) &atomv, 1); + } } // Create some hints for the window manager on how