aboutsummaryrefslogtreecommitdiff
path: root/dwm/dwm.c.orig
diff options
context:
space:
mode:
authorCori Barker <coribarker2@gmail.com>2026-02-08 15:17:38 +0000
committerCori Barker <coribarker2@gmail.com>2026-02-08 15:17:38 +0000
commitea8cdba402dbed7aae9f87682e6064860ba0b7ad (patch)
treeb1d96b25af0d08c64b2b3044596d4b42be1b4451 /dwm/dwm.c.orig
parent07f0fdd5803a41651e615fb83b7f884c18d23815 (diff)
Patches to dwm
Diffstat (limited to 'dwm/dwm.c.orig')
-rwxr-xr-xdwm/dwm.c.orig52
1 files changed, 21 insertions, 31 deletions
diff --git a/dwm/dwm.c.orig b/dwm/dwm.c.orig
index d6567e5..6960d10 100755
--- a/dwm/dwm.c.orig
+++ b/dwm/dwm.c.orig
@@ -52,8 +52,8 @@
* MAX(0, MIN((y)+(h),(m)->wy+(m)->wh) - MAX((y),(m)->wy)))
#define ISVISIBLE(C) ((C->tags & C->mon->tagset[C->mon->seltags]))
#define MOUSEMASK (BUTTONMASK|PointerMotionMask)
-#define WIDTH(X) ((X)->w + 2 * (X)->bw + gappx)
-#define HEIGHT(X) ((X)->h + 2 * (X)->bw + gappx)
+#define WIDTH(X) ((X)->w + 2 * (X)->bw)
+#define HEIGHT(X) ((X)->h + 2 * (X)->bw)
#define TAGMASK ((1 << LENGTH(tags)) - 1)
#define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad)
@@ -201,6 +201,7 @@ static void sendmon(Client *c, Monitor *m);
static void setclientstate(Client *c, long state);
static void setfocus(Client *c);
static void setfullscreen(Client *c, int fullscreen);
+static void fullscreen(const Arg *arg);
static void setlayout(const Arg *arg);
static void setmfact(const Arg *arg);
static void setup(void);
@@ -1302,36 +1303,12 @@ void
resizeclient(Client *c, int x, int y, int w, int h)
{
XWindowChanges wc;
- unsigned int n;
- unsigned int gapoffset;
- unsigned int gapincr;
- Client *nbc;
+ c->oldx = c->x; c->x = wc.x = x;
+ c->oldy = c->y; c->y = wc.y = y;
+ c->oldw = c->w; c->w = wc.width = w;
+ c->oldh = c->h; c->h = wc.height = h;
wc.border_width = c->bw;
-
- /* Get number of clients for the client's monitor */
- for (n = 0, nbc = nexttiled(c->mon->clients); nbc; nbc = nexttiled(nbc->next), n++);
-
- /* Do nothing if layout is floating */
- if (c->isfloating || c->mon->lt[c->mon->sellt]->arrange == NULL) {
- gapincr = gapoffset = 0;
- } else {
- /* Remove border and gap if layout is monocle or only one client */
- if (c->mon->lt[c->mon->sellt]->arrange == monocle || n == 1) {
- gapoffset = 0;
- gapincr = -2 * borderpx;
- wc.border_width = 0;
- } else {
- gapoffset = gappx;
- gapincr = 2 * gappx;
- }
- }
-
- c->oldx = c->x; c->x = wc.x = x + gapoffset;
- c->oldy = c->y; c->y = wc.y = y + gapoffset;
- c->oldw = c->w; c->w = wc.width = w - gapincr;
- c->oldh = c->h; c->h = wc.height = h - gapincr;
-
XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
configure(c);
XSync(dpy, False);
@@ -1547,6 +1524,19 @@ setfullscreen(Client *c, int fullscreen)
}
}
+Layout *last_layout;
+void
+fullscreen(const Arg *arg)
+{
+ if (selmon->showbar) {
+ for(last_layout = (Layout *)layouts; last_layout != selmon->lt[selmon->sellt]; last_layout++);
+ setlayout(&((Arg) { .v = &layouts[2] }));
+ } else {
+ setlayout(&((Arg) { .v = last_layout }));
+ }
+ togglebar(arg);
+}
+
void
setlayout(const Arg *arg)
{
@@ -1741,7 +1731,7 @@ tile(Monitor *m)
for (i = my = ty = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++)
if (i < m->nmaster) {
h = (m->wh - my) / (MIN(n, m->nmaster) - i);
- resize(c, m->wx, m->wy + my, mw - (2*c->bw) + (n > 1 ? gappx : 0), h - (2*c->bw), 0);
+ resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), 0);
if (my + HEIGHT(c) < m->wh)
my += HEIGHT(c);
} else {