diff options
author | Luke Smith <luke@lukesmith.xyz> | 2019-12-15 16:10:30 -0500 |
---|---|---|
committer | Luke Smith <luke@lukesmith.xyz> | 2019-12-15 16:10:30 -0500 |
commit | 29f9e54c15d368c1ed181d59e3a94cf0feb2b293 (patch) | |
tree | ea3ad963cb33a428a5e1ef18747b28c06c4e4a4f /shiftview.c | |
parent | cef8e1eaf3a7a54c0aacbc82290000d0c4ea3889 (diff) |
shiftview
Diffstat (limited to 'shiftview.c')
-rw-r--r-- | shiftview.c | 19 |
1 files changed, 19 insertions, 0 deletions
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); +} |