X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=scripts%2Fcallbacks.py;h=1b7bf17761f43dac549fee9849c2e37ce2e7c124;hb=d993bcd9ad035a4f38cb7a3733586ee36bf2dfc9;hp=f7cb37c1e7e19a03a6b7a29a2277f98b550cfe19;hpb=81c164bbf9ed2462e5f9fb7599fa6f0279a087fa;p=chaz%2Fopenbox diff --git a/scripts/callbacks.py b/scripts/callbacks.py index f7cb37c1..1b7bf177 100644 --- a/scripts/callbacks.py +++ b/scripts/callbacks.py @@ -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."""