commit eefa23e2d9a574c195b0aef5249f5389ee6bd80d
parent 46ca92c2d198e3dede3d95ccc8e3994d7c917ac3
Author: wh1tepearl <wh1tepearl@gmail.com>
Date: Sat, 21 Mar 2026 13:23:16 +0000
bug fix
Diffstat:
2 files changed, 86 insertions(+), 80 deletions(-)
diff --git a/modules/infinitetags/infinitetags.c b/modules/infinitetags/infinitetags.c
@@ -31,6 +31,8 @@ movecanvas(const Arg *arg)
{
if (selmon->lt[selmon->sellt]->arrange != NULL)
return;
+ if (selmon->sel && selmon->sel->isfullscreen)
+ return;
int tagidx = getcurrenttag(selmon);
int dx = 0, dy = 0;
@@ -64,7 +66,9 @@ movecanvas(const Arg *arg)
void
manuallymovecanvas(const Arg *arg) {
if (selmon->lt[selmon->sellt]->arrange != NULL)
- return;
+ return;
+ if (selmon->sel && selmon->sel->isfullscreen)
+ return;
int start_x, start_y;
Window dummy;
int di;
@@ -73,8 +77,6 @@ manuallymovecanvas(const Arg *arg) {
#if LOCK_MOVE_RESIZE_REFRESH_RATE
Time lasttime = 0;
#endif
- if (selmon->sel && selmon->sel->isfullscreen)
- return;
if (!XQueryPointer(dpy, root, &dummy, &dummy, &start_x, &start_y, &di, &di, &dui))
return;
diff --git a/modules/moveresizekbd/moveresizekbd.c b/modules/moveresizekbd/moveresizekbd.c
@@ -2,6 +2,8 @@
void
moveresize(const Arg *arg)
{
+ if (selmon->sel && selmon->sel->isfullscreen)
+ return;
XEvent ev;
Monitor *m = selmon;
@@ -51,105 +53,107 @@ moveresize(const Arg *arg)
void
moveresize(const Arg *arg)
{
- int dx = ((int *)arg->v)[0];
- int dy = ((int *)arg->v)[1];
- int dw = ((int *)arg->v)[2];
- int dh = ((int *)arg->v)[3];
+ if (selmon->sel && selmon->sel->isfullscreen)
+ return;
+ int dx = ((int *)arg->v)[0];
+ int dy = ((int *)arg->v)[1];
+ int dw = ((int *)arg->v)[2];
+ int dh = ((int *)arg->v)[3];
- XEvent ev;
- Monitor *m = selmon;
+ XEvent ev;
+ Monitor *m = selmon;
- if (!m->sel || !arg || !arg->v)
- return;
+ if (!m->sel || !arg || !arg->v)
+ return;
- if (!m->sel->isfloating) {
+ if (!m->sel->isfloating) {
#if DIRECTIONAL_MOVE
- if (selmon->lt[selmon->sellt]->arrange != NULL && (dx || dy)) {
- if (dy > 0) movedir(&(Arg){.i = 3}); // Down
- if (dy < 0) movedir(&(Arg){.i = 2}); // Up
- if (dx > 0) movedir(&(Arg){.i = 1}); // Right
- if (dx < 0) movedir(&(Arg){.i = 0}); // Left
- }
+ if (selmon->lt[selmon->sellt]->arrange != NULL && (dx || dy)) {
+ if (dy > 0) movedir(&(Arg){.i = 3}); // Down
+ if (dy < 0) movedir(&(Arg){.i = 2}); // Up
+ if (dx > 0) movedir(&(Arg){.i = 1}); // Right
+ if (dx < 0) movedir(&(Arg){.i = 0}); // Left
+ }
#endif
return;
- }
+ }
- Client *c = m->sel;
+ Client *c = m->sel;
- XRaiseWindow(dpy, c->win);
+ XRaiseWindow(dpy, c->win);
- if (selmon->lt[selmon->sellt]->arrange != NULL) {
- resize(c,
- c->x + dx,
- c->y + dy,
- c->w + dw,
- c->h + dh,
- True);
- }
- else {
- int nx = c->x + dx;
- int ny = c->y + dy;
- int nw = c->w + dw;
- int nh = c->h + dh;
- int canvas_dx = 0, canvas_dy = 0;
- int tagidx = getcurrenttag(m);
-
- if (dx || dy) {
- if (nx < m->wx) {
- canvas_dx = nx - m->wx;
- nx = m->wx;
- } else if (nx + nw + 2 * c->bw > m->wx + m->ww) {
- canvas_dx = (nx + nw + 2 * c->bw) - (m->wx + m->ww);
- nx = m->wx + m->ww - nw - 2 * c->bw;
- }
-
- if (ny < m->wy) {
- canvas_dy = ny - m->wy;
- ny = m->wy;
- } else if (ny + nh + 2 * c->bw > m->wy + m->wh) {
- canvas_dy = (ny + nh + 2 * c->bw) - (m->wy + m->wh);
- ny = m->wy + m->wh - nh - 2 * c->bw;
- }
-
- if (canvas_dx || canvas_dy) {
- m->canvas[tagidx].cx -= canvas_dx;
- m->canvas[tagidx].cy -= canvas_dy;
-
- Client *tmp;
- for (tmp = m->clients; tmp; tmp = tmp->next) {
- if (ISVISIBLE(tmp) && tmp != c) {
- tmp->x -= canvas_dx;
- tmp->y -= canvas_dy;
- XMoveWindow(dpy, tmp->win, tmp->x, tmp->y);
- }
- }
- }
+ if (selmon->lt[selmon->sellt]->arrange != NULL) {
+ resize(c,
+ c->x + dx,
+ c->y + dy,
+ c->w + dw,
+ c->h + dh,
+ True);
+ }
+ else {
+ int nx = c->x + dx;
+ int ny = c->y + dy;
+ int nw = c->w + dw;
+ int nh = c->h + dh;
+ int canvas_dx = 0, canvas_dy = 0;
+ int tagidx = getcurrenttag(m);
+
+ if (dx || dy) {
+ if (nx < m->wx) {
+ canvas_dx = nx - m->wx;
+ nx = m->wx;
+ } else if (nx + nw + 2 * c->bw > m->wx + m->ww) {
+ canvas_dx = (nx + nw + 2 * c->bw) - (m->wx + m->ww);
+ nx = m->wx + m->ww - nw - 2 * c->bw;
+ }
+
+ if (ny < m->wy) {
+ canvas_dy = ny - m->wy;
+ ny = m->wy;
+ } else if (ny + nh + 2 * c->bw > m->wy + m->wh) {
+ canvas_dy = (ny + nh + 2 * c->bw) - (m->wy + m->wh);
+ ny = m->wy + m->wh - nh - 2 * c->bw;
+ }
+
+ if (canvas_dx || canvas_dy) {
+ m->canvas[tagidx].cx -= canvas_dx;
+ m->canvas[tagidx].cy -= canvas_dy;
+
+ Client *tmp;
+ for (tmp = m->clients; tmp; tmp = tmp->next) {
+ if (ISVISIBLE(tmp) && tmp != c) {
+ tmp->x -= canvas_dx;
+ tmp->y -= canvas_dy;
+ XMoveWindow(dpy, tmp->win, tmp->x, tmp->y);
+ }
}
-
- resize(c, nx, ny, nw, nh, True);
+ }
}
+ resize(c, nx, ny, nw, nh, True);
+ }
+
#if ENHANCED_TOGGLE_FLOATING && RESTORE_SIZE_AND_POS_ETF
- if (c->isfloating) {
- c->wasmanuallyedited = 1;
- c->sfx = c->x;
- c->sfy = c->y;
- c->sfw = c->w;
- c->sfh = c->h;
- }
+ if (c->isfloating) {
+ c->wasmanuallyedited = 1;
+ c->sfx = c->x;
+ c->sfy = c->y;
+ c->sfw = c->w;
+ c->sfh = c->h;
+ }
#endif
- focus(c);
+ focus(c);
#if WARP_TO_CLIENT && WARP_TO_CENTER_OF_WINDOW_MOVED_BY_KEYBOARD
- warptoclient(c);
+ warptoclient(c);
#endif
- while (XCheckMaskEvent(dpy, EnterWindowMask, &ev));
+ while (XCheckMaskEvent(dpy, EnterWindowMask, &ev));
#if IT_SHOW_COORDINATES_IN_BAR
- drawbar(m);
+ drawbar(m);
#endif
}