qtile/qtile — pull request #360 by jdukes (2013-11-27 06:53:49+00:00)
Title: If a client is moved to a group that doesn't exist, that group will not ...

...be added to the group map causing the following error:

File "/usr/lib/python2.7/site-packages/libqtile/manager.py", line 565, in _xpoll
r = h(e)
File "/usr/lib/python2.7/site-packages/libqtile/manager.py", line 833, in handle_MapRequest
c = self.manage(w)
File "/usr/lib/python2.7/site-packages/libqtile/manager.py", line 450, in manage
hook.fire("client_new", c)
File "/usr/lib/python2.7/site-packages/libqtile/hook.py", line 216, in fire
i(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/libqtile/dgroups.py", line 165, in _add
self.sort_groups()
File "/usr/lib/python2.7/site-packages/libqtile/dgroups.py", line 172, in sort_groups
self.qtile.groups.sort(key=lambda g: self.groupMap[g.name].position)
File "/usr/lib/python2.7/site-packages/libqtile/dgroups.py", line 172, in
self.qtile.groups.sort(key=lambda g: self.groupMap[g.name].position)
KeyError: 'foo'
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/libqtile/manager.py", line 565, in _xpoll
r = h(e)
File "/usr/lib/python2.7/site-packages/libqtile/manager.py", line 833, in handle_MapRequest
c = self.manage(w)
File "/usr/lib/python2.7/site-packages/libqtile/manager.py", line 450, in manage
hook.fire("client_new", c)
File "/usr/lib/python2.7/site-packages/libqtile/hook.py", line 216, in fire
i(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/libqtile/dgroups.py", line 165, in _add
self.sort_groups()
File "/usr/lib/python2.7/site-packages/libqtile/dgroups.py", line 172, in sort_groups
self.qtile.groups.sort(key=lambda g: self.groupMap[g.name].position)
File "/usr/lib/python2.7/site-packages/libqtile/dgroups.py", line 172, in
self.qtile.groups.sort(key=lambda g: self.groupMap[g.name].position)
KeyError: 'foo'

This patch fixes that bug.