Skip to content

Mobile design proposal: an app bar for Tabs and ⋮, and an input bar in flow #435

Closed

Description

@IvoryHeart

This is a design discussion before any code. v0.8.4 reworked the floating mobile controls, so we'd like your view first.

On a phone, the floating islands (navigation, collapse toggle, Type, shortcuts) overlap terminal output, and the most frequent action, switching tabs, takes extra taps. In a Roamgate-derived app we tried a layout that follows Android and iOS conventions, and tested it on a physical phone:

  • Top app bar: the terminal's name and status on the left (tap it for the workspace list), then Tabs with a count, then ⋮. The former floating controls become labelled rows in the ⋮ menu.
  • Input bar in flow below the output: a full-width Message… field that opens Composer, with a Direct button beside it. It sits in the layout instead of floating, so it never covers terminal text. During a long-press selection it keeps its height, so xterm doesn't resize and drop the selection.
  • No swipe gestures: every action has a visible control, and the phone's Back closes layers (see Close mobile layers with the phone's Back #433).

Trade-off: the app bar costs one row of height, but it frees the space the floating islands covered over the output. The shortcut grid stays as it is.

Would you take this upstream, in whole or in part, for example just the app-bar Tabs? We can share screenshots and split it into small PRs that follow your component structure.

🤖 Generated with Claude Code

Activity

  1. powerfooI commented on Oct 17, 2026

    @powerfooI
    Owner

    Thanks for sharing this proposal and testing it on a physical phone. I like the direction, especially making tab switching easier and keeping the input bar from covering terminal output.

    I'll build on your implementation and take it forward in Roamgate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions