From db6d84374aeee755bb0feeb6707a3be3c1c5f7f1 Mon Sep 17 00:00:00 2001 From: tsxv478 Date: Tue, 10 Jan 2023 00:43:18 +0300 Subject: shiftview --- dwm.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'dwm.c') diff --git a/dwm.c b/dwm.c index 5e2fc17..046b8bf 100644 --- a/dwm.c +++ b/dwm.c @@ -254,6 +254,7 @@ static void updatetitle(Client *c); static void updatewindowtype(Client *c); static void updatewmhints(Client *c); static void view(const Arg *arg); +static void shiftview(const Arg *arg); static Client *wintoclient(Window w); static Monitor *wintomon(Window w); static int xerror(Display *dpy, XErrorEvent *ee); @@ -2399,6 +2400,21 @@ view(const Arg *arg) arrange(selmon); } +void +shiftview(const Arg *arg) { + Arg shifted; + + if(arg->i > 0) // left circular shift + shifted.ui = (selmon->tagset[selmon->seltags] << arg->i) + | (selmon->tagset[selmon->seltags] >> (LENGTH(tags) - arg->i)); + + else // right circular shift + shifted.ui = selmon->tagset[selmon->seltags] >> (- arg->i) + | selmon->tagset[selmon->seltags] << (LENGTH(tags) + arg->i); + + view(&shifted); +} + pid_t winpid(Window w) { -- cgit v1.2.3