X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=scripts%2Fcallbacks.py;h=07dca05efb1aacca07754d5f8eb6e8b8325cbeed;hb=28a08b7d68f1168f0e35ef3faaacdf052be55eef;hp=25ac965ff23a2e343cf7e40161bf03dae0dac1a9;hpb=45972ed54852f88a97167cacd28eb52d5a42b118;p=chaz%2Fopenbox diff --git a/scripts/callbacks.py b/scripts/callbacks.py index 25ac965f..07dca05e 100644 --- a/scripts/callbacks.py +++ b/scripts/callbacks.py @@ -36,6 +36,34 @@ def state_shaded(data, add=StateAdd): otk.Property_atoms().net_wm_state, data.client.window(), add, otk.Property_atoms().net_wm_state_shaded) +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: StateRemove, StateAdd, or @@ -99,6 +127,44 @@ 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, StateToggle)