alexmercerind / flutter_acrylic

Flutter library for window acrylic, mica & transparency effects.
MIT License
605 stars 54 forks source link

Windows 11 title bar customization #34

Closed Auties00 closed 2 years ago

Auties00 commented 2 years ago

As explained in Microsoft's Docs, in Windows 11 the title bar can be customized to fit the design language of the application. For example, the settings app now does this. It would be nice to have this feature in this plugin so that having a custom window isn't necessary. I can implement it myself if anyone is willing to explain to me how I can edit the windows module with lining(for some reason it doesn't work)

alexmercerind commented 2 years ago

You're linking the documentation related to title-bar, but mentioning "taskbar" in the issue title & comment. What is your expectation from us?

It would be nice to have this feature in this plugin so that having a custom window isn't necessary.

Having the custom window IS NECESSARY.

A "default Win32 window" has bland white (even in dark-mode) title-bar, overwhich the developer cannot draw anything.

Again there are now exceptions to it after Windows 11 SDK:


The point is, the windows that you think don't have a "custom title-bar" like "the settings app", Google Chrome, Microsoft Edge, all UWP apps have a custom title-bar (with custom buttons & implementation) made to look-like native one.

With that being said, there is no future scope of work in this project other than bug-fixes. For drawing a custom window frame and title bar, recommended approaches are to use (though, not endorsed by us):

Auties00 commented 2 years ago

You're linking the documentation related to title-bar, but mentioning "taskbar" in the issue title & comment. What is your expectation from us?

Sorry for the typo, I wrote the issue very quickly and I confused the task bar and the title bar. Fixed now.

The point is, the windows that you think don't have a "custom title-bar" like "the settings app", Google Chrome, Microsoft Edge, all UWP apps have a custom title-bar (with custom buttons & implementation) made to look-like native one.

I was arguing that it's no longer necessary to do that on Windows 11 which is very convenient as the simulated buttons don't feel native or responsive. The settings app definitely uses the technique explained in the docs I linked and not a custom title bar

alexmercerind commented 2 years ago

Sorry but all UWP apps (including settings app, file explorer & other UWP apps) in-fact have custom rendered buttons (not "native").

There's no way around it. Native buttons means using a plain white title-bar. The behaviour is made to closely match the look & feel. You can draw these buttons using Flutter's canvas, use SVG or official images from WinUI figma from Microsoft.