added cycling to the grid stuff

This commit is contained in:
Scott Moynes 2002-08-21 01:26:56 +00:00
parent bd05f7ec58
commit dfaa9c9f64

View file

@ -588,15 +588,29 @@ void screen::changeWorkspaceVert(const int num) const {
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);
}
}
}