M2Team / NanaZip

The 7-Zip derivative intended for the modern Windows experience
https://sourceforge.net/projects/nanazip/
Other
8.18k stars 213 forks source link

Modern UI & Dark Mode #280

Open AndromedaMelody opened 1 year ago

AndromedaMelody commented 1 year ago

Note: This is a issue to publish information about UI. Please discuss UI in the opened issues which are listed in the next comment. But you can subscribe this issue.

Form v1.2, we modernized the i18n implementation using MRT via migrating language files to ResW. After that, we released Mile.Xaml - a lightweight XAML Islands toolchain to build desktop XAML-based applications, and then provided Fluent Design V2 (Windows 11 controls styles) in it. These have paved the way for us to archive the goal of UI modernization.

Since v2.0, we will have been modernizing NanaZip. In v2.0, Help/About Page used Mile.Xaml to rebuild and in-app context menu have supported dark mode. They will follow system settings to change theme automatically. Start not finish, we continue focusing on it.

In the past years, we receive a lot of feedback about UI, most of them are about new style, dark mode, toolbar icon, checksum menu and i18n. Thanks for everyone's support.

  1. We will continue using Mile.Xaml to rebuild UI like AboutPage due to being not satisfied with WinUI 3(Windows App SDK). Reason: #5

  2. The part of XAML in NanaZip supports dark theme certainly, but using WinRT XAML to rebuild UI is a epic project, not easy, so Win32 Common Controls must be coexistent during a period of time. However, we know this feat is in urgent need for many supporters, so we will try to make 'Win32 Common Controls' dark like win32-darkmode first. This is the charm of balance.

  3. We will use Segoe Fluent Icons (Segoe MDL2 Assets) or Segoe UI Emoji in Toolbar.

  4. About i18n, ResW files are generated from legacy localization texts by a automatic tool. So if we change localization texts now, it is possible to break the current tool-chain. Also it means we need do more meaningless things when modernizing NanaZip with XAML, because we need regroup localization texts and using x:Uid or x:Bind binding the translated text.

  5. As the number of checksum algorithm increases, We will rebuild Explorer Context Menu, and provide a new UI to be more convenient and customizable.

AndromedaMelody

AndromedaMelody commented 1 year ago

Modern Style

Dark Mode

In-app Icon

Checksum UI

Language & Description

Legacy UI Bug

UI Enhancement

MouriNaruto commented 1 year ago

Here are some frequently asked questions:

Here is the answer for that.

Maybe everyone needs to know I am not a full-time or paid developer for NanaZip. I have my work to do. I need to work for Tencent-related company during the day. I develop individual open-source projects at night.

I also need to port the project (I am a leader of a live-streaming project for Windows) which I maintained for the company to Linux in recent days. So, I am really busy. I sleep in midnight every day because I need to do both company project and individual projects. I hope I can have more sponsors and contributors for encouraging me not to give up. (I am afraid I would give up without the @AndromedaMelody's huge contributions for Mile.Xaml and NanaZip.)

Here is the way to sponsor me: https://github.com/MouriNaruto/MouriNaruto/blob/main/Sponsor

I hope I can release at least one preview version of NanaZip 3.x in 2023. So, I am trying my best to implement the related infrastructures like https://github.com/ProjectMile/Mile.Xaml.

Kenji Mouri