Merge pull request #1712 from Airblader/feature-next-wm-size-hints-adopted
[Adopted] Use WM_SIZE_HINTS when available to set the geometry of floating windows
This commit is contained in:
commit
05fb909636
11
src/manage.c
11
src/manage.c
|
@ -419,6 +419,17 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki
|
||||||
if (cwindow->dock)
|
if (cwindow->dock)
|
||||||
want_floating = false;
|
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
|
/* Store the requested geometry. The width/height gets raised to at least
|
||||||
* 75x50 when entering floating mode, which is the minimum size for a
|
* 75x50 when entering floating mode, which is the minimum size for a
|
||||||
* window to be useful (smaller windows are usually overlays/toolbars/…
|
* window to be useful (smaller windows are usually overlays/toolbars/…
|
||||||
|
|
Loading…
Reference in New Issue