Repository navigation
terminal: settings lists scroll with the mouse; a change applies even when it cannot be saved - #60
Merged
Conversation
… when it cannot be saved Found on the OctoSense desktop (process-hosted Terminal) and reproduced with the remote instrument: - The settings list and every chooser (Theme, Font, ...) ignored the mouse wheel: the wheel moved `scroll`, but each draw scrolled back to keep the selection visible, so only the arrow keys moved the list. The draw now brings a selection into view only when it CHANGED (tracked as `shown_selected`); a wheel scroll stays where it was put. Verified: three wheel steps move the Theme list to its end (the old build stays at the top). - settings::update returned before updating the live copy when writing the file failed (read-only or sandboxed home), so theme, cursor and every other change silently did nothing. It now applies the change and bumps the generation first, then returns the save error for the caller to report. Verified with a read-only MAKEPAD_HOME: the theme and the cursor shape change live, the save error is logged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Found while running the OctoSense desktop on macOS (Terminal hosted as a sandboxed process), and reproduced and verified with the remote instrument (
--remote, hidden window).1. Mouse-wheel scrolling in the settings panel. The settings list and every chooser (Theme, Font, CJK font, …) could only be scrolled with the arrow keys.
panel_scrollmovedscroll, but each draw then scrolled back to keep the (unchanged) selection visible.shown_selectedonPanelandChooser); a wheel scroll stays where it was put. Arrow keys behave as before./m?k=scroll&dy=120) move the Theme list from Desktop to its end (Dracula). The old build (a5a3cf5) stays at the top.2. A change applies even when it cannot be saved.
settings::updatereturned early when writingsettings.conffailed, before updating the live copy and the generation. In a read-only or sandboxed home (OctoSense's G6 closed the oldMAKEPAD_HOMEto process apps), theme, cursor and every other change silently did nothing; only font previews worked.MAKEPAD_HOME: the theme (Desktop → Catppuccin Latte) and the cursor (Block → Bar) change live, and the save error is logged once.Checks:
cargo test --release -p makepad-terminal: 372 passed. 2 failed,session::tests::{a_session_reports_its_foreground_job_and_cwd, dropping_an_idle_session_does_not_block}, and they fail the same way on unmodified main here (pty environment).rustfmt --checkis clean on both files.-D warningsreports existingdisallowed_types(Instant,recv_timeout) across the crate; none are on changed lines.The OctoSense side (the Terminal's
MAKEPAD_HOMEis now its jail) is OctoSense-org/OctoSense#178.🤖 Generated with Claude Code