Skip to content

fix(macos): unify custom window frame with Win/Linux (bitsdojo) #473

Description

@ZhuchkaTriplesix

Problem

On macOS Querya shows dual chrome: native system titlebar + traffic lights, then a second Flutter QueryaWindowTitleBar. Windows/Linux use bitsdojo custom frame (BDW_CUSTOM_FRAME | BDW_HIDE_ON_STARTUP); macOS MainFlutterWindow still subclasses plain NSWindow.

Fix (in progress / PR)

  • macos/Runner/MainFlutterWindow.swift: subclass BitsdojoWindow, enable custom frame + hide-on-startup (matches bitsdojo README)
  • QueryaWindowTitleBar: leading inset 72px on macOS so menus/logo clear traffic lights; Win/Linux stay 16px

Follow-ups (optional)

  • Hide in-bar File/Edit/Connection/Help on macOS (rely on system menu from MainMenu.xib) or wire system Preferences… (⌘,) to showPreferencesDialog
  • Theme-sync native traffic-light appearance if needed on light themes
  • Document macOS window setup in docs/architecture.md

Acceptance

  • Single titlebar row on macOS (no stacked native + Flutter bars)
  • Traffic lights visible; drag region works via MoveWindow
  • Startup: no 800×600 flash before doWhenWindowReady sizing

Metadata

Metadata

Labels

bugSomething isn't workinguiUser interface components and widgets

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions