Description
When entering the output window using :noautocmd MoltenEnterOutput, the window freezes and stops updating in real time. This makes it impossible to monitor incremental output (such as training logs or progress bars) while inside the output window. The updates continue appearing as expected only when the output window is not focused or entered.
Reproduction Steps
- Evaluate a long-running cell that produces incremental output (e.g., a training loop with logging printed on new line).
- Open the output window via
:noautocmd MoltenEnterOutput (using the default or any enter_output_behavior).
- While the window is focused, observe that new output does not appear until you leave the window.
Expected Behavior
The output window should update in real time, showing new output as it is produced by the kernel, even while focused/entered.
Additional Info
- Setting
g:molten_output_win_hide_on_leave = false does resolve this (output updates in real time), but now the output window never closes on leave, requiring manual cleanup.
- Using virtual text output as a workaround is not always suitable (especially for image/plot-heavy use-cases).
- This is likely caused by the window redrawing being intentionally disabled while "entered" to avoid disruptions, but this blocks essential interactivity.
Versions
- NeoVim Version: v0.11.6
- OS: Bedrock Linux 0.7.30 Poki x86_64 (Void Linux 6.12.69_1)
- Python Version: 3.14.2
- Python installed via: xbps-install
- Health checks: see below
`:checkhealth molten`
==============================================================================
molten: 4 ⚠️
molten-nvim ~
- ✅ OK NeoVim >=0.9
- ✅ OK Python >=3.10
- ✅ OK Python module pynvim found
- ✅ OK Python module jupyter-client found
- ✅ OK Python module cairosvg found
- ⚠️ WARNING Optional python module pnglatex not found
- ⚠️ WARNING Optional python module plotly not found
- ⚠️ WARNING Optional python module kaleido not found
- ⚠️ WARNING Optional python module pyperclip not found
- ✅ OK Python module nbformat found
- ✅ OK Python module pillow found
`:checkhealth provider` (python parts)
==============================================================================
vim.provider: 4 ⚠️
Clipboard (optional) ~
- ✅ OK Clipboard tool found: xsel
Node.js provider (optional) ~
Perl provider (optional) ~
- ⚠️ WARNING "Neovim::Ext" cpan module is not installed
- ADVICE:
- See :help |provider-perl| for more information.
- You can disable this provider (and warning) by adding
let g:loaded_perl_provider = 0 to your init.vim
- ⚠️ WARNING No usable perl executable found
Python 3 provider (optional) ~
g:python3_host_prog is not set. Searching for pynvim-python in the environment.
- Executable: /usr/bin/pynvim-python
- Python version: 3.14.2
- pynvim version: 0.6.0
- ✅ OK Latest pynvim is installed.
Python virtualenv ~
Ruby provider (optional) ~
- ⚠️ WARNING
ruby and gem must be in $PATH.
- ADVICE:
- Install Ruby and verify that
ruby and gem commands work.
Description
When entering the output window using
:noautocmd MoltenEnterOutput, the window freezes and stops updating in real time. This makes it impossible to monitor incremental output (such as training logs or progress bars) while inside the output window. The updates continue appearing as expected only when the output window is not focused or entered.Reproduction Steps
:noautocmd MoltenEnterOutput(using the default or anyenter_output_behavior).Expected Behavior
The output window should update in real time, showing new output as it is produced by the kernel, even while focused/entered.
Additional Info
g:molten_output_win_hide_on_leave = falsedoes resolve this (output updates in real time), but now the output window never closes on leave, requiring manual cleanup.Versions
`:checkhealth molten`
==============================================================================⚠️
molten: 4
molten-nvim ~
`:checkhealth provider` (python parts)
==============================================================================⚠️
vim.provider: 4
Clipboard (optional) ~
Node.js provider (optional) ~
Node.js: v24.13.0
let g:loaded_node_provider = 0to your init.vimPerl provider (optional) ~
let g:loaded_perl_provider = 0to your init.vimPython 3 provider (optional) ~
g:python3_host_progis not set. Searching for pynvim-python in the environment.Python virtualenv ~
Ruby provider (optional) ~
rubyandgemmust be in $PATH.rubyandgemcommands work.