Repository navigation
Make the boxes reachable, and the settings say what they do - #33
Merged
Merged
Conversation
The boxes could not be used at all on Windows. A translation box is a frame with a hole in it, and the hole was the whole window: a layered window passes the mouse straight through its fully transparent pixels, so the only part of a box that could be hovered, dragged or double- clicked was the 2px line drawn around it β and the mode and delete buttons only appear on hover. Unclickable, undraggable, uncloseable, and impossible to clear once set. So the frame is now a band you can hit, painted faintly because a pixel with no alpha is a pixel the mouse never reaches, and the middle is masked out of the window entirely, which is what X11 needed for the opposite reason: there, the box was swallowing every click aimed at the game inside it. The orb's panel lists the boxes besides, one chip each to cycle the mode and delete, and a clear-all β nothing about managing a box should depend on finding it with the pointer. The boxes also built an OCR reader whatever the settings said, which on a machine that has never run scripts/export_ppocr_onnx.py β every machine, until someone does β meant every box failing on its first read while the settings screen said something else. The engine is resolved in one place now, falls back to the vision model when the local reader has no weights, and the failure it does hit reaches the orb instead of a log nobody has open. A loop that fails the same way eight times running stops rather than grinding, and says so once, not once a tick. Settings: five tabs named for tasks rather than four with a seventeen- control junk drawer called Features, section headings inside each, and the dialog moved out of app.py, which is 557 lines shorter for it. The leader key, the dialogue delay and the experimental-live checkbox are gone β all three had stopped controlling anything, which is worse than missing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y8iQjgdf2uvAcHDNcqwMZz
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The boxes could not be used at all on Windows. A translation box is a frame with a hole in it, and the hole was the whole window: a layered window passes the mouse straight through its fully transparent pixels, so the only part of a box that could be hovered, dragged or double- clicked was the 2px line drawn around it - and the mode and delete buttons only appear on hover. Unclickable, undraggable, uncloseable, and impossible to clear once set.
So the frame is now a band you can hit, painted faintly because a pixel with no alpha is a pixel the mouse never reaches, and the middle is masked out of the window entirely, which is what X11 needed for the opposite reason: there, the box was swallowing every click aimed at the game inside it. The orb's panel lists the boxes besides, one chip each to cycle the mode and delete, and a clear-all - nothing about managing a box should depend on finding it with the pointer.
The boxes also built an OCR reader whatever the settings said, which on a machine that has never run scripts/export_ppocr_onnx.py - every machine, until someone does - meant every box failing on its first read while the settings screen said something else. The engine is resolved in one place now, falls back to the vision model when the local reader has no weights, and the failure it does hit reaches the orb instead of a log nobody has open. A loop that fails the same way eight times running stops rather than grinding, and says so once, not once a tick.
Settings: five tabs named for tasks rather than four with a seventeen control junk drawer called Features, section headings inside each, and the dialog moved out of app.py, which is 557 lines shorter for it. The leader key, the dialogue delay and the experimental-live checkbox are gone - all three had stopped controlling anything, which is worse than missing.