0

Trying to move a window by grip-able button. On 2 other window managers, and no manager it works fine. Windows move anywhere you want pass display edge bounds. On GNOME Shell and Mutter(Gala) the window is confined to the desktop view with no part of it allowed past display edges. On Compiz I use _NET_WM_MOVERESIZE, other 2 are grab_pointer. The mutter variants won't work using _NET_WM_MOVERESIZE which is fine, but I can't figure out what property to set on the window to allow normal configure messages to get past display limits. Hint as to which it is would be appreciated, kinda would like to support the variant.

Need a window_property_set or client message to root to be able to use configure_window.

Using code:

#if USE_XLIB
  XMoveWindow(display, motion->event, values[0], values[1]);
#else
  xcb_configure_window(session->connection, motion->event,
               XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y, values);
#endif

This will only allow movement to the confines of 'maximize' window display. Moving left, negative x values get converted by GNOME to 0. Moving toward bottom, any value greater than window.y + window.height gets converted to display height - taskbar height - window height by GNOME. Verified by values received on configure notify.

Do I need to delete a _NET_WM_STRUT property on my window or root window to use? Looking at gdk3 code they use the Xlib variant of code.

Solved
Problem is issue that GNOME only supports move of window correctly through their toolkit. It appears to lack proper support of both EWMH and ICCCM. Workaround is to use override-redirect, taking away its ability to mess with configure message.

2
  • 1
    Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking. Commented May 29 at 21:56
  • If you found an answer to your question, please add it as an actual answer. Commented Jun 12 at 7:57

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.