-
Notifications
You must be signed in to change notification settings - Fork 813
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
System Icon turn gray when app inactive #2547
Conversation
I find another problem when enable 'Use custom system color', and set Color Scheme to 'Solarized Dark', title bar background is not apply 3Dface. |
Thanks for the PR... My concern with this is the increased size of the executable due to the icon. I want to keep WinMerge as small and fast to start as possible. (I don't think this PR will actually change the behavior much, but I want to avoid this kind of stuff accumulating.) Is it possible to dynamically grayscale the icon instead of adding an icon? |
I've changed to lazy loading icon to improve the program startup speed, and the grayscale icon to calculate generation, removed Merge_gray.ico from resouce. |
When the interface uses a completely black skin and multiple instances are on different monitors or far apart, it is a bit difficult to determine which instance has the focus. At this time, it is faster to observe whether the system icon in the upper left corner is orange color. I need to compare 9 files across at least 3 instances, which is why clear focus visibility in a program is crucial for me. Of course, this is mainly a suitable interface that uses COLOR_3DFACE for the background color of the title bar, mainly the dark color scheme. I myself use the configuration of the light color scheme AccentColor on a daily basis. |
Thank you for the explanation. I have merged this PR. I will also make the following changes:
|
- Delete the icon in the destructor of CTitleBarHelper - Lazy load the gray icon so that it does not need to be created until the application is inactive
|
I hadn't initially linked colorPrevalence with "在标题栏和窗口边框上显示强调色," but after reading some documentation, I realized the connection.
Some users might prefer to retain the original colorPrevalence look in Edge while trying the WinMerge dark theme. Requiring system-wide changes for this feels too restrictive. |
Perhaps making changes to the default system behavior in a new version might lead to user pushback and resistance. |
What you want to achieve is to be able to change the title color without disabling colorPrevalence, correct? |
Yes, the difference lies in the parameters used to draw the title bar's background and foreground colors. I hope both methods can benefit from the user-custom system colors feature. Therefore, adding a checkbox is a win-win solution. |
Another approach is to append
This defines the scheme to prefer using 3DFace color for drawing the title bar. If adding a checkbox to the settings feels too complex, this method offers a simpler solution without GUI settings modification. However, users can only modify the ini file to change the title bar drawing behavior. |
Visual Studio 2022 have this feature, may usable when enable 'Use custom system color'.