Use WM_SIZE_HINTS whenever it's provided to set the geometry of floating windows.
This commit is contained in:
parent
43386c51d4
commit
d1262f2b6a
11
src/manage.c
11
src/manage.c
|
@ -428,6 +428,17 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki
|
|||
if (cwindow->dock)
|
||||
want_floating = false;
|
||||
|
||||
/* Plasma windows set their geometry in WM_SIZE_HINTS. */
|
||||
if ((wm_size_hints.flags & XCB_ICCCM_SIZE_HINT_US_POSITION || wm_size_hints.flags & XCB_ICCCM_SIZE_HINT_P_POSITION) &&
|
||||
(wm_size_hints.flags & XCB_ICCCM_SIZE_HINT_US_SIZE || wm_size_hints.flags & XCB_ICCCM_SIZE_HINT_P_SIZE)) {
|
||||
DLOG("We are setting geometry according to wm_size_hints x=%d y=%d w=%d h=%d\n",
|
||||
wm_size_hints.x, wm_size_hints.y, wm_size_hints.width, wm_size_hints.height);
|
||||
geom->x = wm_size_hints.x;
|
||||
geom->y = wm_size_hints.y;
|
||||
geom->width = wm_size_hints.width;
|
||||
geom->height = wm_size_hints.height;
|
||||
}
|
||||
|
||||
/* Store the requested geometry. The width/height gets raised to at least
|
||||
* 75x50 when entering floating mode, which is the minimum size for a
|
||||
* window to be useful (smaller windows are usually overlays/toolbars/…
|
||||
|
|
Loading…
Reference in New Issue