diff options
| author | Jake Koroman <jake@jakekoroman.com> | 2025-10-02 12:00:38 -0400 |
|---|---|---|
| committer | Jake Koroman <jake@jakekoroman.com> | 2025-10-02 15:31:20 -0400 |
| commit | c40d34337e95617842ea6ebf398582be2ad8056a (patch) | |
| tree | b4574450c54694b93063b9e9dc9e73ae8575af91 /dwm.c | |
| parent | a2f8df64808a25cbef517559048699820e71d8e9 (diff) | |
patch: applied cyclelayouts.
Diffstat (limited to 'dwm.c')
| -rw-r--r-- | dwm.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -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); @@ -683,6 +684,23 @@ createmon(void) } 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) { Client *c; |
