New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Window manager stuck in loop cycling through spaces #19
Comments
Whoa. Which two applications do you have open? |
Do you have any other clients running? Like docks, panels, etc. If so, which ones? |
The only other application running is dzen2. Here's my xsession script if that helps
|
Sorry to be pedantic, but since I haven't been able to re-create this yet, I need very specific details. The very best scenario is one in which you can re-create this problem in the most simple environment possible. For instance, you said "move a window from a workspace with more than one window from at least two distinct applications". Does this include dzen2? Does it happen with any two distinct applications (within reason)? Can you give me a precise example? i.e., if workspace A is your current workspace and workspace B is the workspace you want to move a client to, then: Which windows, including docks/panels, are visible on workspace A? Which window are you trying to move? Which windows are already on workspace B? Do you have more than one monitor? Could you post the contents of Note that |
The windows on workspace A are a terminal, emacs and my dzen2 conkey bar. I wasnt really thinking of that as a window and the SelectClient prompt doesnt show it in the list. If I move the emacs window to workspace B the error occurs. Workspace B was empty except for the dzen2 bar which will be there when I move workspaces. It is global. I only have one monitor. Here's my conkey script
|
I've re-created your environment exactly but still cannot reproduce the bug. Dammit. This makes it really hard to fix. A couple more questions: Does this happen with any two distinct apps? What about another terminal and a file manager? (Or whatever.) When the workspaces cycle, does the window you moved cycle too? Or is it just the workspaces? Can you stop the cycling by issuing a workspace command? (i.e., try to move to your first workspace or something.) Are any of the workspaces empty? (Don't include docks/panels here.) What version of Go do you have installed? (Run |
I'm seeing this when I have |
Ah ha! I have that set too. I probably should have included a full wingo config before. |
dcolish, could you check out my previous comment? Also, I think I'm going to have to ask for your Also, could you post the command you're using to start Wingo? |
Aha! I've reproduced the bug. I set |
All right, I've committed a fix. The problem was that in a tiling layout, when you switched to the next workspace, the currently focused window was added to the next workspace and the tiling layout is refreshed. Therefore, your mouse "enters" into the other window in the layout before the workspace actually changes. So right after the workspace changes, the window on the previous workspace requests focus---which changes the workspace right back. This ends up causing a loop that doesn't cycle all workspaces, but switches back and forth between two workspaces indefinitely. The fix is simple: ignore |
If I use
WorkspaceWithClient
orWorkspaceGreedyWithClient
to move a window from a workspace with more than one window from at least two distinct applications, wingo will begin to cycle through the workspaces endlessly. If I have two xterm windows and move one, I do not see the same issue. A single window will also not reproduce it. I've pasted a snippet from my xsession-error.log below.The text was updated successfully, but these errors were encountered: