Skip to content

feat(gui): back navigation via the mouse's back button and Alt+Left - #563

Open
tagawa0525 wants to merge 3 commits into
AprilNEA:masterfrom
tagawa0525:feat/gui-back-navigation
Open

feat(gui): back navigation via the mouse's back button and Alt+Left#563
tagawa0525 wants to merge 3 commits into
AprilNEA:masterfrom
tagawa0525:feat/gui-back-navigation

Conversation

@tagawa0525

Copy link
Copy Markdown
Contributor

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.
  • Not re-verified in the running app after the rebase onto current master. The concrete check: open a device's detail view, press the mouse's back button (button 4) or Alt+Left — the view pops back to Home; on Home the gallery shows no arrows/dots and the card row scrolls when it overflows.

tagawa0525 and others added 2 commits August 11, 2026 15:49
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
Copilot AI lite review requested due to automatic review settings August 11, 2026 07:06

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-apps

greptile-apps Bot commented Aug 11, 2026

Copy link
Copy Markdown

Greptile Summary

The 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.

  • Adds root-level back-navigation listeners.
  • Keeps carousel arrows as the off-screen navigation path while removing indicator dots.

Confidence Score: 5/5

The PR appears safe to merge because no blocking failure remains established.

No blocking failure remains.

Important Files Changed

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

Comment thread crates/openlogi-gui/src/app/home.rs Outdated
…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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants