def cb_property_notify(e): global activewin, desk_num, desktop, monitors, phys_monitors, root_geom, stacking, visibles, workarea aname = util.get_atom_name(e.atom) if aname == "_NET_DESKTOP_GEOMETRY": root_geom = ewmh.get_desktop_geometry().reply() monitors = xinerama.get_monitors() phys_monitors = xinerama.get_physical_mapping(monitors) elif aname == "_NET_ACTIVE_WINDOW": activewin = ewmh.get_active_window().reply() elif aname == "_NET_CURRENT_DESKTOP": desktop = ewmh.get_current_desktop().reply() if visibles is None or len(visibles) == 1: visibles = [desktop] elif aname == "_NET_VISIBLE_DESKTOPS": visibles = ewmh.get_visible_desktops().reply() elif aname == "_NET_NUMBER_OF_DESKTOPS": desk_num = ewmh.get_number_of_desktops().reply() elif aname == "_NET_CLIENT_LIST_STACKING": stacking = ewmh.get_client_list_stacking().reply() elif aname == "_NET_WORKAREA": update_workarea()
def cb_property_notify(e): global activewin, desk_num, desktop, monitors, phys_monitors, root_geom, \ stacking, visibles, workarea aname = util.get_atom_name(e.atom) if aname == '_NET_DESKTOP_GEOMETRY': root_geom = ewmh.get_desktop_geometry().reply() monitors = xinerama.get_monitors() phys_monitors = xinerama.get_physical_mapping(monitors) elif aname == '_NET_ACTIVE_WINDOW': activewin = ewmh.get_active_window().reply() elif aname == '_NET_CURRENT_DESKTOP': desktop = ewmh.get_current_desktop().reply() if visibles is None or len(visibles) == 1: visibles = [desktop] elif aname == '_NET_VISIBLE_DESKTOPS': visibles = ewmh.get_visible_desktops().reply() elif aname == '_NET_NUMBER_OF_DESKTOPS': desk_num = ewmh.get_number_of_desktops().reply() elif aname == '_NET_CLIENT_LIST_STACKING': stacking = ewmh.get_client_list_stacking().reply() elif aname == '_NET_WORKAREA': update_workarea()
if childw == w: _wmrunning = True wm = ewmh.get_wm_name(childw).reply() if wm.lower() == 'openbox': utilwm = window.WindowManagers.Openbox elif wm.lower() == 'kwin': utilwm = window.WindowManagers.KWin print '%s window manager is running...' % wm sys.stdout.flush() if not _wmrunning: time.sleep(1) root_geom = ewmh.get_desktop_geometry().reply() monitors = xinerama.get_monitors() phys_monitors = xinerama.get_physical_mapping(monitors) desk_num = ewmh.get_number_of_desktops().reply() activewin = ewmh.get_active_window().reply() desktop = ewmh.get_current_desktop().reply() visibles = ewmh.get_visible_desktops().reply() or [desktop] stacking = ewmh.get_client_list_stacking().reply() workarea = [] def quit(): print 'Exiting...' import tile for tiler in tile.tilers: tile.get_active_tiler(tiler)[0].untile() sys.exit(0)
def __init__(self): self.window_manager = self.get_window_manager() monitors = xinerama.get_monitors() self.workareas = [ Rectangle(*mon) for mon in rect.monitor_rects(monitors) ] self.workareas = sorted(self.workareas, key=lambda rect: rect.x)