all repos — openbox @ 0441661365bcd6f43fecfe4e8dda282846645ca9

openbox fork - make it a bit more like ryudo

use client msg's to toggle shaded
Dana Jansens danakj@orodu.net
commit

0441661365bcd6f43fecfe4e8dda282846645ca9

parent

cf6866123f8c4794d55ee4b532342110fddd2be1

1 files changed, 36 insertions(+), 43 deletions(-)

jump to
M scripts/builtins.pyscripts/builtins.py

@@ -2,6 +2,39 @@ ###########################################################################

### Functions that can be used as callbacks for mouse/keyboard bindings ### ########################################################################### +def state_above(data, add=2): + """Toggles, adds or removes the 'above' state on a window.""" + client = Openbox_findClient(openbox, data.window()) + if not client: return + root = ScreenInfo_rootWindow(OBDisplay_screenInfo(data.screen())) + window = OBClient_window(client) + above = OBProperty_atom(Openbox_property(openbox), + OBProperty_net_wm_state_above) + send_client_msg(root, OBProperty_net_wm_state, window, add, + above) + +def state_below(data, add=2): + """Toggles, adds or removes the 'below' state on a window.""" + client = Openbox_findClient(openbox, data.window()) + if not client: return + root = ScreenInfo_rootWindow(OBDisplay_screenInfo(data.screen())) + window = OBClient_window(client) + below = OBProperty_atom(Openbox_property(openbox), + OBProperty_net_wm_state_below) + send_client_msg(root, OBProperty_net_wm_state, window, add, + below) + +def state_shaded(data, add=2): + """Toggles, adds or removes the 'shaded' state on a window.""" + client = Openbox_findClient(openbox, data.window()) + if not client: return + root = ScreenInfo_rootWindow(OBDisplay_screenInfo(data.screen())) + window = OBClient_window(client) + shaded = OBProperty_atom(Openbox_property(openbox), + OBProperty_net_wm_state_shaded) + send_client_msg(root, OBProperty_net_wm_state, window, add, + shaded) + def close(data): """Closes the window on which the event occured""" client = Openbox_findClient(openbox, data.window())

@@ -88,22 +121,15 @@ 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)) + state_shaded(data) 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) + state_shaded(data, 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) + state_shaded(data, 0) def change_desktop(data, num): """Switches to a specified desktop"""

@@ -176,39 +202,6 @@ send_to_desktop(data, d)

if follow: change_desktop(data, d) -def state_above(data, add=2): - """Toggles, adds or removes the 'above' state on a window.""" - client = Openbox_findClient(openbox, data.window()) - if not client: return - root = ScreenInfo_rootWindow(OBDisplay_screenInfo(data.screen())) - window = OBClient_window(client) - above = OBProperty_atom(Openbox_property(openbox), - OBProperty_net_wm_state_above) - send_client_msg(root, OBProperty_net_wm_state, window, add, - above) - -def state_below(data, add=2): - """Toggles, adds or removes the 'below' state on a window.""" - client = Openbox_findClient(openbox, data.window()) - if not client: return - root = ScreenInfo_rootWindow(OBDisplay_screenInfo(data.screen())) - window = OBClient_window(client) - below = OBProperty_atom(Openbox_property(openbox), - OBProperty_net_wm_state_below) - send_client_msg(root, OBProperty_net_wm_state, window, add, - below) - -def state_shaded(data, add=2): - """Toggles, adds or removes the 'shaded' state on a window.""" - client = Openbox_findClient(openbox, data.window()) - if not client: return - root = ScreenInfo_rootWindow(OBDisplay_screenInfo(data.screen())) - window = OBClient_window(client) - shaded = OBProperty_atom(Openbox_property(openbox), - OBProperty_net_wm_state_shaded) - send_client_msg(root, OBProperty_net_wm_state, window, add, - shaded) - ######################################### ### Convenience functions for scripts ### #########################################