neovide: macOS: Neovide hanging on exit

Describe the bug On macOS, Neovide 0.12.2 hangs on exit. This did not happen on 0.12.1

To Reproduce Steps to reproduce the behavior:

  1. Run brew install --cask neovide
  2. Open it with neovide -- --clean, also happens with neovide -- -u NORC (it happens even with no configuration)
  3. Notice that editing works fine, but quitting e.g., with <kbd>:q</kbd> or <kbd>ZZ</kbd> causes it to hang.
  4. The neovide process pins my CPU to 100%, as seen in htop

Expected behavior Quit with no problem.

Screenshots Screenshot 2024-03-05 at 1 23 34 PM

Desktop (please complete the following information):

  • OS: [e.g. macOS Sonoma 14.1.1
  • Neovide Version 0.12.2
  • Neovim Version
NVIM v0.10.0-dev-2424+gbb15fa035-dirty
Build type: Release
LuaJIT 2.1.1707061634
Run "nvim -V1 -v" for more info

Please run neovide --log and paste the contents of the .log file created in the current directory here:

As pastebin link: http://sprunge.us/oUHsQf

About this issue

  • Original URL
  • State: open
  • Created 4 months ago
  • Comments: 20 (9 by maintainers)

Most upvoted comments

Oh interesting, I have narrowed it to

frame = "none"

in neovide/config.toml

Duplicate of #2087

Please try using --frame buttonless temporarily.

Same here, not in any case but very often when I want to write or close a file Neovide hangs, but still recognizes focus und logs key press:

After hitting ‘:w’ Neovide hangs, last log entry:

TRACE [neovide::window::keyboard_manager] Key pressed w ModifiersState(0x0)
TRACE [neovide::channel_utils] UICommand Serial(Keyboard("w"))
TRACE [neovide::window::keyboard_manager] KeyEvent {
    physical_key: Code(
        KeyW,
    ),
    logical_key: Character(
        "w",
    ),
    text: None,
    location: Standard,
    state: Released,
    repeat: false,
    platform_specific: KeyEventExtra {
        text_with_all_modifiers: Some(
            "w",
        ),
        key_without_modifiers: Character(
            "w",
        ),
    },
}

But anyway log still fills with aditional keypress registrations and window focus changes:

TRACE [neovide::channel_utils] UICommand Parallel(FocusLost)
TRACE [neovide::channel_utils] UICommand Parallel(FocusGained)
TRACE [neovide::window::keyboard_manager] KeyEvent {
    physical_key: Code(
        ControlLeft,
    ),
    logical_key: Named(
        Control,
    ),
    text: None,
    location: Left,
    state: Released,
    repeat: false,
    platform_specific: KeyEventExtra {
        text_with_all_modifiers: None,
        key_without_modifiers: Named(
            Control,
        ),
    },
}
TRACE [neovide::channel_utils] UICommand Parallel(FocusLost)
TRACE [neovide::channel_utils] UICommand Parallel(FocusGained)
TRACE [neovide::channel_utils] UICommand Parallel(FocusLost)

Same behaviour on ‘:x’, ‘:wq’ and ‘:q’