multi-screen bug - qtile crashes #285

Closed
rxcomm opened this Issue Mar 8, 2013 · 1 comment

Comments

Projects
None yet
2 participants
@rxcomm
Contributor

rxcomm commented Mar 8, 2013

Multi-screen bug when both screens try to display the same group.

This bug happens when a dynamic group is removed and the next group
to the left is already displayed on the opposite screen. The current group
boxes collide, and one disappears.

To see this bug in action:

  1. display a group in the list on screen 1. Doesn't matter whether
    there is a window there or not.

  2. display a dynamic group on screen 0 - make sure this dynamic group
    is immediately to the right of the group displayed on screen 1 from
    above.

  3. Kill all windows displayed in the dynamic group on screen 0. This will
    remove the dynamic group on screen 0.

The current group box on screen 0 will try to move left to the next
group. But this is already displayed on screen 1, so the current
group box on screen 0 disappears.

Change screen 1 to screen 0 and vice versa to get the same thing to
happen on screen 1.

Once the current group box on a screen has disappeared, if you try to
open a window on that screen, qtile crashes.

If you click on a group on a screen without a current group box, it
will re-appear and all is happy until you repeat the above.

To summarize - basically what happens is that the current group box
for a screen moves to the left when a dynamic group is deleted. If
the group that the current group box wants to move to already has a
current group box for the other screen around it, the current group
box can't go anywhere and disappears.

Here's the traceback when you try to open a window on a screen without
a current groupbox.

2013-03-08 14:09:37,129 ERROR _xpoll:548 Got an exception in poll loop
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/qtile-0.5-py2.7.egg/libqtile/manager.py", line 544, in _xpoll
r = h(e)
File "/usr/local/lib/python2.7/dist-packages/qtile-0.5-py2.7.egg/libqtile/manager.py", line 801, in handle_MapRequest
c = self.manage(w)
File "/usr/local/lib/python2.7/dist-packages/qtile-0.5-py2.7.egg/libqtile/manager.py", line 438, in manage
self.currentScreen.group.add(c)
File "/usr/local/lib/python2.7/dist-packages/qtile-0.5-py2.7.egg/libqtile/group.py", line 166, in add
win.group = self
File "/usr/local/lib/python2.7/dist-packages/qtile-0.5-py2.7.egg/libqtile/window.py", line 660, in group
self.qtile.groups.index(group))
ValueError: <libqtile.group._Group object at 0x7fdee4120c10> is not in list

@tych0 tych0 closed this in 0b57a9c Mar 8, 2013

@tych0

This comment has been minimized.

Show comment Hide comment
@tych0

tych0 Mar 8, 2013

Member

This bug report finally inspired me to figure out what's going on here. I think I've fixed it. Let me know if you have any problems.

Member

tych0 commented Mar 8, 2013

This bug report finally inspired me to figure out what's going on here. I think I've fixed it. Let me know if you have any problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment