feat(gui): back navigation via the mouse's back button and Alt+Left - #563
feat(gui): back navigation via the mouse's back button and Alt+Left#563tagawa0525 wants to merge 3 commits into
Conversation
A mouse configurator should honor the hardware it configures. Pop the device-detail screen on the navigate mouse button (delivered natively while the button keeps its default binding — a diverted button never reaches the OS event stream) and on Alt+Left, which is both what a rebound button's BrowserBack action injects on Linux and what keyboard users expect. Linux has no OS-level button-8 → "back" translation (unlike Windows' WM_APPCOMMAND), so the app opts in itself, same as browsers do. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N76prZoUHMrHZajXq4jET1
They only move the selection, which no longer has a visible effect on the Home screen — the ring shows managed state and capture runs per device — so the controls read as dead buttons. Cards are clicked directly and the row scrolls when it overflows. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N76prZoUHMrHZajXq4jET1
There was a problem hiding this comment.
Pull request overview
This PR updates the OpenLogi GUI to better match common navigation expectations in a device-centric UI: users can dismiss the device detail screen using hardware/OS “back” affordances, and the Home gallery removes carousel controls that no longer have visible effect after per-device capture.
Changes:
- Add window-level back navigation to return from device detail to Home via mouse “back” button and
Alt+Left. - Remove the Home gallery carousel arrows and indicators (dots), leaving direct card clicks and overflow scrolling as the interaction model.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| crates/openlogi-gui/src/app.rs | Adds back-navigation event handlers (mouse navigate-back + Alt+Left) that pop the route back to Home when not already there. |
| crates/openlogi-gui/src/app/home.rs | Disables carousel arrows/indicators since they only affect selection, which no longer has a meaningful visual effect on Home. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Greptile SummaryThe PR adds device-detail back navigation for the mouse back button and Alt+Left, and revises the Home gallery to hide indicators while retaining navigation arrows.
Confidence Score: 5/5The PR appears safe to merge because no blocking failure remains established. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| crates/openlogi-gui/src/app.rs | Adds root-level mouse and keyboard handlers that return non-Home routes to Home. |
| crates/openlogi-gui/src/app/home.rs | Disables gallery indicator dots while preserving arrows and existing card behavior. |
Reviews (2): Last reviewed commit: "fix(gui): keep the gallery arrows as the..." | Re-trigger Greptile
…cards The arrows are tab-focusable buttons whose selection change scrolls the row to the selected card, so they were the only keyboard route to devices that overflow the viewport — restore them. The dots stay gone: they duplicate the scroll position and were never keyboard-operable. Refs: AprilNEA#563 (comment)
Summary
A mouse configurator should honor the hardware it configures. This lets the device-detail screen be dismissed with the mouse's back button and with Alt+Left, and removes the Home gallery's carousel arrows/dots, which became dead controls once capture went per-device.
The back button is delivered natively while it keeps its default binding (a diverted button never reaches the OS event stream), and Alt+Left is both what a rebound button's BrowserBack action injects on Linux and what keyboard users expect. Linux has no OS-level button-8 → "back" translation (unlike Windows'
WM_APPCOMMAND), so the app opts in itself, the same way browsers do.The gallery arrows/dots only moved the selection, which no longer has a visible effect on the Home screen — the ring shows managed state and capture runs per device (#419) — so they read as dead buttons. Cards are clicked directly and the row scrolls when it overflows.
Changes
gui: pop the device-detail screen on mouse button 4 (back) and Alt+Left (app.rs).gui: drop the gallery carousel arrows and dots (app/home.rs).Testing
cargo fmt --all -- --check/cargo clippy --workspace --all-targets -- -D warnings/cargo test --workspace— green on this branch.