]> Dogcows Code - chaz/openbox/blobdiff - scripts/callbacks.py
no more configuration.hh
[chaz/openbox] / scripts / callbacks.py
index 7ff673550cfb9cffe2f1139d065a36ecd97e6f7b..07dca05efb1aacca07754d5f8eb6e8b8325cbeed 100644 (file)
@@ -5,46 +5,78 @@
 import ob
 import otk
 
-def state_above(data, add=2):
+StateRemove = 0
+StateAdd = 1
+StateToggle = 2
+
+def state_above(data, add=StateAdd):
     """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."""
+       The second paramater should one of: StateRemove, StateAdd, or
+       StateToggle."""
     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):
+def state_below(data, add=StateAdd):
     """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."""
+       The second paramater should one of: StateRemove, StateAdd, or
+       StateToggle."""
     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):
+def state_shaded(data, add=StateAdd):
     """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."""
+       The second paramater should one of: StateRemove, StateAdd, or
+       StateToggle."""
     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):
+def state_maximize(data, add=StateAdd):
+    """Toggles, adds or removes the horizontal and vertical 'maximized' state
+       on a window. The second paramater should one of: StateRemove, StateAdd,
+       or StateToggle."""
+    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_maximized_horz,
+                       otk.Property_atoms().net_wm_state_maximized_vert)
+
+def state_maximize_horz(data, add=StateAdd):
+    """Toggles, adds or removes the horizontal 'maximized' state on a window.
+       The second paramater should one of: StateRemove, StateAdd, or
+       StateToggle."""
+    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_maximized_horz)
+
+def state_maximize_vert(data, add=StateAdd):
+    """Toggles, adds or removes the vertical 'maximized' state on a window.
+       The second paramater should one of: StateRemove, StateAdd, or
+       StateToggle."""
+    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_maximized_vert)
+
+def state_skip_taskbar(data, add=StateAdd):
     """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."""
+       The second paramater should one of: StateRemove, StateAdd, or
+       StateToggle."""
     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):
+def state_skip_pager(data, add=StateAdd):
     """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."""
+       The second paramater should one of: StateRemove, StateAdd, or
+       StateToggle."""
     if not data.client: return
     ob.send_client_msg(otk.display.screenInfo(data.screen).rootWindow(),
                        otk.Property_atoms().net_wm_state, data.client.window(),
@@ -95,17 +127,55 @@ def lower_win(data):
     if not data.client: return
     ob.openbox.screen(data.screen).lowerWindow(data.client)
 
+def toggle_maximize(data):
+    """Toggles the maximized status of the window on which the event occured"""
+    state_maximize(data, StateToggle)
+
+def toggle_maximize_horz(data):
+    """Toggles the horizontal maximized status of the window on which the event
+       occured"""
+    state_maximize_horz(data, StateToggle)
+
+def toggle_maximize_vert(data):
+    """Toggles the vertical maximized status of the window on which the event
+       occured"""
+    state_maximize_vert(data, StateToggle)
+
+def maximize(data):
+    """Maximizes the window on which the event occured"""
+    state_maximize(data, StateAdd)
+
+def maximize_horz(data):
+    """Horizontally maximizes the window on which the event occured"""
+    state_maximize_horz(data, StateAdd)
+
+def maximize_vert(data):
+    """Vertically maximizes the window on which the event occured"""
+    state_maximize_vert(data, StateAdd)
+
+def unmaximize(data):
+    """Unmaximizes the window on which the event occured"""
+    state_maximize(data, StateRemove)
+
+def unmaximize_horz(data):
+    """Horizontally unmaximizes the window on which the event occured"""
+    state_maximize_horz(data, StateRemove)
+
+def unmaximize_vert(data):
+    """Vertically unmaximizes the window on which the event occured"""
+    state_maximize_vert(data, StateRemove)
+
 def toggle_shade(data):
     """Toggles the shade status of the window on which the event occured"""
-    state_shaded(data)
+    state_shaded(data, StateToggle)
 
 def shade(data):
     """Shades the window on which the event occured"""
-    state_shaded(data, 1)
+    state_shaded(data, StateAdd)
 
 def unshade(data):
     """Unshades the window on which the event occured"""
-    state_shaded(data, 0)
+    state_shaded(data, StateRemove)
 
 def change_desktop(data, num):
     """Switches to a specified desktop"""
@@ -151,7 +221,7 @@ def toggle_all_desktops(data):
     if not data.client.desktop() == 0xffffffff:
         send_to_desktop(data, 0xffffffff)
     else:
-        send_to_desktop(data, openbox.screen(data.screen).desktop())
+        send_to_desktop(data, ob.openbox.screen(data.screen).desktop())
     
 def send_to_all_desktops(data):
     """Sends a client to all desktops"""
This page took 0.030377 seconds and 4 git commands to generate.