Skip to content

feat: window settings (optional outline, geometry fix, tray switch placement) - #167

Open
zebus3d wants to merge 3 commits into
noFAYZ:mainfrom
zebus3d:feat/window-settings
Open

zebus3d wants to merge 3 commits into
noFAYZ:mainfrom
zebus3d:feat/window-settings

Conversation

@zebus3d

@zebus3d zebus3d commented Oct 9, 2026

Copy link
Copy Markdown

What and why

Three small window-related changes, one commit each, so any of them can be taken on its own:

  1. Setting to hide the window outline. The frameless window draws a hairline edge (a border plus an inset ring) so it stands apart from whatever is behind it. On desktops that already separate windows well, such as KDE Plasma with a dark wallpaper, that line reads as a stray white border around the app. Window outline in Settings > Window turns it off. It defaults to on, so nothing changes for anyone who does not touch it, and it is hidden under OS native decorations, which already drop the outline.
  2. Fix: restore the main window at the size it was saved. The geometry was saved with outerSize() but restored with setSize(), which sets the inner size. With a frameless window the two are the same, but with OS native decorations the window grew by the height of the frame on every launch. It now saves innerSize().
  3. Move "Minimize to tray" to the Window tab. The switch lived on the Library tab ("Cache and local files"), where nobody looking for what the close button does would find it. It now sits right below the window controls, since it decides what the close button does. The settings search entry moves with it.

How it was checked

  • npm run verify passes
  • Ran the app and used the affected screen: EndeavourOS, KDE Plasma 6.7.5. Toggled the outline, relaunched with OS native decorations and window geometry persistence on, and checked the moved switch and its search entry.
  • Screenshot or clip below (UI changes)

Notes for the reviewer

Frontend only, no Rust changes.

The frameless window draws a hairline edge (a border plus an inset ring) so it
stands apart from whatever is behind it. On desktops that already separate
windows well, such as KDE Plasma with a dark wallpaper, that line reads as a
stray white border around the app.

"Window outline" in Settings > Window turns it off. It defaults to on, so
nothing changes for anyone who does not touch it, and it is hidden under OS
native decorations, where the outline is already dropped.
The window geometry was saved with outerSize but restored with setSize, which
sets the inner size. With a frameless window the two are the same, but with OS
native decorations the window grew by the height of the frame on every
launch. It now saves the inner size, so both sides measure the same thing.
The switch lived on the Library tab, under "Cache and local files", where
nobody looking for what the close button does would find it. It now sits on
the Window tab, right below the window controls, since it decides what the
close button does. The settings search entry moves with it.
@vercel

vercel Bot commented Oct 9, 2026

Copy link
Copy Markdown

@zebus3d is attempting to deploy a commit to the Faizan Asad's projects Team on Vercel.

A member of the Team first needs to authorize it.

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.

1 participant