Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Neovim requests focus notify events without grabbing input #9959

Copy link
Copy link
Closed
@HarmtH

Description

@HarmtH
Issue body actions
  • nvim --version: NVIM v0.4.0-633-g82cbcc6f3
  • Vim (version: ) behaves differently? yes
  • Operating system/version: Ubuntu 18.04.2
  • Terminal name/version: termite (gnome-terminal also affected, xterm not affected)
  • $TERM: xterm-termite (xterm-256color for gnome-terminal)

Steps to reproduce using nvim -u NORC

thinkbox ~% nvim ~/a
(press ^Z: suspend)
thinkbox 1? ~% nvim ~/a
(swapfile detected, press a: abort)
^[[Ithinkbox 1? ~% 

Actual behaviour

^[[I is TYPED into the shell.

Expected behaviour

^[[I is not typed into the shell.

Explanation

Neovim sends ^[[?1004h to the terminal to enable focus gained / lost reporting.

The terminal emulator reports focus gained to Neovim by typing ^[[I and reports focus lost by typing ^[[O.

It seems that libvte (termite, gnome-terminal) also reports the current focus state (^[[I/^[[O) directly after enabling this mode. Xterm doesn't, so that's why xterm is not affected by this bug.

When pressing a(bort) in the swap file dialog, it seems Neovim immediately stops grabbing the input, so all characters typed thereafter are typed into the shell. (Catting a file containing ^[[?1004h causes the same issue)

Luckily both bash and zsh seem to ignore typing ^[[I (aka <esc>[I) (unless you have bound it). My issue was that I had bound <esc> to <noop>, so everytime I aborted Neovim [I appeared typed in my shell.

Typing any character before pressing a (even scrolling the mouse in the window) makes the problem disappear. Also using q instead of a is a good workaround.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugissues reporting wrong behaviorissues reporting wrong behaviortui

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.