--- a/gntwm.c Thu Jun 15 20:22:30 2023 -0500
+++ b/gntwm.c Sat Dec 16 23:29:21 2023 -0600
@@ -166,38 +166,40 @@
int sx, ex, sy, ey, w, y;
+ WINDOW *window = panel_window(panel); - sx = getbegx(panel->win);
- ex = getmaxx(panel->win) + sx;
- sy = getbegy(panel->win);
- ey = getmaxy(panel->win) + sy;
+ ex = getmaxx(window) + sx; + ey = getmaxy(window) + sy; while ((below = panel_below(below)) != NULL) {
- if (sy > getbegy(below->win) + getmaxy(below->win) ||
- ey < getbegy(below->win))
+ window = panel_window(below); + if (sy > getbegy(window) + getmaxy(window) || - if (sx > getbegx(below->win) + getmaxx(below->win) ||
- ex < getbegx(below->win))
+ if (sx > getbegx(window) + getmaxx(window) || - for (y = MAX(sy, getbegy(below->win)); y <= MIN(ey, getbegy(below->win) + getmaxy(below->win)); y++) {
- if (mvwin_wch(below->win, y - getbegy(below->win), sx - 1 - getbegx(below->win), &ch) != OK)
+ for (y = MAX(sy, getbegy(window)); y <= MIN(ey, getbegy(window) + getmaxy(window)); y++) { + if (mvwin_wch(window, y - getbegy(window), sx - 1 - getbegx(window), &ch) != OK) w = widestringwidth(ch.chars);
if (w > 1 && (ch.attr & 1)) {
- mvwadd_wch(below->win, y - getbegy(below->win), sx - 1 - getbegx(below->win), &ch);
- touchline(below->win, y - getbegy(below->win), 1);
+ mvwadd_wch(window, y - getbegy(window), sx - 1 - getbegx(window), &ch); + touchline(window, y - getbegy(window), 1); - if (mvwin_wch(below->win, y - getbegy(below->win), ex + 1 - getbegx(below->win), &ch) != OK)
+ if (mvwin_wch(window, y - getbegy(window), ex + 1 - getbegx(window), &ch) != OK) w = widestringwidth(ch.chars);
if (w > 1 && !(ch.attr & 1)) {
- mvwadd_wch(below->win, y - getbegy(below->win), ex + 1 - getbegx(below->win), &ch);
- touchline(below->win, y - getbegy(below->win), 1);
+ mvwadd_wch(window, y - getbegy(window), ex + 1 - getbegx(window), &ch); + touchline(window, y - getbegy(window), 1);