Skip to content

Stream: Hide Top Bar in landscape, shake to show it again (#92) - #197

Open
addhumal wants to merge 3 commits into
Saffsanity:mainfrom
addhumal:hide-top-bar
Open

addhumal wants to merge 3 commits into
Saffsanity:mainfrom
addhumal:hide-top-bar

Conversation

@addhumal

Copy link
Copy Markdown
Contributor

Closes #92.

What it does

  • Implements Noah's Oct 19 decision for Feature Request: Hide and show the top window bar #92:
    • Adds a Hide Top Bar switch (Sill.hideTopBar, off by default) in Settings › This iPad / This iPhone (HostSettingsPanel).
    • While enabled in landscape (TopBarVisibility.barHidden) and nothing is open over the stream, hides TopBar so the stream pane fills the full height (and sends the taller viewport to the Mac). Holds the bar visible while Settings is open (hideTopBarHeld) so the panel never moves under the finger.
    • Shaking the device (UIWindow.motionEnded(.motionShake) → TopBarVisibility.afterShake) turns Hide Top Bar off, brings the top bar back, and announces "Top bar shown" for VoiceOver.
    • Also shows a subtle top-right pill button (Show Top Bar, shortcut ⇧⌘B) while the bar is hidden so docked iPad and accessibility users can restore the bar without shaking.
  • Adds TopBarVisibility (iOSClient/PhonePortraitLayout.swift, pure CoreGraphics + Foundation) with 4 checks and 5 mutants (B1–B5) in Tests/checks/phone-portrait.

Why

Checks

  • Tests/checks/phone-portrait/run.sh: 488 checks passed (78 of 78 mutants caught).
  • Tests/checks/tour/run.sh: 111,189 checks passed.
  • .build/local27.sh: iOS simulator build clean.

@lepeos

lepeos commented Nov 5, 2026

Copy link
Copy Markdown

Nice one, this matches #92's decision exactly. I've built the Desktop edge to edge on top of it in #312. One thing I noticed while doing that: when an overlay brings the bar back, the bar takes room in the VStack, so the panel shrinks and a new viewport goes to the Mac. For a window that's a refit each time the drawer or Settings opens. Overlaying the bar in a ZStack over the picture would keep the panel's size steady. Not a blocker, just a thought.

@anurag1212

Copy link
Copy Markdown

merge it brother! :D

This branch has not been deployed

No deployments
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.

Feature Request: Hide and show the top window bar

3 participants