From e8d03b24b6f2b409eb21d420ce5a618359dd1c2d Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Sun, 5 May 2024 15:23:15 +0530 Subject: remove patches dir --- patches/smartborders.patch | 203 --------------------------------------------- 1 file changed, 203 deletions(-) delete mode 100644 patches/smartborders.patch (limited to 'patches/smartborders.patch') diff --git a/patches/smartborders.patch b/patches/smartborders.patch deleted file mode 100644 index 98dafe3..0000000 --- a/patches/smartborders.patch +++ /dev/null @@ -1,203 +0,0 @@ -From c7120b651b1a6f1ae3277088d4de9af9686c71ae Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Leonardo=20Hern=C3=A1ndez=20Hern=C3=A1ndez?= - -Date: Tue, 16 Aug 2022 15:28:00 -0500 -Subject: [PATCH] don't draw borders if there is only one window -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Co-authored-by: A Frederick Christensen -Co-authored-by: Andrey Proskurin -Signed-off-by: Leonardo Hernández Hernández ---- - config.def.h | 1 + - dwl.c | 48 ++++++++++++++++++++++++++++++++---------------- - 2 files changed, 33 insertions(+), 16 deletions(-) - -diff --git a/config.def.h b/config.def.h -index a8ed61d..f07cf07 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -6,6 +6,7 @@ - /* appearance */ - static const int sloppyfocus = 1; /* focus follows mouse */ - static const int bypass_surface_visibility = 0; /* 1 means idle inhibitors will disable idle tracking even if it's surface isn't visible */ -+static const int smartborders = 1; - static const unsigned int borderpx = 1; /* border pixel of windows */ - static const float rootcolor[] = COLOR(0x222222ff); - static const float bordercolor[] = COLOR(0x444444ff); -diff --git a/dwl.c b/dwl.c -index 10d5a5b..903afc6 100644 ---- a/dwl.c -+++ b/dwl.c -@@ -297,7 +297,7 @@ static void rendermon(struct wl_listener *listener, void *data); - static void requestdecorationmode(struct wl_listener *listener, void *data); - static void requeststartdrag(struct wl_listener *listener, void *data); - static void requestmonstate(struct wl_listener *listener, void *data); --static void resize(Client *c, struct wlr_box geo, int interact); -+static void resize(Client *c, struct wlr_box geo, int interact, int draw_borders); - static void run(char *startup_cmd); - static void setcursor(struct wl_listener *listener, void *data); - static void setcursorshape(struct wl_listener *listener, void *data); -@@ -696,7 +696,7 @@ closemon(Monitor *m) - wl_list_for_each(c, &clients, link) { - if (c->isfloating && c->geom.x > m->m.width) - resize(c, (struct wlr_box){.x = c->geom.x - m->w.width, .y = c->geom.y, -- .width = c->geom.width, .height = c->geom.height}, 0); -+ .width = c->geom.width, .height = c->geom.height}, 0, 1); - if (c->mon == m) - setmon(c, selmon, c->tags); - } -@@ -731,8 +731,12 @@ commitnotify(struct wl_listener *listener, void *data) - { - Client *c = wl_container_of(listener, c, commit); - -- if (client_surface(c)->mapped) -- resize(c, c->geom, (c->isfloating && !c->isfullscreen)); -+ if (client_surface(c)->mapped) { -+ if (c->mon && c->mon->lt[c->mon->sellt]->arrange && !c->isfullscreen && !c->isfloating) -+ c->mon->lt[c->mon->sellt]->arrange(c->mon); -+ else -+ resize(c, c->geom, (c->isfloating && !c->isfullscreen), (c->isfloating && !c->isfullscreen)); -+ } - - /* mark a pending resize as completed */ - if (c->resize && c->resize <= c->surface.xdg->current.configure_serial) -@@ -1579,7 +1583,7 @@ monocle(Monitor *m) - wl_list_for_each(c, &clients, link) { - if (!VISIBLEON(c, m) || c->isfloating || c->isfullscreen) - continue; -- resize(c, m->w, 0); -+ resize(c, m->w, 0, !smartborders); - n++; - } - if (n) -@@ -1626,11 +1630,11 @@ motionnotify(uint32_t time) - if (cursor_mode == CurMove) { - /* Move the grabbed client to the new position. */ - resize(grabc, (struct wlr_box){.x = cursor->x - grabcx, .y = cursor->y - grabcy, -- .width = grabc->geom.width, .height = grabc->geom.height}, 1); -+ .width = grabc->geom.width, .height = grabc->geom.height}, 1, 1); - return; - } else if (cursor_mode == CurResize) { - resize(grabc, (struct wlr_box){.x = grabc->geom.x, .y = grabc->geom.y, -- .width = cursor->x - grabc->geom.x, .height = cursor->y - grabc->geom.y}, 1); -+ .width = cursor->x - grabc->geom.x, .height = cursor->y - grabc->geom.y}, 1, 1); - return; - } - -@@ -1924,12 +1928,13 @@ requestmonstate(struct wl_listener *listener, void *data) - } - - void --resize(Client *c, struct wlr_box geo, int interact) -+resize(Client *c, struct wlr_box geo, int interact, int draw_borders) - { - struct wlr_box *bbox = interact ? &sgeom : &c->mon->w; - struct wlr_box clip; - client_set_bounds(c, geo.width, geo.height); - c->geom = geo; -+ c->bw = draw_borders ? borderpx : 0; - applybounds(c, bbox); - - /* Update scene-graph, including borders */ -@@ -2044,6 +2049,8 @@ setfloating(Client *c, int floating) - return; - wlr_scene_node_reparent(&c->scene->node, layers[c->isfullscreen - ? LyrFS : c->isfloating ? LyrFloat : LyrTile]); -+ if (c->isfloating && !c->bw) -+ resize(c, c->mon->m, 0, 1); - arrange(c->mon); - printstatus(); - } -@@ -2061,11 +2068,11 @@ setfullscreen(Client *c, int fullscreen) - - if (fullscreen) { - c->prev = c->geom; -- resize(c, c->mon->m, 0); -+ resize(c, c->mon->m, 0, 0); - } else { - /* restore previous size instead of arrange for floating windows since - * client positions are set by the user and cannot be recalculated */ -- resize(c, c->prev, 0); -+ resize(c, c->prev, 0, 1); - } - arrange(c->mon); - printstatus(); -@@ -2090,6 +2097,12 @@ setlayout(const Arg *arg) - if (arg && arg->v) - selmon->lt[selmon->sellt] = (Layout *)arg->v; - strncpy(selmon->ltsymbol, selmon->lt[selmon->sellt]->symbol, LENGTH(selmon->ltsymbol)); -+ if (!selmon->lt[selmon->sellt]->arrange) { -+ /* floating layout, draw borders around all clients */ -+ Client *c; -+ wl_list_for_each(c, &clients, link) -+ resize(c, c->mon->m, 0, 1); -+ } - arrange(selmon); - printstatus(); - } -@@ -2124,7 +2137,7 @@ setmon(Client *c, Monitor *m, uint32_t newtags) - arrange(oldmon); - if (m) { - /* Make sure window actually overlaps with the monitor */ -- resize(c, c->geom, 0); -+ resize(c, c->geom, 0, 1); - c->tags = newtags ? newtags : m->tagset[m->seltags]; /* assign tags of target monitor */ - setfullscreen(c, c->isfullscreen); /* This will call arrange(c->mon) */ - setfloating(c, c->isfloating); -@@ -2452,7 +2465,7 @@ tagmon(const Arg *arg) - void - tile(Monitor *m) - { -- unsigned int i, n = 0, mw, my, ty; -+ unsigned int i, n = 0, mw, my, ty, draw_borders = 1; - Client *c; - - wl_list_for_each(c, &clients, link) -@@ -2461,6 +2474,9 @@ tile(Monitor *m) - if (n == 0) - return; - -+ if (n == smartborders) -+ draw_borders = 0; -+ - if (n > m->nmaster) - mw = m->nmaster ? m->w.width * m->mfact : 0; - else -@@ -2471,11 +2487,11 @@ tile(Monitor *m) - continue; - if (i < m->nmaster) { - resize(c, (struct wlr_box){.x = m->w.x, .y = m->w.y + my, .width = mw, -- .height = (m->w.height - my) / (MIN(n, m->nmaster) - i)}, 0); -+ .height = (m->w.height - my) / (MIN(n, m->nmaster) - i)}, 0, draw_borders); - my += c->geom.height; - } else { - resize(c, (struct wlr_box){.x = m->w.x + mw, .y = m->w.y + ty, -- .width = m->w.width - mw, .height = (m->w.height - ty) / (n - i)}, 0); -+ .width = m->w.width - mw, .height = (m->w.height - ty) / (n - i)}, 0, draw_borders); - ty += c->geom.height; - } - i++; -@@ -2644,7 +2660,7 @@ updatemons(struct wl_listener *listener, void *data) - arrange(m); - /* make sure fullscreen clients have the right size */ - if ((c = focustop(m)) && c->isfullscreen) -- resize(c, m->m, 0); -+ resize(c, m->m, 0, 0); - - /* Try to re-set the gamma LUT when updating monitors, - * it's only really needed when enabling a disabled output, but meh. */ -@@ -2826,7 +2842,7 @@ configurex11(struct wl_listener *listener, void *data) - return; - if (c->isfloating || client_is_unmanaged(c)) - resize(c, (struct wlr_box){.x = event->x, .y = event->y, -- .width = event->width, .height = event->height}, 0); -+ .width = event->width, .height = event->height}, 0, 1); - else - arrange(c->mon); - } --- -2.43.0 - -- cgit v1.2.3