Skip to content

feat: auto-redraw on BufEnter/TermEnter to fix rendering corruption#41

Draft
ttak0422 wants to merge 1 commit intov1from
feat/auto-redraw-on-focus
Draft

feat: auto-redraw on BufEnter/TermEnter to fix rendering corruption#41
ttak0422 wants to merge 1 commit intov1from
feat/auto-redraw-on-focus

Conversation

@ttak0422
Copy link
Copy Markdown
Owner

Summary

  • BufEnter / TermEnter autocmd をpterm バッファにバッファローカルで登録し、ウィンドウフォーカス切替やターミナルモード再入場時に自動リドローを実行する
  • デバウンス(デフォルト50ms)により両イベントが連続発火しても不要なリドローを抑制する
  • setup({ auto_redraw = false }) で無効化可能、auto_redraw_delay_ms でデバウンス遅延を調整可能

Motivation

モード切替・ウィンドウフォーカス切替のタイミングで重い処理が中断されると描画が崩れることがある。これらのイベントを契機に自動リドローを仕掛けることで、ユーザーが手動で :PtermRedraw を実行しなくても描画が自動回復するようにする。

Test plan

  • ptermバッファを開き、他のウィンドウに切り替えて戻ったとき描画が正常であることを確認
  • ノーマルモードからターミナルモードに入り直したとき描画が正常であることを確認
  • setup({ auto_redraw = false }) 設定時は自動リドローが発生しないことを確認

🤖 Generated with Claude Code

Register BufEnter and TermEnter autocmds on each pterm buffer so that
switching window focus or re-entering terminal mode automatically
triggers a redraw, recovering from rendering corruption caused by
mid-flight interruptions.

Debounce (50 ms default) avoids redundant redraws when both events fire
together. The feature is on by default and can be disabled via
`setup({ auto_redraw = false })`.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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

Successfully merging this pull request may close these issues.

1 participant