From 66054700cb58d97f3f333317db18b24e0f39ef2c Mon Sep 17 00:00:00 2001 From: "Devin J. Pohly" Date: Thu, 23 Apr 2020 20:02:17 -0500 Subject: add toggletag and toggleview --- dwl.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'dwl.c') diff --git a/dwl.c b/dwl.c index df72eef..c58a7e0 100644 --- a/dwl.c +++ b/dwl.c @@ -154,6 +154,8 @@ static void spawn(const Arg *arg); static void tag(const Arg *arg); static void tile(Monitor *m); static void togglefloating(const Arg *arg); +static void toggletag(const Arg *arg); +static void toggleview(const Arg *arg); static void unmapnotify(struct wl_listener *listener, void *data); static void view(const Arg *arg); static Client *xytoclient(double x, double y, @@ -1116,6 +1118,31 @@ togglefloating(const Arg *arg) sel->isfloating = !sel->isfloating /* || sel->isfixed */; } +void +toggletag(const Arg *arg) +{ + unsigned int newtags; + Client *sel = selclient(); + if (!sel) + return; + newtags = sel->tags ^ (arg->ui & TAGMASK); + if (newtags) { + sel->tags = newtags; + focus(NULL, NULL); + } +} + +void +toggleview(const Arg *arg) +{ + unsigned int newtagset = selmon->tagset[selmon->seltags] ^ (arg->ui & TAGMASK); + + if (newtagset) { + selmon->tagset[selmon->seltags] = newtagset; + focus(NULL, NULL); + } +} + void unmapnotify(struct wl_listener *listener, void *data) { -- cgit v1.2.3