def raise_win(data):
"""Raises the window on which the event occured"""
if not data.client: return
- openbox.screen(data.screen).restack(1, data.client)
+ openbox.screen(data.screen).raiseWindow(data.client)
def lower_win(data):
"""Lowers the window on which the event occured"""
if not data.client: return
- openbox.screen(data.screen).restack(0, data.client)
+ openbox.screen(data.screen).lowerWindow(data.client)
def toggle_shade(data):
"""Toggles the shade status of the window on which the event occured"""
d = n - 1
change_desktop(data, d)
-def send_to_all_desktops(data):
- """Sends a client to all desktops"""
- if not data.client: return
- send_client_msg(display.screenInfo(data.screen).rootWindow(),
- Property_atoms().net_wm_desktop, data.client.window(),
- 0xffffffff)
-
def send_to_desktop(data, num):
"""Sends a client to a specified desktop"""
if not data.client: return
send_client_msg(display.screenInfo(data.screen).rootWindow(),
Property_atoms().net_wm_desktop, data.client.window(), num)
+def toggle_all_desktops(data):
+ """Toggles between sending a client to all desktops and to the current
+ desktop."""
+ if not data.client: return
+ if not data.client.desktop() == 0xffffffff:
+ send_to_desktop(data, 0xffffffff)
+ else:
+ send_to_desktop(data, openbox.screen(data.screen).desktop())
+
+def send_to_all_desktops(data):
+ """Sends a client to all desktops"""
+ if not data.client: return
+ send_to_desktop(data, 0xffffffff)
+
def send_to_next_desktop(data, no_wrap=0, follow=1):
"""Sends a window to the next desktop, optionally (by default) cycling
around to the first when going past the last. Also optionally moving to
def setup_window_buttons():
"""Sets up the default behaviors for the buttons in the window titlebar."""
+ mbind("Left", MC_AllDesktopsButton, MouseClick, toggle_all_desktops)
mbind("Left", MC_CloseButton, MouseClick, close)
def setup_scroll():
def placewindows_random(data):
if not data.client: return
client_area = data.client.area()
+ frame_size = data.client.frame.size()
screen = display.screenInfo(data.screen)
- width = screen.width() - client_area.width()
- height = screen.height() - client_area.height()
+ width = screen.width() - (client_area.width() +
+ frame_size.left + frame_size.right)
+ height = screen.height() - (client_area.height() +
+ frame_size.top + frame_size.bottom)
global ob_rand
if not ob_rand: ob_rand = random.Random()
x = ob_rand.randrange(0, width-1)