ModernFlyouts
ModernFlyouts copied to clipboard
Broken "Brightness" Flyout in 0.10.0.0 version : showing incorrect data
ModernFlyouts Version
0.10.0.0
Windows version
Windows 10 22H2
OS build
No response
Platform
x64
Area(s) with issue?
General
Steps to reproduce
in version 0.9.3 there is a problem with Keyboard Input Flyout appearing on Audio change
according to comments in "issues" chapter, this is fixed in ver 0.10.0.0
I can confirm thats true, but instead in ver 0.10.0.0 there exists another bug
Steps to reproduce :
- Enable "Brightness" flyout
- change brightness using default laptop keys
- now, compared to the ver
0.9.3the Flyout shows maximum level of brightess as 66%, and showing the label of brightness "Generic PnP Monitor". In ver0.9.3the Brightness Flyout was clean, had no lables and the scale was from 1% to 100%, just like Audio Flyout.
please fix that
✔️ Expected Behavior
Brightness Flyout reflects changes in accurate way, similar to Audio changes, from 1% to 100% presented on the Flyout, just like in ver 0.9.3
❌ Actual Behavior
in ver 0.10.0.0 The Flyout is limited to 66% and not showing any changes above, also displaying the name of the Display (Generic PnP Monitor), compared to the stable 0.9.3 that was a clean flyout without any labels and having full scale from 1% to 100%
Other Software
No response
Additional Context
No response
So do both flyouts actually change the brightness? Can the v10 one at least change the brightness until 66% or does it not work?
And also, can you check what the max is on the settings page. In the settings app, there's a section for Brightness, so please the max at which you can change it there.
thanks for your reply
let me add more context into my report
in ver 0.10.00 I m able to enable the Brightness Flyout. when enabled, the Brighness section into the app looks like that :
I can change brightness using default buttons, and also by moving the slider of the flyout.
But the main issue is that by using slider Im limited to 66%, and I still can go beyond 66% using Laptop Brightness Keys, but the Flyout just keep showing 66% as a maximum level. It also now has some counter badge at this flyout, as if it counts the number of attached displays. The problem is that I dont have any displays attached.
those things I mentions were different in 0.9.3 and worked much better and without additional visual bothering information. Ver 0.9.3 was much cleaner in visual aspect and better in technical aspect of Brighness Flyout
UPD :
66% in Flyout is not just graphical representation of 100%, like if 66 = 100 If I set my global Brightness at 100, and then move the slider of the Flyout from 66 to 60, the global Brightness reverts to 60
I'll try working on this when I can.
thank you ! maybe just return to settings of Brightness from 0.9.3 ? just to not waste time
Maybe?
I had a look at the commit that had added the new apis and stuff and it has a lot of changes.
1,047 additions and 489 deletions
@user1888425 Can you send me a screenshot of the brightness flyout while it shows on screen as that will be a huge help?
@manstheram I can make my screen 70, 80, 100 using Laptop Keys but the Flyout show only 66, but if I put it to 65 by using the Flyout slider, it quickly falls from 100 to 65
also please see the "badge" counter with 1 it bothers, because it makes a flyout not clean and beautiful anymore
You said "Generic PnP Monitor" was showing on your screen but I cannot see it?
Were you referring to just the settings window?
here is Generic it is not the main issue, the real main issue is 66 instead of 100
by referring to "Generic..." I indicate to what is changed from 0.9.3, which includes also 66, and also includes showing the name of a display
Ah, ok.
@user1888425 Could you tell me the output of this program that I just wrote: https://github.com/manstheram/GetBrightnessInfo/releases/tag/v1.0
I used the win32 api similar to how ModernFlyouts does it but in C++, so I want to verify that it isn't Windows that is causing the issue. ModernFlyouts asks Windows what the max brightness for each screen is so that may be causing the issue.
@user1888425 Could you tell me the output of this program that I just wrote:
https://github.com/manstheram/GetBrightnessInfo/releases/tag/v1.0I used the win32 api similar to how ModernFlyouts does it but in C++, so I want to verify that it isn't Windows that is causing the issue. ModernFlyouts asks Windows what the max brightness for each screen is so that may be causing the issue.
I have the same issue and I have run the program you wrote.
It said: ": The error code is 3223725449"
Also, in my case, the min brightness is 5 instead of 0.
@user1888425 Could you tell me the output of this program...
hello @manstheram exuse me for the late responce, I may confirm in my case I also get the error Code instead of any brightness information
: The error code is 3223725442
No difference if I run the app "with admin priveledges" or as usual
Well this means that Win32 api's don't work with all monitors/screens. I need to figure out a way to make sure it's compatible for other monitors as well.
Well this means that Win32 api's don't work with all monitors/screens. I need to figure out a way to make sure it's compatible for other monitors as well.
greetings, @manstheram, thanks for your reply ! let me only remind that "brightness slider" worked just perfect in 0.9.3 version, and probably it was still using that Win32 api ? if yes, maybe Win32 api is not what now makes "brightness" section work incorrectly in ver 0.10 ?
the reason I switched to beta 0.10 version was the issue with language flyout bug in ver 0.9.3, which is fixed in ver 0.10, there was nothing wrong with brightness control
@user1888425 The old way was quite different and used .NET capabilities. The new way is using Microsoft's api's from inside dll's. However, the old way doesn't work for me but the new way does. For you guys, it's the other way around.
I might just make a switch in the settings that allows you to swap to some "compatibility mode" or something along those lines.
Also, I believe the new api's aren't working since you're using a laptop. I use a PC so perhaps that is the difference that is causing the issues. How about you, @lehuymanhtan? Are you using a laptop too?
Also, I believe the new api's aren't working since you're using a laptop. I use a PC so perhaps that is the difference that is causing the issues. How about you, @lehuymanhtan? Are you using a laptop too?
that right, i'm using laptop.
@user1888425 Can you send me a screenshot of the brightness flyout while it shows on screen as that will be a huge help?
@user1888425 The old way was quite different and used .NET capabilities. The new way is using Microsoft's api's from inside dll's. However, the old way doesn't work for me but the new way does. For you guys, it's the other way around.
hi there, thanks for clarifying how the old and new approach are different in its nature. I believe your suggestion about some kind of "compatibility mode" switcher might be a very elegant and clean solution
@user1888425 I think I am partially wrong on what is going on. I think that both approachs are being used at the moment. And it already switches between the two.
You shouldn't even be able to access the 2nd approach at all since it's an internal screen inside your laptop. Using a dll won't work.
I think what's going on is that the laptop way of detecting min/max is not working. The reason why v9.3.0 works is being it doesn't bother detecting min and max. It just tells Windows to set it.
The issue is with WMI not reporting the correct number of brightness levels. Effectively, for your laptop, it should be an array with entries starting from 0, 1, 2, 3, and so on in bytes till 100 (101 levels). But this isn't the case. For you it's probably going from 0 to 66 (67 levels in total).
What I'll make my compatibility mode do is just force it to be 101 levels. This could cause bugs and errors for certain people which is why the mode will be off by default.
(The reason why the set command works is since it just asks for a percent which is why I think it should work even if I mess with the brightness levels. I get this is confusing but it's what I understand so far from reading the code.)
However, I cannot verify that the code works myself since I've got an external monitor. 😅
I have added this to my pull-request but hopefully it works. @Samuel12321