From c40d34337e95617842ea6ebf398582be2ad8056a Mon Sep 17 00:00:00 2001 From: Jake Koroman Date: Thu, 2 Oct 2025 12:00:38 -0400 Subject: patch: applied cyclelayouts. --- dwm.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'dwm.c') diff --git a/dwm.c b/dwm.c index 91b5445..0dca5fc 100644 --- a/dwm.c +++ b/dwm.c @@ -163,6 +163,7 @@ static void configure(Client *c); static void configurenotify(XEvent *e); static void configurerequest(XEvent *e); static Monitor *createmon(void); +static void cyclelayout(const Arg *arg); static void destroynotify(XEvent *e); static void detach(Client *c); static void detachstack(Client *c); @@ -682,6 +683,23 @@ createmon(void) return m; } +void +cyclelayout(const Arg *arg) { + Layout *l; + for(l = (Layout *)layouts; l != selmon->lt[selmon->sellt]; l++); + if(arg->i > 0) { + if(l->symbol && (l + 1)->symbol) + setlayout(&((Arg) { .v = (l + 1) })); + else + setlayout(&((Arg) { .v = layouts })); + } else { + if(l != layouts && (l - 1)->symbol) + setlayout(&((Arg) { .v = (l - 1) })); + else + setlayout(&((Arg) { .v = &layouts[LENGTH(layouts) - 2] })); + } +} + void destroynotify(XEvent *e) { -- cgit v1.2.3