GNOME Bugzilla – Bug 659848
window: Fix _NET_WM_FRAME_EXTENTS to work properly
Last modified: 2011-09-24 18:06:00 UTC
Spotted by Cosimo. This property should be set properly so that clients that need the visible frame extents (like gnome-screenshot) work properly.
Created attachment 197272 [details] [review] window: Fix _NET_WM_FRAME_EXTENTS to work properly _NET_WM_FRAME_EXTENTS should contain the *visible* frame extents of the window.
Created attachment 197275 [details] [review] window: Fix window placement to exclude invisible borders A window can specify geometry that it is placed at. We need to exclude invisible borders when calculating where to place the window, otherwise the window will have a strange offset.
Created attachment 197276 [details] [review] window: Fix _NET_FRAME_EXTENTS to work properly _NET_FRAME_EXTENTS should contain the difference between where a window asked to be placed, and where it is. Ideally, this should be the same as the visible extents. Fix up commit message. _NET_WM_FRAME_EXTENTS is certainly not a thing.
Review of attachment 197275 [details] [review]: Makes sense to me... this fixes xterm -geometry to place correctly. Since movement as specified by an application goes through the same code path, this should also fix up applications repositioning themselves dynamically.
Review of attachment 197276 [details] [review]: The visible borders are the ones we want - applications won't be written with any assumption that there will be invisible borders. This is definitely the case once we fix positioning to work according to the visible borders - the code in gtkwindow.c:gtk_window_get_position() is assuming that the offsets for gravity are based on the reported frame extents.
Attachment 197275 [details] pushed as 764569e - window: Fix window placement to exclude invisible borders Attachment 197276 [details] pushed as c4692b8 - window: Fix _NET_FRAME_EXTENTS to work properly