Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
Lag when clicking in msys2 bash shell with gvim running in background #845
ConEmu build: 160828 stable x64
When I launch windows gvim as a background command from bash, I experience a small lag when clicking on the shell. From running a debug build it seems to be caused by a named pipe timeout looking for a pipe that wasn't created.
Steps to reproduce
Every click causes an approximate 1s lag before normal running resumes.
No noticeable lag.
I'm not sure how to get a log of what I saw in the debug build, I looked in info -> debug but none of those logs showed anything to do with the pipe failure.
I've found a workaround just by greatly reducing the pipe timeout, but this obviously isn't a real fix.
Process explorer screenshot showing the process tree with the handles open (see that there's no named pipe on PID 9396):
And showing the DLLs, that there is ConEmuHk64.dll injected:
These screenshots are from my debug build (so I can show the named pipe error - that's also why it says "Duration" instead of "Tries" now because I reduced the timeout to 10ms). The same applies to the installed build I have, the DLL is present in the child bash.exe but there is no pipe.
In case it's relevant, here is my settings.xml. I have "Inject ConEmuHk" enabled, but this option seems to make no difference (the problem is the same, and the DLL seems to be injected even if it's disabled).
The answer depend on your case. Why do you click? What is expected reaction for the click?
I use sloppy mouse focus (focus follows cursor), so I often click on the window just to raise it to the foreground. For this reason also I have "Skip click on activation" and "Skip mouse events in background" disabled.
I tried disabling "Change prompt text cursor position" but it didn't make any difference, I still get the lag when clicking to raise, or if I double click to select a word. Ideally I would like to leave this enabled since I might run terminal programs sometimes that I will want mouse input for.
As far as I can tell, everything works correctly with my settings except for this lag. I haven't noticed anything else working unexpectedly at least.
Ref: gh-986, gh-317, gh-845 Now ‘Change prompt text cursor position with Left Click’ and ‘Ctrl+Backspace - delete word leftward to the text cursor’ are process by ConEmu GUI without posting command to ConEmuHk. The feature requires properly reported by the shell prompt start pos. For bare cmd.exe it's done automatically by ConEmuHk. All other shells must report the start of the prompt with ANSI. * https://conemu.github.io/en/AnsiEscapeCodes.html#ConEmu_specific_OSC * https://conemu.github.io/en/CygwinMsysConnector.html For example, while using bash and connector you may add to the end of your `PS1` the following sequence: `\[\033]9;12\007\]`.