]> Dogcows Code - chaz/openbox/blobdiff - scripts/builtins.py
no need for focusraise anymore
[chaz/openbox] / scripts / builtins.py
index 231d5ab5a41e56ce232df0519e7834950f532a7f..64a1bc6c9641ac1f22208308bb15ea7fe5edf6e1 100644 (file)
@@ -11,6 +11,10 @@ def focus(data):
     """Focuses the window on which the event occured"""
     client = Openbox_findClient(openbox, data.window())
     if not client: return
+    type = OBClient_type(client)
+    # !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):
@@ -19,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)
@@ -29,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
@@ -58,5 +68,51 @@ def resize(data):
                     data.press_clientwidth() + dx,
                     data.press_clientheight() + dy);
 
+def restart(data):
+    """Restarts openbox"""
+    Openbox_restart(openbox, "")
+
+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.02312 seconds and 4 git commands to generate.