use client msg's to toggle shaded

This commit is contained in:
Dana Jansens 2003-01-08 17:03:36 +00:00
parent cf6866123f
commit 0441661365

View file

@ -2,6 +2,39 @@
### Functions that can be used as callbacks for mouse/keyboard bindings ### ### 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): def close(data):
"""Closes the window on which the event occured""" """Closes the window on which the event occured"""
client = Openbox_findClient(openbox, data.window()) client = Openbox_findClient(openbox, data.window())
@ -88,22 +121,15 @@ def lower_win(data):
def toggle_shade(data): def toggle_shade(data):
"""Toggles the shade status of the window on which the event occured""" """Toggles the shade status of the window on which the event occured"""
client = Openbox_findClient(openbox, data.window()) state_shaded(data)
if not client: return
print "toggle_shade"
OBClient_shade(client, not OBClient_shaded(client))
def shade(data): def shade(data):
"""Shades the window on which the event occured""" """Shades the window on which the event occured"""
client = Openbox_findClient(openbox, data.window()) state_shaded(data, 1)
if not client: return
OBClient_shade(client, 1)
def unshade(data): def unshade(data):
"""Unshades the window on which the event occured""" """Unshades the window on which the event occured"""
client = Openbox_findClient(openbox, data.window()) state_shaded(data, 0)
if not client: return
OBClient_shade(client, 0)
def change_desktop(data, num): def change_desktop(data, num):
"""Switches to a specified desktop""" """Switches to a specified desktop"""
@ -176,39 +202,6 @@ def send_to_prev_desktop(data, no_wrap=0, follow=1):
if follow: if follow:
change_desktop(data, d) 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 ### ### Convenience functions for scripts ###
######################################### #########################################