From d8f90b52af18c41f8a6248a3334e346a49d1b03f Mon Sep 17 00:00:00 2001 From: Manuel Palenzuela Date: Mon, 10 Jun 2019 17:21:18 +0200 Subject: Added cyclelayouts and removed some keybindings [Patch] --- dwm.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'dwm.c') diff --git a/dwm.c b/dwm.c index e60127e..c241786 100644 --- a/dwm.c +++ b/dwm.c @@ -160,6 +160,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); @@ -655,6 +656,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 1.4.1