21 lines
632 B
C
21 lines
632 B
C
/* Sends a window to the next/prev tag */
|
|
void
|
|
shifttag(const Arg *arg)
|
|
{
|
|
Arg shifted;
|
|
#if SCRATCHPADS_PATCH && !RENAMED_SCRATCHPADS_PATCH
|
|
shifted.ui = selmon->tagset[selmon->seltags];
|
|
#else
|
|
shifted.ui = selmon->tagset[selmon->seltags];
|
|
#endif // SCRATCHPADS_PATCH
|
|
|
|
if (arg->i > 0) /* left circular shift */
|
|
shifted.ui = ((shifted.ui << arg->i) | (shifted.ui >> (NUMTAGS - arg->i)));
|
|
else /* right circular shift */
|
|
shifted.ui = ((shifted.ui >> -arg->i) | (shifted.ui << (NUMTAGS + arg->i)));
|
|
#if SCRATCHPADS_PATCH && !RENAMED_SCRATCHPADS_PATCH
|
|
shifted.ui &= ~SPTAGMASK;
|
|
#endif // SCRATCHPADS_PATCH
|
|
tag(&shifted);
|
|
}
|