]> Dogcows Code - chaz/openbox/blobdiff - scripts/callbacks.py
no options for the callbacls
[chaz/openbox] / scripts / callbacks.py
index 1289a7bbf3a271c4dc1988d511aba83ec12ea0cd..7ff673550cfb9cffe2f1139d065a36ecd97e6f7b 100644 (file)
@@ -2,39 +2,54 @@
 ### Functions that can be used as callbacks for mouse/keyboard bindings  ###
 ############################################################################
 
-#############################################################################
-### Options that can be modified to change the default hooks' behaviors.  ###
-###                                                                       ###
-# resize_nearest - 1 to resize from the corner nearest where the mouse    ###
-###                  is, 0 to resize always from the bottom right corner. ###
-resize_nearest = 1                                                        ###
-###                                                                       ###
-#############################################################################
-
 import ob
 import otk
 
 def state_above(data, add=2):
-    """Toggles, adds or removes the 'above' state on a window."""
+    """Toggles, adds or removes the 'above' state on a window.
+       The second paramater should one of: 0 - removes the state, 1 - adds the
+       state, 2 - toggles the state."""
     if not data.client: return
     ob.send_client_msg(otk.display.screenInfo(data.screen).rootWindow(),
                        otk.Property_atoms().net_wm_state, data.client.window(),
                        add, otk.Property_atoms().net_wm_state_above)
     
 def state_below(data, add=2):
-    """Toggles, adds or removes the 'below' state on a window."""
+    """Toggles, adds or removes the 'below' state on a window.
+       The second paramater should one of: 0 - removes the state, 1 - adds the
+       state, 2 - toggles the state."""
     if not data.client: return
     ob.send_client_msg(otk.display.screenInfo(data.screen).rootWindow(),
                        otk.Property_atoms().net_wm_state, data.client.window(),
                        add, otk.Property_atoms().net_wm_state_below)
     
 def state_shaded(data, add=2):
-    """Toggles, adds or removes the 'shaded' state on a window."""
+    """Toggles, adds or removes the 'shaded' state on a window.
+       The second paramater should one of: 0 - removes the state, 1 - adds the
+       state, 2 - toggles the state."""
     if not data.client: return
     ob.send_client_msg(otk.display.screenInfo(data.screen).rootWindow(),
                        otk.Property_atoms().net_wm_state, data.client.window(),
                        add, otk.Property_atoms().net_wm_state_shaded)
 
+def state_skip_taskbar(data, add=2):
+    """Toggles, adds or removes the 'skip_taskbar' state on a window.
+       The second paramater should one of: 0 - removes the state, 1 - adds the
+       state, 2 - toggles the state."""
+    if not data.client: return
+    ob.send_client_msg(otk.display.screenInfo(data.screen).rootWindow(),
+                       otk.Property_atoms().net_wm_state, data.client.window(),
+                       add, otk.Property_atoms().net_wm_state_skip_taskbar)
+    
+def state_skip_pager(data, add=2):
+    """Toggles, adds or removes the 'skip_pager' state on a window.
+       The second paramater should one of: 0 - removes the state, 1 - adds the
+       state, 2 - toggles the state."""
+    if not data.client: return
+    ob.send_client_msg(otk.display.screenInfo(data.screen).rootWindow(),
+                       otk.Property_atoms().net_wm_state, data.client.window(),
+                       add, otk.Property_atoms().net_wm_state_skip_pager)
+    
 def iconify(data):
     """Iconifies the window on which the event occured"""
     if not data.client: return
@@ -66,55 +81,6 @@ def focus(data):
         return
     data.client.focus()
 
-def move(data):
-    """Moves the window interactively. This should only be used with
-       MouseMotion events"""
-    if not data.client: return
-
-    # not-normal windows dont get moved
-    if not data.client.normal(): return
-
-    dx = data.xroot - data.pressx
-    dy = data.yroot - data.pressy
-    data.client.move(data.press_clientx + dx, data.press_clienty + dy)
-
-def resize(data):
-    """Resizes the window interactively. This should only be used with
-       MouseMotion events"""
-    if not data.client: return
-
-    # not-normal windows dont get resized
-    if not data.client.normal(): return
-
-    px = data.pressx
-    py = data.pressy
-    dx = data.xroot - px
-    dy = data.yroot - py
-
-    # pick a corner to anchor
-    if not (resize_nearest or data.context == MC_Grip):
-        corner = ob.Client.TopLeft
-    else:
-        x = px - data.press_clientx
-        y = py - data.press_clienty
-        if y < data.press_clientheight / 2:
-            if x < data.press_clientwidth / 2:
-                corner = ob.Client.BottomRight
-                dx *= -1
-            else:
-                corner = ob.Client.BottomLeft
-            dy *= -1
-        else:
-            if x < data.press_clientwidth / 2:
-                corner = ob.Client.TopRight
-                dx *= -1
-            else:
-                corner = ob.Client.TopLeft
-
-    data.client.resize(corner,
-                       data.press_clientwidth + dx,
-                       data.press_clientheight + dy);
-
 def restart(data, other = ""):
     """Restarts openbox, optionally starting another window manager."""
     ob.openbox.restart(other)
This page took 0.024315 seconds and 4 git commands to generate.