Skip to content
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

helm-buffers input hangs in follow-mode with EXWM #1889

Closed
Ambrevar opened this issue Oct 8, 2017 · 9 comments
Closed

helm-buffers input hangs in follow-mode with EXWM #1889

Ambrevar opened this issue Oct 8, 2017 · 9 comments

Comments

@Ambrevar
Copy link
Member

Ambrevar commented Oct 8, 2017

With helm-buffers and helm-follow-mode on, after going up/down over the buffers a few times
the input hangs. To resume activity, I've got to click on the non-Helm buffer then other-window to the minibuffer to stop Helm.

There is no CPU hog or anything.

It seems to only happen when Emacs is run as EXWM.

Sorry for the lack of details, sadly I do not know in which direction to investigate. The issue could be specific to the combination of EXWM and Helm.

@Ambrevar
Copy link
Member Author

Ambrevar commented Oct 8, 2017

I've tried with a barebone config:

(require 'helm-config)
(require 'exwm)

I start EXWM from .xinitrc:

	emacs --daemon -f exwm-enable
	exec emacsclient -c

The issue seems to occur only when at least one EXWM buffer is present. I've tried with different X programs.
I think an EXWM buffer has to be hovered once at least before it triggers the issue.

@thierryvolpiatto
Copy link
Member

thierryvolpiatto commented Oct 9, 2017 via email

@Ambrevar
Copy link
Member Author

Ambrevar commented Oct 9, 2017

Yes, https://github.com/ch11ng/exwm.
It's very straightforward to install: it's available for ELPA.
Add the 2 lines I suggested to your .xinitrc and run startx.

You are right, there might be a race condition in the window selection and input gets lost in the process.

@Ambrevar
Copy link
Member Author

Ambrevar commented Oct 19, 2017

Update: if I filter out EXWM windows with *!exwm, then the issue does not occur.
Interestingly, if I filter out all non-EXWM window with *exwm, the issue does not occur either!

So the problem lies in the mix of both. I've managed to narrow down the recipe:

  • When I hover from a non-EXWM buffer to a non-EXWM buffer, it's fine.
  • When I hover from a non-EXWM buffer to an EXWM buffer, it's fine.
  • When I hover from an EXWM buffer to an EXWM buffer, it's fine.
  • However, as soon as I hover from an EXWM buffer to a non-EXWM buffer, the cursor is lost.

I have to click on another buffer to regain control.

I think this might have to do with the fact that EXWM buffers have no cursor position. What do you think?

@Ambrevar
Copy link
Member Author

Besides, this might be related to #1891 and point/marker positions.

@Ambrevar
Copy link
Member Author

With the workaround of #1891, this issue is still here: that was quite expected considering this has probably nothing to do with the mark-ring. Since the original cause of the issue #1891 might still be unknown, those two bugs might still be related.

@Ambrevar
Copy link
Member Author

Ambrevar commented Nov 8, 2017

Note that this problem is no longer relevant when separating Emacs buffers from EXWM buffers with Helm-EXWM.

@Ambrevar
Copy link
Member Author

It seems that this problem is gone with recent versions of Helm / EXWM. Closing.

@moritzschaefer
Copy link

not for me :/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants