]> Dogcows Code - chaz/openbox/blobdiff - scripts/builtins.py
make A-1 mouse focus
[chaz/openbox] / scripts / builtins.py
index 4ae4587b8e0bf71f9ebc149f54d362f725314d62..9b3c07de44f49d9ae9ada28f10a24bcbc27d4990 100644 (file)
@@ -22,6 +22,22 @@ def state_shaded(data, add=2):
     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"""
@@ -211,11 +227,12 @@ def setup_click_focus(click_raise = 1):
     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.
@@ -224,7 +241,15 @@ def setup_sloppy_focus(click_focus = 1, click_raise = 0):
        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
@@ -264,6 +289,7 @@ def setup_window_buttons():
     """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.
This page took 0.020735 seconds and 4 git commands to generate.