Description
Please take part in our interface redesign polls
- Cyberduck redesign for Windows - Layout #14507
- Cyberduck redesign for Windows - Upload files #14511
- Cyberduck redesign for Windows - Download files #14512
- Cyberduck redesign for Windows - Priority UI elements #14513
- Cyberduck redesign for Windows - Tab interface #14514
Cyberduck interface is currently implemented with Windows Forms UI stack on .NET Framework 4.x. This imposes limitations regarding past and future improvements in Windows operating systems since 8.0.
Features not available, due to external or internal influence:
- High DPI scaling
- ObjectListView, which hasn't been updated in ages for recent high dpi scenarios (missing development resources to improve the situation here)
- Custom Control-Renderers, menus, labels, etc. - mixed signals from Microsoft how to really provide High DPI support for Windows Forms.
There is a plethora of combinations of High DPI scenarios which need to be tested. - What High DPI Scenarios should be supported? 100%, 125%, 150%, 200%, 250%, 500%. Custom
359%
?
- Dark Mode
- Limitation of Windows Forms. There is no way of supporting this easily or reasonable1
- Classic Win32 desktop apps don't support this either (which WinForms is based on)
These features should be supported with a user interface rewrite on Windows, based on feedback, feature alignment with macOS and Windows Explorer experience:
- High DPI scaling, (native)
- Dark Mode, (native)
- Quick Look-feature
- Tabbed-interface
- Discuss: Dragging between windows/out of tab-groups supported?
- Quick-navigation left sidebar, detail (list) view in content
- Multiple windows support
- Replace Sparkle Updater with MSIX Auto Update feature
Possible candidates: WPF, UWP, WinUI/Windows App SDK
WPF
Native High DPI, implementation of quick look, tabs, etc. easily accomplished. Dark Mode is out of reach entirely, as there is no reason to rewrite all control styles just to get a dark mode, which has to support accent colors as well.2
UWP: Deprecated.
WinUI
Specifically WinUI3 with Windows App SDK: High DPI Scaling, Dark Mode, (possibly) Quick Look, tabs, quick navigation
Not supported until Windows App SDK 1.1: Local toast notifications, multiple Windows
WPF XAML Islands with UWP/WinUI sounds just as bad as it is.
In order to implement these features, following things need to be completed before this can be implemented:
- Upgrade to .NET 6 (LTS)
- Base Dependency Requirement: IKVM runs on .NET Framework 4.x only. Requires patching for .NET 6 support
- For our current supported platforms XCopy-deployment would be appreciated3
- still provide EXE/MSI installers? Migrate to MSIX entirely resolves the issue here
Issues, with workarounds:
- IKVM is not working on .NET 6: Revamped user interface for Windows #13036 (comment)
This would allow us to buy more time, and make the backend/glue more resilient
As this is Windows-specific, I don't see an issue with mixing Framework and Core here.- log4j: With the glue code and interop-layer between frontend/backend, we can eliminate this issue
Blocking issues:
MSIX Auto Update is currently out of service// Internal prototypes support auto-update (through various means)
The ms-appinstaller scheme(protocol) has been disabled. This means App Installer will not be able to install an app directly from a web server and it will need to be downloaded first.
IKVM is not working on .NET 6There are issues with IKVMc on .NET 6 with log4j4, rendering it unusableWindows App SDK 1.1 isn't released yetReleased.
With a new user interface following will apply:
- No support for any Windows Client operating system older than build 17763 (version 1809/October 2018 Update)
- Dropping Windows 7 (EOL 2020), 8 (EOL 2016), 8.1 (mainstream EOL 2018) entirely
- No support for any Windows Server operating system older than Windows Server 2019
- Dropping support for Windows Server 2008R2 (EOL 2020), 2012 (mainstream EOL 2018), 2012R2 (mainstream EOL 2018), 2016 (mainstream EOL 2022)
- No bundled support for Bonjour (install separately?)