[PR #655] [MERGED] fix(terminal): restore DEC private modes on focus-in to fix Windows Terminal mouse tracking #686

Closed
opened 2026-03-02 23:47:41 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/anomalyco/opentui/pull/655
Author: @Hona
Created: 2/9/2026
Status: Merged
Merged: 2/10/2026
Merged by: @kommander

Base: mainHead: fix/focus-restore-terminal-modes


📝 Commits (3)

  • 6ad52ec fix(terminal): restore DEC private modes on focus-in to fix Windows Terminal mouse tracking
  • db9d224 fix(terminal): track active kitty keyboard flags in state and pop-then-push on restore
  • a90e7bc low ceremony

📊 Changes

8 files changed (+599 additions, -0 deletions)

View changed files

packages/core/src/examples/focus-restore-demo.ts (+310 -0)
📝 packages/core/src/examples/index.ts (+7 -0)
📝 packages/core/src/renderer.ts (+5 -0)
packages/core/src/tests/renderer.focus-restore.test.ts (+200 -0)
📝 packages/core/src/zig.ts (+9 -0)
📝 packages/core/src/zig/lib.zig (+4 -0)
📝 packages/core/src/zig/renderer.zig (+6 -0)
📝 packages/core/src/zig/terminal.zig (+58 -0)

📄 Description

When Windows Terminal / ConPTY loses focus (alt-tab, minimize, tab switch), it silently strips DEC private mode escape codes even though the app's internal state still thinks they're enabled.

Now we listen to the focus signal and resend the escape codes.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/anomalyco/opentui/pull/655 **Author:** [@Hona](https://github.com/Hona) **Created:** 2/9/2026 **Status:** ✅ Merged **Merged:** 2/10/2026 **Merged by:** [@kommander](https://github.com/kommander) **Base:** `main` ← **Head:** `fix/focus-restore-terminal-modes` --- ### 📝 Commits (3) - [`6ad52ec`](https://github.com/anomalyco/opentui/commit/6ad52ec5b9418d31f01a075537ef668e409b28e5) fix(terminal): restore DEC private modes on focus-in to fix Windows Terminal mouse tracking - [`db9d224`](https://github.com/anomalyco/opentui/commit/db9d224ba7254883edd3a9324b6ba83b5b7deec4) fix(terminal): track active kitty keyboard flags in state and pop-then-push on restore - [`a90e7bc`](https://github.com/anomalyco/opentui/commit/a90e7bca6745f1b8733fa87d4407f43b6b931b79) low ceremony ### 📊 Changes **8 files changed** (+599 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `packages/core/src/examples/focus-restore-demo.ts` (+310 -0) 📝 `packages/core/src/examples/index.ts` (+7 -0) 📝 `packages/core/src/renderer.ts` (+5 -0) ➕ `packages/core/src/tests/renderer.focus-restore.test.ts` (+200 -0) 📝 `packages/core/src/zig.ts` (+9 -0) 📝 `packages/core/src/zig/lib.zig` (+4 -0) 📝 `packages/core/src/zig/renderer.zig` (+6 -0) 📝 `packages/core/src/zig/terminal.zig` (+58 -0) </details> ### 📄 Description When Windows Terminal / ConPTY loses focus (alt-tab, minimize, tab switch), it silently strips DEC private mode escape codes even though the app's internal state still thinks they're enabled. Now we listen to the focus signal and resend the escape codes. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-02 23:47:41 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/opentui#686
No description provided.