You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Mobile design proposal: an app bar for Tabs and ⋮, and an input bar in flow #435
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.
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.
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.
Activity
powerfooI commentedon Oct 17, 2026
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.