def test_single_WINDOW(self): props.change_prop(self.dpy, self.root, '_NET_ACTIVE_WINDOW', X.NONE) val = props.get_prop(self.dpy, self.root, '_NET_ACTIVE_WINDOW') self.assertEqual(val, X.NONE) props.change_prop(self.dpy, self.root, '_NET_ACTIVE_WINDOW', self.win) val = props.get_prop(self.dpy, self.root, '_NET_ACTIVE_WINDOW') self.assertEqual(val, self.win.id)
def __call__(self, wm, win, **kw): wins = props.get_prop(wm.dpy, wm.root, '_WHIMSY_CLIENT_LIST_FOCUS') try: wins.remove(win.id) except ValueError: pass wins.insert(0, win.id) props.change_prop(wm.dpy, wm.root, '_WHIMSY_CLIENT_LIST_FOCUS', wins)
def __call__(self, wm, win, **kw): wins = props.get_prop(wm.dpy, wm.root, '_WHIMSY_CLIENT_LIST_FOCUS') while wins: c = wm.find_client(wins[0]) if c: c.focus() break wins.pop(0) props.change_prop(wm.dpy, wm.root, '_WHIMSY_CLIENT_LIST_FOCUS', wins)
def handle_net_showing_desktop_message(wm, ev, **kw): if ev.data[1][0]: print "iconifying everything" else: print "de-iconifying everything" props.change_prop(wm.dpy, wm.root, '_NET_SHOWING_DESKTOP', ev.data[1][0]) for c in wm.clients: if ev.data[1][0]: if wm.dpy.get_atom('_NET_WM_WINDOW_TYPE_DOCK') not in c.fetch_prop('_NET_WM_WINDOW_TYPE'): c.iconify() else: print "maybe map client" if wm.dpy.get_atom('_NET_WM_WINDOW_TYPE_DOCK') not in c.fetch_prop('_NET_WM_WINDOW_TYPE'): print "really map" c.map_normal()
def handle_net_showing_desktop_message(wm, ev, **kw): if ev.data[1][0]: print "iconifying everything" else: print "de-iconifying everything" props.change_prop(wm.dpy, wm.root, '_NET_SHOWING_DESKTOP', ev.data[1][0]) for c in wm.clients: if ev.data[1][0]: if wm.dpy.get_atom('_NET_WM_WINDOW_TYPE_DOCK') not in c.fetch_prop( '_NET_WM_WINDOW_TYPE'): c.iconify() else: print "maybe map client" if wm.dpy.get_atom('_NET_WM_WINDOW_TYPE_DOCK') not in c.fetch_prop( '_NET_WM_WINDOW_TYPE'): print "really map" c.map_normal()
def update_workarea(self, hub, wm): margin_left = margin_right = margin_top = margin_bottom = 0 if self.struts: margin_left = max(map(lambda s: s['left'], self.struts.values())) margin_right = max(map(lambda s: s['right'], self.struts.values())) margin_top = max(map(lambda s: s['top'], self.struts.values())) margin_bottom = max(map(lambda s: s['bottom'], self.struts.values())) workarea = ( margin_left, # x of workarea box, and.. margin_top, # y wm.root_geometry.width - (margin_left + margin_right), # width wm.root_geometry.height - (margin_top + margin_bottom), # height ) props.change_prop(wm.dpy, wm.root, '_NET_WORKAREA', workarea) hub.emit('workarea_changed', **dict(zip(('x', 'y', 'width', 'height'), workarea)))
def update_workarea(self, hub, wm): margin_left = margin_right = margin_top = margin_bottom = 0 if self.struts: margin_left = max(map(lambda s: s['left'], self.struts.values())) margin_right = max(map(lambda s: s['right'], self.struts.values())) margin_top = max(map(lambda s: s['top'], self.struts.values())) margin_bottom = max( map(lambda s: s['bottom'], self.struts.values())) workarea = ( margin_left, # x of workarea box, and.. margin_top, # y wm.root_geometry.width - (margin_left + margin_right), # width wm.root_geometry.height - (margin_top + margin_bottom), # height ) props.change_prop(wm.dpy, wm.root, '_NET_WORKAREA', workarea) hub.emit('workarea_changed', **dict(zip(('x', 'y', 'width', 'height'), workarea)))
def test_single_UTF8_STRING(self): props.change_prop(self.dpy, self.win, '_NET_WM_NAME', 'hey guy') val = props.get_prop(self.dpy, self.win, '_NET_WM_NAME') self.assertEqual(val, 'hey guy')
def startup(self, wm, **kw): self.win = wm.root.create_window(-5000, -5000, 1, 1, 0, X.CopyFromParent) props.change_prop(wm.dpy, self.win, '_NET_WM_NAME', 'Whimsy') props.change_prop(wm.dpy, self.win, self.propname(), self.win.id) props.change_prop(wm.dpy, wm.root, self.propname(), self.win.id)
def set(self, val): props.change_prop(self.wm.dpy, self.wm.root, self.propname(), val)