+def restart(data):
+ """Restarts openbox"""
+ Openbox_restart(openbox, "")
+
+def raise_win(data):
+ """Raises the window on which the event occured"""
+ client = Openbox_findClient(openbox, data.window())
+ if not client: return
+ screen = Openbox_screen(openbox, OBClient_screen(client))
+ OBScreen_restack(screen, 1, client)
+
+def lower_win(data):
+ """Lowers the window on which the event occured"""
+ client = Openbox_findClient(openbox, data.window())
+ if not client: return
+ screen = Openbox_screen(openbox, OBClient_screen(client))
+ OBScreen_restack(screen, 0, client)
+
+def toggle_shade(data):
+ """Toggles the shade status of the window on which the event occured"""
+ client = Openbox_findClient(openbox, data.window())
+ if not client: return
+ print "toggle_shade"
+ OBClient_shade(client, not OBClient_shaded(client))
+
+def shade(data):
+ """Shades the window on which the event occured"""
+ client = Openbox_findClient(openbox, data.window())
+ if not client: return
+ OBClient_shade(client, 1)
+
+def unshade(data):
+ """Unshades the window on which the event occured"""
+ client = Openbox_findClient(openbox, data.window())
+ if not client: return
+ OBClient_shade(client, 0)
+
+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 = d + 1
+ elif not no_wrap:
+ d = 0
+ OBScreen_changeDesktop(screen, d)
+
+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
+ 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 ###
+#########################################
+