7 Commits
Author SHA1 Message Date
zarzet 6ab91b4599 feat(desktop): add fullscreen and borderless window modes 2026-10-23 03:53:18 +07:00
zarzet 7bbdf03e9a feat(desktop): open the mini player on Windows and Linux
The Windows and Linux runners now answer the window channel. They turn
the window into a frameless 360x140 panel that stays above other
windows, open it where it last sat (first at the top right of the work
area), move it when the panel is dragged, and restore the frame, size,
place and maximized state when it closes. On Wayland the compositor
decides the position and stacking, so there it only shrinks.

The mini player drag area now moves a framed window too, and the
shortcut is Ctrl+Shift+M on Windows and Linux, since Ctrl+Alt is AltGr
on many keyboard layouts. macOS keeps Opt+Cmd+M.
2026-10-22 19:27:34 +07:00
zarzet 11a9b9a4ec chore: remove redundant comments across the codebase 2026-10-22 01:41:09 +07:00
zarzet daaafbc72d fix(desktop): register mornye:// from portable and AppImage copies
Only the Windows installer and the deb registered the scheme, so after
extension verification the browser could not return to a portable zip
or AppImage copy and the link had to be pasted. On launch the runners
now point the per-user handler at the running copy when it does not
already start it (HKCU\Software\Classes\mornye on Windows, a GIO
x-scheme-handler default on Linux, using $APPIMAGE for AppImages).
2026-10-21 15:11:12 +07:00
zarzet 490e529203 feat(desktop): wire deep links, single instance, keep-awake, Discord, watcher and crash logs
- mornye:// URLs arrive through app_links and go to the backend callback
  inbox (queueExtensionCallbackUrl); extension auth opens the system
  browser on desktop.
- Single instance: a named mutex plus app_links WM_COPYDATA forwarding on
  Windows (with the installer's AppUserModelID), a unique GApplication
  forwarding its command line on Linux; macOS handles reopen itself.
- The download queue holds a sleep inhibitor from start until it stops.
- Discord Rich Presence runs on desktop through a channel adapter over the
  backend IPC methods, without an account link.
- Library folder changes trigger a debounced incremental source scan.
- Desktop rotating log files, a session marker that turns an unclean exit
  into the existing crash report, and runtime errors recorded for it.
2026-10-20 16:14:40 +07:00
zarzet f10c9d88b0 feat(desktop): set Mornye identity, icons, window size and entitlements
Name the app Mornye with the com.zarz.mornye identifier on all three
runners and generate macOS and Windows icons from the brand badge; the
Linux bundle installs the badge PNG as the window icon. Open at
1280 x 800 with a minimum of 800 x 600. Register the mornye:// scheme on
macOS and run outside the App Sandbox.
2026-10-20 13:33:45 +07:00
zarzet f70bc95595 feat(desktop): add generated macOS, Windows and Linux runners
Output of flutter create --platforms=macos,linux,windows --org com.zarz
with Flutter 3.47.7. Identity, window and entitlement changes follow.
2026-10-20 13:25:29 +07:00