Hi everyone,
I use SeaDrive every day on Windows with my own Seafile server. The engine works great. I wanted the interface to feel more current, so I rebuilt the main screens in a flat, minimal style, close to what OneDrive users know.
Fork, branch redesign-ui, with before/after screenshots in the README:
What it changes (GUI only, the daemon is untouched):
- Tray panel: sync status, recent files marked Sent / Received, Open folder, Transfer status, Open online, Settings.
- Pause sync for 30 min, 2 h, 8 h or until resumed. It uses the existing
enable/disable_auto_syncRPC and re-applies the pause when the daemon restarts. - Account selector in the panel when you have more than one account.
- Transfer status window: transfers and errors in one place, with filters, search and readable messages.
- Settings window: sidebar, toggle switches, light/dark/system theme, and a Cache page (space used, size limit, automatic cleanup).
- Shared design tokens for colors and sizes, so every screen matches in light and dark mode.
- Translatable: new strings are in English inside
tr(). I reused existing upstream strings where the meaning was the same, so the current Transifex translations still apply.
Before / after:
Left out on purpose: a “Sync now” button. The daemon has no RPC to force a check, so I didn’t add a button that does nothing.
Tested: Windows 11, Qt 6.10, daemon 3.0.26. Not tested on macOS or Linux.
My question to the maintainers: would any of this be useful upstream? If yes, I can:
- send small, separate PRs, one area at a time (for example the stylesheet and menus first, then one window at a time), adapted to your code style, with no
.tschanges; - or you can simply take the ideas you like and do them your way.
If it doesn’t fit your plans, no problem: I’ll keep it as a fork for whoever wants it. Feedback from other users is welcome too.
Thanks for Seafile and SeaDrive.
Francesco (FranzGra)





