]> Dogcows Code - chaz/openbox/commitdiff
add callbacks to show/hide the desktop
authorDana Jansens <danakj@orodu.net>
Mon, 10 Feb 2003 23:03:02 +0000 (23:03 +0000)
committerDana Jansens <danakj@orodu.net>
Mon, 10 Feb 2003 23:03:02 +0000 (23:03 +0000)
scripts/callbacks.py

index f7cb37c1e7e19a03a6b7a29a2277f98b550cfe19..1b7bf17761f43dac549fee9849c2e37ce2e7c124 100644 (file)
@@ -185,6 +185,29 @@ def change_desktop(data, num):
     ob.send_client_msg(root, otk.atoms.net_current_desktop,
                        root, num)
 
+def show_desktop(data, show=1):
+    """Shows and focuses the desktop, hiding any client windows. Optionally,
+       if show is zero, this will hide the desktop, leaving show-desktop
+       mode."""
+    root = otk.display.screenInfo(data.screen).rootWindow()
+    ob.send_client_msg(root, otk.atoms.net_showing_desktop, root, show)
+
+def hide_desktop(data):
+    """Hides the desktop, re-showing the client windows. Leaves show-desktop
+       mode."""
+    show_desktop(data, 0)
+
+def toggle_show_desktop(data):
+    """Requests the Openbox to show the desktop, hiding the client windows, or
+       redisplay the clients."""
+    # get the current desktop state
+    root = otk.display.screenInfo(data.screen).rootWindow()
+    result, value = otk.Property_get(root, otk.atoms.net_showing_desktop,
+                                     otk.atoms.cardinal)
+    if not result: return
+    show = not value
+    ob.send_client_msg(root, otk.atoms.net_showing_desktop, root, show)
+
 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."""
This page took 0.024939 seconds and 4 git commands to generate.