]> Dogcows Code - chaz/openbox/blobdiff - scripts/builtins.py
shape works again. updating the delete_window protocol update the decor.
[chaz/openbox] / scripts / builtins.py
index cbdb91713a4fbd68df414c64d9b7f902ed146cb2..5427773211731bc27566b3689e6bf29f950ab5b9 100644 (file)
@@ -11,6 +11,12 @@ 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)
+    # these types of windows dont get focus from window enter events
+    if data.action() == EventEnterWindow:
+        if (type == OBClient_Type_Dock or \
+            type == OBClient_Type_Desktop):
+            return
     OBClient_focus(client)
 
 def move(data):
@@ -58,9 +64,6 @@ def resize(data):
                     data.press_clientwidth() + dx,
                     data.press_clientheight() + dy);
 
-def execute(bin, screen = 0):
-    Openbox_execute(openbox, screen, bin)
-
 def restart(data):
     Openbox_restart(openbox, "")
 
@@ -79,4 +82,27 @@ def lower_win(data):
     screen = Openbox_screen(openbox, OBClient_screen(client))
     OBScreen_restack(screen, 0, client)
 
+def toggle_shade(data):
+    client = Openbox_findClient(openbox, data.window())
+    if not client: return
+    print "toggle_shade"
+    OBClient_shade(client, not OBClient_shaded(client))
+
+def shade(data):
+    client = Openbox_findClient(openbox, data.window())
+    if not client: return
+    OBClient_shade(client, 1)
+
+def unshade(data):
+    client = Openbox_findClient(openbox, data.window())
+    if not client: return
+    OBClient_shade(client, 0)
+    
+#########################################
+### Convenience functions for scripts ###
+#########################################
+
+def execute(bin, screen = 0):
+    Openbox_execute(openbox, screen, bin)
+
 print "Loaded builtins.py"
This page took 0.020068 seconds and 4 git commands to generate.