summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--dwm.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/dwm.c b/dwm.c
index f5f9115..b0aaf86 100644
--- a/dwm.c
+++ b/dwm.c
@@ -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