]> Dogcows Code - chaz/openbox/blobdiff - scripts/builtins.py
no need for focusraise anymore
[chaz/openbox] / scripts / builtins.py
index 46e7d28ed5c65180b68d482a2e006b5341f440d6..64a1bc6c9641ac1f22208308bb15ea7fe5edf6e1 100644 (file)
@@ -12,12 +12,9 @@ def focus(data):
     client = Openbox_findClient(openbox, data.window())
     if not client: return
     type = OBClient_type(client)
-    # these types of windows dont get focus from window enter events
-    if data.action() == EventEnterWindow:
-        print "enter window"
-        if (type == OBClient_Type_Dock or \
-            type == OBClient_Type_Desktop):
-            return
+    # !normal windows dont get focus from window enter events
+    if data.action() == EventEnterWindow and not OBClient_normal(client):
+        return
     OBClient_focus(client)
 
 def move(data):
@@ -26,6 +23,9 @@ def move(data):
     client = Openbox_findClient(openbox, data.window())
     if not client: return
 
+    # !normal windows dont get moved
+    if not OBClient_normal(client): return
+
     dx = data.xroot() - data.pressx()
     dy = data.yroot() - data.pressy()
     OBClient_move(client, data.press_clientx() + dx, data.press_clienty() + dy)
@@ -36,6 +36,9 @@ def resize(data):
     client = Openbox_findClient(openbox, data.window())
     if not client: return
 
+    # !normal windows dont get moved
+    if not OBClient_normal(client): return
+
     px = data.pressx()
     py = data.pressy()
     dx = data.xroot() - px
@@ -65,41 +68,51 @@ def resize(data):
                     data.press_clientwidth() + dx,
                     data.press_clientheight() + dy);
 
-def execute(bin, screen = 0):
-    Openbox_execute(openbox, screen, bin)
-
 def restart(data):
+    """Restarts openbox"""
     Openbox_restart(openbox, "")
 
-def toggle_shade(data):
-    print "toggle_shade"
-
 def raise_win(data):
+    """Raises the window on which the event occured"""
     client = Openbox_findClient(openbox, data.window())
     if not client: return
     screen = Openbox_screen(openbox, OBClient_screen(client))
     OBScreen_restack(screen, 1, client)
 
 def lower_win(data):
+    """Lowers the window on which the event occured"""
     client = Openbox_findClient(openbox, data.window())
     if not client: return
     screen = Openbox_screen(openbox, OBClient_screen(client))
     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))
 
 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)
 
 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)
+    
+#########################################
+### Convenience functions for scripts ###
+#########################################
+
+def execute(bin, screen = 0):
+    """Executes a command on the specified screen. It is recommended that you
+       use this call instead of a python system call. If the specified screen
+       is beyond your range of screens, the default is used instead."""
+    Openbox_execute(openbox, screen, bin)
 
 print "Loaded builtins.py"
This page took 0.026574 seconds and 4 git commands to generate.