Skip to content

frontend/qt: add custom title bar with window controls#3821

Open
jstrnbrg wants to merge 3 commits intoBitBoxSwiss:masterfrom
jstrnbrg:os_top_bar
Open

frontend/qt: add custom title bar with window controls#3821
jstrnbrg wants to merge 3 commits intoBitBoxSwiss:masterfrom
jstrnbrg:os_top_bar

Conversation

@jstrnbrg
Copy link
Contributor

@jstrnbrg jstrnbrg commented Jan 27, 2026

Replace native window frame with custom frameless title bar that provides consistent styling across platforms.

Qt backend changes:

  • Enable frameless window mode (Qt::FramelessWindowHint)
  • Add window control handlers (minimize, maximize, close, drag)
  • Use startSystemMove() for native window dragging

Frontend changes:

  • Add TitleBar component with minimize/maximize/close buttons
  • Platform-specific styling: macOS traffic lights on left, Windows/Linux controls on right
  • Title bar sections match app layout (dark sidebar, themed content, blue guide)
  • Dim title bar sections when guide panel is open
  • Adjust sidebar, guide, and content padding to accommodate 32px title bar
  • Responsive behavior: hide sidebar section when sidebar is not fixed

Remove -webkit-app-region: drag from body as dragging is now handled by the title bar component.

Replace native window frame with custom frameless title bar that provides  consistent styling across platforms.

Qt backend changes:
- Enable frameless window mode (Qt::FramelessWindowHint)
- Add window control handlers (minimize, maximize, close, drag)
- Use startSystemMove() for native window dragging

 Frontend changes:
- Add TitleBar component with minimize/maximize/close buttons
- Platform-specific styling: macOS traffic lights on left,  Windows/Linux controls on right
- Title bar sections match app layout (dark sidebar, themed content,  blue guide)
- Dim title bar sections when guide panel is open
- Adjust sidebar, guide, and content padding to accommodate 32px title  bar
- Responsive behavior: hide sidebar section when sidebar is not fixed

Remove -webkit-app-region: drag from body as dragging is now handled by the title bar component.
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.

1 participant