send_client_msg(display.screenInfo(data.screen).rootWindow(),
Property_atoms().net_wm_state, data.client.window(), add,
Property_atoms().net_wm_state_shaded)
+
+def iconify(data):
+ """Iconifies the window on which the event occured"""
+ if not data.client: return
+ send_client_msg(display.screenInfo(data.screen).rootWindow(),
+ Property_atoms().wm_change_state,
+ data.client.window(), 3) # IconicState
+
+def restore(data):
+ """Un-iconifies the window on which the event occured, but does not focus
+ if. If you want to focus the window too, it is recommended that you
+ use the activate() function."""
+ if not data.client: return
+ send_client_msg(display.screenInfo(data.screen).rootWindow(),
+ Property_atoms().wm_change_state,
+ data.client.window(), 1) # NormalState
def close(data):
"""Closes the window on which the event occured"""
mbind("Left", MC_Handle, MousePress, focus)
mbind("Left", MC_Grip, MousePress, focus)
mbind("Left", MC_Window, MousePress, focus)
+ mbind("A-Left", MC_Frame, MousePress, focus)
if click_raise:
mbind("Left", MC_Titlebar, MousePress, raise_win)
mbind("Left", MC_Handle, MousePress, raise_win)
mbind("Left", MC_Grip, MousePress, raise_win)
- mbind("Left", MC_Window, MousePress, raise_win)
+ mbind("Left", MC_Window, MousePress, raise_win)
def setup_sloppy_focus(click_focus = 1, click_raise = 0):
"""Sets up for focusing windows when the mouse pointer enters them.
in a window can raise the window to the front of its stacking layer."""
ebind(EventEnterWindow, focus)
if click_focus:
- setup_click_focus(click_raise)
+ mbind("Left", MC_Titlebar, MousePress, focus)
+ mbind("Left", MC_Handle, MousePress, focus)
+ mbind("Left", MC_Grip, MousePress, focus)
+ mbind("Left", MC_Window, MousePress, focus)
+ if click_raise:
+ mbind("Left", MC_Titlebar, MousePress, raise_win)
+ mbind("Left", MC_Handle, MousePress, raise_win)
+ mbind("Left", MC_Grip, MousePress, raise_win)
+ mbind("Left", MC_Window, MousePress, raise_win)
def setup_window_clicks():
"""Sets up the default bindings for various mouse buttons for various
"""Sets up the default behaviors for the buttons in the window titlebar."""
mbind("Left", MC_AllDesktopsButton, MouseClick, toggle_all_desktops)
mbind("Left", MC_CloseButton, MouseClick, close)
+ mbind("Left", MC_IconifyButton, MouseClick, iconify)
def setup_scroll():
"""Sets up the default behaviors for the mouse scroll wheel.