mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-14 19:27:05 -04:00
widgets::keep_focus (Project panel rename and comment, Render Queue, Essential Graphics and Timeline fields) selected the whole text whenever it saw its field without the keyboard focus, not just on the frame the editor opened. Anything that took the focus for a frame (an input method, another handler) then re-selected the name, so the arrow keys seemed to do nothing and Backspace erased the whole name, as reported on Linux. The editor now remembers the pass it was last shown: it selects all only when it opens and otherwise just takes the keyboard back with the caret where it was. The harness does not reproduce the report's Linux behaviour itself (arrows reach the field there); the tests cover the path that did: a unit test drops the focus for a frame and checks the caret survives (and that reopening selects all), and a kittest renames a Project item and a Timeline layer with Left / Right / Up / Down / End and Backspace, editing part of each name. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01QiAJeFttZp83Fh7YuzAR5f