Keypirinha / Keypirinha

A fast keystroke launcher for Windows
http://keypirinha.com
1.05k stars 21 forks source link

UI doesn't scale correctly on multi-monitor/DPI setup #268

Open enzy opened 6 years ago

enzy commented 6 years ago

My usecase: 3 monitors, 2x FullHD 100% scale, 1x 4K 150% scale.

UI is properly scaled on the 4K monitor. Little bit wider but that's okay:

image

When activated on one of the 100% monitor, UI is still scaled up and 1.5 times bigger, that it should be:

image

App version: v2.18.2 OS version: Windows 10 x64 Pro, 1709 (17046.1000) No compatibility settings

polyvertex commented 6 years ago

The scaling of the satellite icon is a known issue but regarding the rest of the GUI, I would need a bit more info since I do not have the means to make proper tests on a multi-monitor setup with mixed DPI settings. Such as:

enzy commented 6 years ago

Invoked at 150%, proper scale, wide input: image image

When dragged from 150% to 100% - scaled at 150%, same width: image

When invoked on 100% - scaled at 150%, narrow width: image

When dragged from 100% to 150% - scaled properly at 150%, more narrow than when invoked there: image

Store windows as a reference of proper scaling

tvollstaedt commented 5 years ago

Issue is open for about two years now. Please don't treat it as low priority, as it's really annoying on a daily base with a mobile setup. Issue is, Keypiranha correctly scales itself to the DPI of the current monitor and saves this scaling during startup. For example, on a multi monitor setup with a 100% scaling monitor A and a 250% scaling monitor B (primary), Keypiranha scales it's UI correctly to 250% when launching on monitor B.

Now when I remove monitor B from the setup and the 100% scaling monitor is the only one left, The Keypiranha UI still renders with 250% and does not adapt on the scale of the current monitor. This is more crucial if you set geometry to something dynamic. Almost any other app does that properly. Please fix that or open source so others can fix it ;-)

enzy commented 4 years ago

I now switch monitors on daily basis and Keypirinha scaling doesn't keep up. The most visible and unusable state is when two "extremes" occur:

My current solution in these cases is restarting the app.

tvollstaedt commented 4 years ago

@polyvertex Can you give an ETA when / or whether you plan to fix this issue? It really makes Keypirinha feel like an app from the pre-modern world.

LoZeno commented 4 years ago

+1 for having an ETA on fixing the issue, I have a laptop with a 4k monitor and 150% scaling, when I connect to my external FullHD monitor with 100% scaling I see exactly the same issue as described by @enzy above

LoZeno commented 4 years ago

I have found a workaround (@enzy and @tvollstaedt it would be great if you could verify if it works for you):

right-clicking on the keypirinha.exe executable and selecting "properties", then the tab "compatibility", then "Change high DPI settings"; in the new popup, click the checkbox "Override high DPI scaling behaviour" and select "System (Enhanced)" in the combo box under it.

image

With these settings, Keypirinha is scaling correctly, for me, on all my monitors.

tvollstaedt commented 4 years ago

I have found a workaround (@enzy and @tvollstaedt it would be great if you could verify if it works for you):

Wow, I didn't even know this setting exists. Works for me as well. Thank you very much! 👏

LoZeno commented 4 years ago

Wow, I didn't even know this setting exists. Works for me as well. Thank you very much! 👏

One thing to be aware of, @tvollstaedt : it looks like, after you change the High DPI scaling behaviour of keypirinha, it will apply it to every application that you open using keypirinha too. this is normally not a problem, but it can have some... jarring effects on some GUI applications. For example, I noticed that the navigation pane of my Outlook 2019 uses a much bigger font when I launch it with keypirinha rather than when I launch it from the desktop or Start Menu.

tvollstaedt commented 4 years ago

One thing to be aware of, @tvollstaedt : it looks like, after you change the High DPI scaling behaviour of keypirinha, it will apply it to every application that you open using keypirinha too. this is normally not a problem, but it can have some... jarring effects on some GUI applications. For example, I noticed that the navigation pane of my Outlook 2019 uses a much bigger font when I launch it with keypirinha rather than when I launch it from the desktop or Start Menu.

Thanks for the disclaimer, but I don't see any negative impacts so far. Outlook seems to behave as usual, as soon as I move it between monitors it "apts" to the correct DPI. The only very tiny issue is that the icon beneath the launcher box of keypirinha not scales correctly, but that doesn't really bother me.