From 29f9e54c15d368c1ed181d59e3a94cf0feb2b293 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Sun, 15 Dec 2019 16:10:30 -0500 Subject: [PATCH] shiftview --- shiftview.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 shiftview.c diff --git a/shiftview.c b/shiftview.c new file mode 100644 index 0000000..e82053a --- /dev/null +++ b/shiftview.c @@ -0,0 +1,19 @@ +/** Function to shift the current view to the left/right + * + * @param: "arg->i" stores the number of tags to shift right (positive value) + * or left (negative value) + */ +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); +}