microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
110.72k stars 6.52k forks source link

ColorPicker vs Active/Focused program #19053

Open nurbles opened 2 years ago

nurbles commented 2 years ago

Microsoft PowerToys version

0.59.1

Running as admin

Area(s) with issue?

ColorPicker

Steps to reproduce

Try to use the color picker to get the color of the active application's title bar.

✔️ Expected Behavior

I was expecting to get the title bar color I was looking at before activating ColorPicker

❌ Actual Behavior

I was only able to get the color of an inactive title bar.

Other Software

Edition: Windows 10 Pro Version: 21H2 OS Build: 19044.1766 Experience: Windows Feature Experience Pack 120.2212.4180.0

Jay-o-Way commented 2 years ago

Yep, the UI takes focus. Should not be possible.

crutkas commented 2 years ago

I just tried this and had teams for example in focus and then triggered Color Picker. I was able to get the appropriate color for the search bar. We need a bit more info here as i can't repro this and can get actual in app focus color.

/needinfo

Jay-o-Way commented 2 years ago

@crutkas might depend on 2 things:

nurbles commented 2 years ago

Unfortunately, I cannot afford to purchase the new hardware required for Windows 11, so I cannot speak to that. However... I suspect it is the type of application since there are now many different methods of indicating the active/inactive program with Windows supporting at least two and many programs rolling their own. Regardless, you can see what I mean in this Screen-to-GIF capture of me activating color picker over the program whose active title color I was trying to pick:

Color Picker Steals Focus Example

First, I clicked on my clock program to activate it, then I pressed the ColorPicker hot key (Ctrl+Shift+C) and, as you can see, when the color picker activated, my program lost focus and Windows adjusted the title bar color accordingly. If you want to test with my silly little clock program, you're welcome to grab a copy of Steve's Wacky Clock. You may note that my clock program is a "classic" Windows program that doesn't use any theme or modern app UI stuff. It is also a completely native C program, using no MFC, .NET or any other 3rd party components -- just me and Windows.

This isn't a big deal, but it does make it impossible to capture any colors that change when a program loses focus so I thought I'd mention it.

nurbles commented 2 years ago

FWIW, I just discovered that I can do the following to work-around the fact that ColorPicker "steals" the focus when activated:

After doing that, ColorPicker showed the activate title bar color. So it is possible, but a bit cumbersome. Thanks for at least thinking about this! Have a great day!

jaimecbernardo commented 2 years ago

Couldn't replicate this, as well. I'm on Windows 10 too.

crutkas commented 2 years ago

@Jay-o-Way we need clearer steps. Both Jaime and myself couldn’t repro this

happy to pop on a call for a demo

Jay-o-Way commented 2 years ago

For me it's simple:

But the weird thing is, this is not consistent. Sometimes it works as extected, sometimes it doesn't.

Video: https://youtu.be/G1ynPDuuHbk

jaimecbernardo commented 2 years ago

I've been able to reproduce this now, but it's inconsistent as you say...