if (width > _num_desktops || width <= 0)
return;
+ // a cookie to the person that makes this pretty
if (num < 0) {
int wnum = _active_desktop - width;
if (wnum >= 0)
changeWorkspace(wnum);
+ else {
+ wnum = _num_desktops/width * width + _active_desktop;
+ if (wnum >= _num_desktops)
+ wnum = _num_desktops - 1;
+ changeWorkspace(wnum);
+ }
}
else {
int wnum = _active_desktop + width;
if (wnum < _num_desktops)
changeWorkspace(wnum);
+ else {
+ wnum = (_active_desktop + width) % _num_desktops - 1;
+ if (wnum < 0)
+ wnum = 0;
+ changeWorkspace(wnum);
+ }
+
}
}