Skip to content

Fix full-screen sidebar corners - #111

Merged
Blaizzy merged 31 commits into
mainfrom
pc/fix-fullscreen-sidebar-corners
Jul 26, 2026
Merged

Fix full-screen sidebar corners#111
Blaizzy merged 31 commits into
mainfrom
pc/fix-fullscreen-sidebar-corners

Conversation

@Blaizzy

@Blaizzy Blaizzy commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • make the control-panel sidebar flush with the window edges in full screen
  • remove the main sidebar glass, backdrop, and layer corner radii while full screen is active
  • cover the separate macOS full-screen toolbar glass surface so the top corner is square too
  • restore the normal rounded appearance after returning to a window

Root cause

On macOS 26, AppKit renders the sidebar and the full-screen titlebar glass in separate view and window hierarchies. Adjusting the main sidebar surface fixed the bottom corners, but the independently managed titlebar glass retained its rounded top corners. AppKit also recreates some of these glass layers during the full-screen transition.

User impact

The sidebar now reaches every full-screen edge with straight corners, while windowed mode keeps its native rounded corners.

Screenshot

Nativ full-screen sidebar with straight corners

Validation

  • visually verified windowed, full-screen, and full-screen exit/re-entry states
  • xcodebuild -project Nativ.xcodeproj -scheme Nativ -configuration Debug -destination 'platform=macOS' CODE_SIGNING_ALLOWED=NO test -quiet
  • 92 tests passed, 0 failed

@lucasnewman

Copy link
Copy Markdown
Collaborator

fwiw, I don't think this is the right approach -- removing the toolbar breaks a lot of useful behavior we get from SwiftUI and will result in a much jankier feel. what problem are you trying to solve?

@Blaizzy
Blaizzy force-pushed the pc/fix-fullscreen-sidebar-corners branch from ba745d1 to c4ded24 Compare July 26, 2026 02:37
@Blaizzy

Blaizzy commented Jul 26, 2026

Copy link
Copy Markdown
Owner Author

The issue was the tool bar insets where wrong and nothing fixed it

Then I started noticing most Mac apps don't use it

Implement it and did come across some janky feel before fully implementing the new menu system. But now it's working quite smoothly and consistently than ever before.

Please try it and let me know

image

Comment thread Sources/Nativ/Main.swift
}

private func applyAppearance(_ appearance: AppAppearance) {
NSApplication.shared.appearance = appearance.appKitAppearance

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This can be handled as a follow up but it should be possible to use @Environment(\.colorScheme) private var colorScheme and just directly grab the system color scheme when there's no user override, not need to bounce through AppKit.

@Blaizzy
Blaizzy force-pushed the pc/fix-fullscreen-sidebar-corners branch from ae6bb1f to 3e223f2 Compare July 26, 2026 21:24
@Blaizzy
Blaizzy marked this pull request as ready for review July 26, 2026 21:44
@Blaizzy
Blaizzy merged commit 64a137c into main Jul 26, 2026
2 checks passed
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