]> Dogcows Code - chaz/openbox/blobdiff - scripts/builtins.py
comment the new desktop functions
[chaz/openbox] / scripts / builtins.py
index 5d31054e556771d39e7d0be238e0b7807900b184..e180c7b5f022207d74b45f16c8b2473edf757424 100644 (file)
@@ -105,25 +105,34 @@ def unshade(data):
     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 ###
This page took 0.020136 seconds and 4 git commands to generate.