diff options
| author | bakkeby <[email protected]> | 2021-09-08 17:20:40 +0200 |
|---|---|---|
| committer | bakkeby <[email protected]> | 2021-09-08 17:20:46 +0200 |
| commit | 7de6ee8375b8bb3dfa9ec10e9c4b611c615ce27c (patch) | |
| tree | a3f84a3c6942e64e8191ac0540962e4d2b4e6fb4 | |
| parent | 22bbf1cb13439681a025f7a8aa960bb18afbf3e4 (diff) | |
| download | dwm-flexipatch-7de6ee8375b8bb3dfa9ec10e9c4b611c615ce27c.tar.gz dwm-flexipatch-7de6ee8375b8bb3dfa9ec10e9c4b611c615ce27c.zip | |
savefloats: save centered float position for tiled windows when centered or alwayscentered patches are used ref. #182
| -rw-r--r-- | dwm.c | 22 |
1 files changed, 17 insertions, 5 deletions
@@ -2376,18 +2376,30 @@ manage(Window w, XWindowAttributes *wa) #if DECORATION_HINTS_PATCH updatemotifhints(c); #endif // DECORATION_HINTS_PATCH - #if CENTER_PATCH + + #if CENTER_PATCH && (SAVEFLOATS_PATCH || EXRESIZE_PATCH) + c->sfx = -9999; + c->sfy = -9999; + if (c->iscentered) { + c->sfx = c->x = c->mon->wx + (c->mon->ww - WIDTH(c)) / 2; + c->sfy = c->y = c->mon->wy + (c->mon->wh - HEIGHT(c)) / 2; + } + #elif CENTER_PATCH if (c->iscentered) { c->x = c->mon->wx + (c->mon->ww - WIDTH(c)) / 2; c->y = c->mon->wy + (c->mon->wh - HEIGHT(c)) / 2; } + #elif ALWAYSCENTER_PATCH && (SAVEFLOATS_PATCH || EXRESIZE_PATCH) + c->sfx = c->x = c->mon->wx + (c->mon->ww - WIDTH(c)) / 2; + c->sfy = c->y = c->mon->wy + (c->mon->wh - HEIGHT(c)) / 2; #elif ALWAYSCENTER_PATCH - c->x = c->mon->mx + (c->mon->mw - WIDTH(c)) / 2; - c->y = c->mon->my + (c->mon->mh - HEIGHT(c)) / 2; - #endif // CENTER_PATCH - #if SAVEFLOATS_PATCH || EXRESIZE_PATCH + c->x = c->mon->wx + (c->mon->ww - WIDTH(c)) / 2; + c->y = c->mon->wy + (c->mon->wh - HEIGHT(c)) / 2; + #elif SAVEFLOATS_PATCH || EXRESIZE_PATCH c->sfx = -9999; c->sfy = -9999; + #endif // CENTER_PATCH / ALWAYSCENTER_PATCH / SAVEFLOATS_PATCH + #if SAVEFLOATS_PATCH || EXRESIZE_PATCH c->sfw = c->w; c->sfh = c->h; #endif // SAVEFLOATS_PATCH / EXRESIZE_PATCH |
