Example #1
0
    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)
Example #2
0
 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)
Example #3
0
    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)
Example #4
0
 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)
Example #5
0
 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)
Example #6
0
 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)
Example #7
0
File: ewmh.py Project: Luiji/whimsy
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()
Example #8
0
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()
Example #9
0
File: ewmh.py Project: Luiji/whimsy
    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)))
Example #10
0
    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)))
Example #11
0
 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')
Example #12
0
 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)
Example #13
0
 def set(self, val):
     props.change_prop(self.wm.dpy, self.wm.root, self.propname(), val)
Example #14
0
File: ewmh.py Project: Luiji/whimsy
 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)
Example #15
0
File: ewmh.py Project: Luiji/whimsy
 def set(self, val):
     props.change_prop(self.wm.dpy, self.wm.root, self.propname(), val)
Example #16
0
 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')