myvxwm

[fork] my vxwm config (optimised for my T480)
git clone https://git.lukeonline.net/repos/myvxwm
Log | Files | Refs | README | LICENSE

commit eefa23e2d9a574c195b0aef5249f5389ee6bd80d
parent 46ca92c2d198e3dede3d95ccc8e3994d7c917ac3
Author: wh1tepearl <wh1tepearl@gmail.com>
Date:   Sat, 21 Mar 2026 13:23:16 +0000

bug fix

Diffstat:
Mmodules/infinitetags/infinitetags.c | 8+++++---
Mmodules/moveresizekbd/moveresizekbd.c | 158++++++++++++++++++++++++++++++++++++++++---------------------------------------
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 }