iterate-ch / cyberduck

Cyberduck is a libre FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure & OneDrive and OpenStack Swift file transfer client for Mac and Windows.
https://cyberduck.io/
GNU General Public License v3.0
3.11k stars 282 forks source link

Revamped user interface for Windows #13036

Open AliveDevil opened 2 years ago

AliveDevil commented 2 years ago

Please take part in our interface redesign polls

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:

These features should be supported with a user interface rewrite on Windows, based on feedback, feature alignment with macOS and Windows Explorer experience:

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:

Issues, with workarounds:

Blocking issues:

With a new user interface following will apply:

AliveDevil commented 1 year ago

Food for thoughts:

There is the WinRT-interop layer, that is supported by both, .NET Core (through CsWinRT) and .NET Framework (native), we could provide a WinRT-interop library that glues a .NET Core (WinUI) frontend to a .NET Framework backend.

Thus eliminating the blocking dependency on .NET Core support for IKVM.

// Reason for glue-code: If I assume, that .NET Core works, how I think it works, it may work without this WinRT-layer, when hosting .NET Framework inside .NET Core. As I didn't check, what would happen if we're mixing Framework and Core in the same process.

dkocher commented 1 year ago

We have a poll regarding a new layout in #14507.

jaimedelano commented 1 year ago

Add image/video thumbnails, large icons, grid layout, etc

AliveDevil commented 1 year ago

Thumbnails won't be possible, unless you want to preemptively download every single file from any remote, generate the thumbnail, and trash the downloaded file.

dkocher commented 1 year ago

Thumbnails won't be possible, unless you want to preemptively download every single file from any remote, generate the thumbnail, and trash the downloaded file.

Relates to #13401.

dkocher commented 10 months ago

🎉 The new UX prototype from @janwaelti98 can be found in janwaelti98/UXForCyberduck

thefunkyjoint commented 4 months ago

I've been a Cyberduck user for years, but after moving to a Windows machine and having to deal with the absent of dark mode, today it's time to say goodbye to another app that has dark mode. Thank you .

PeterTucker commented 1 month ago

@thefunkyjoint Which SFTP client did you find that supports dark mode?