if not client: return
OBClient_shade(client, 0)
-def next_desktop(data):
+def next_desktop(data, no_wrap=0):
+ """Switches to the next desktop, optionally (by default) cycling around to
+ the first when going past the last."""
screen = Openbox_screen(openbox, data.screen())
d = OBScreen_desktop(screen)
n = OBScreen_numDesktops(screen)
- if (d == (n-1)):
- d = 0
- else:
+ if (d < (n-1)):
d = d + 1
+ elif not no_wrap:
+ d = 0
OBScreen_changeDesktop(screen, d)
-def prev_desktop(data):
+def prev_desktop(data, no_wrap=0):
+ """Switches to the previous desktop, optionally (by default) cycling around
+ to the last when going past the first."""
screen = Openbox_screen(openbox, data.screen())
d = OBScreen_desktop(screen)
n = OBScreen_numDesktops(screen)
if (d > 0):
d = d - 1
- else:
+ elif not no_wrap:
d = n - 1
OBScreen_changeDesktop(screen, d)
+
+def change_desktop(data, num):
+ """Switches to a specified desktop"""
+ screen = Openbox_screen(openbox, data.screen())
+ OBScreen_changeDesktop(screen, num)
#########################################
### Convenience functions for scripts ###