Skip to content

feat: custom window decorations with window state persistence#108

Merged
Blankll merged 4 commits into
masterfrom
feat/custom-window-decorations
Jun 20, 2026
Merged

feat: custom window decorations with window state persistence#108
Blankll merged 4 commits into
masterfrom
feat/custom-window-decorations

Conversation

@Blankll

@Blankll Blankll commented Jun 20, 2026

Copy link
Copy Markdown
Member

Summary

Custom window decorations on Windows/Linux with a custom title bar, while retaining macOS native traffic light buttons. Window position and size are persisted across sessions.

Changes

  • Custom window controls: minimize, maximize/restore, and close buttons in the header bar (Windows/Linux only)
  • Window starts hidden (visible: false) — shown after full initialization to prevent layout flash
  • Native decorations removed on non-macOS via set_decorations(false)
  • macOS retains native traffic lights with correct padding
  • Drag regions on header and sidebar for window dragging
  • Window state persisted via tauri-plugin-window-state
  • Platform detectionplatformReady ref to prevent rendering mismatches on initial load

Testing

  • Unit tests for shouldReserveMacTrafficLightInset and useWindowControls
  • Window controls are hidden on macOS, shown on Windows/Linux

@Blankll Blankll force-pushed the feat/custom-window-decorations branch 2 times, most recently from 7ea57f8 to c3c6528 Compare June 20, 2026 08:18
Blankll and others added 4 commits June 20, 2026 17:21
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…w decorations

- Register tauri-plugin-window-state for window position/size persistence

- Set visible: false to prevent flash before full initialization

- Remove native decorations on non-macOS via set_decorations(false)

- Add window permissions for minimize/maximize/close/fullscreen control

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
- useWindowControls: composable for minimize/maximize/close actions and state tracking

- usePlatform: add platformReady ref to guard platform-dependent UI

- Export new composables from index

- Add unit tests for shouldReserveMacTrafficLightInset and useWindowControls

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
- WindowControls.vue: minimize/maximize/close buttons for non-macOS platforms

- AppHeader.vue: conditional traffic light inset on macOS, double-click to maximize, WindowControls integration

- AppSidebar.vue: add data-tauri-drag-region to logo area for window dragging

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
@Blankll Blankll force-pushed the feat/custom-window-decorations branch from c3c6528 to 5bf7cdb Compare June 20, 2026 09:21
@Blankll Blankll merged commit d168ad5 into master Jun 20, 2026
3 checks passed
@Blankll Blankll deleted the feat/custom-window-decorations branch June 20, 2026 09:28
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