-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Enable high-DPI scaling to support 4k screens #2404
Conversation
65cb4ad
to
c32f417
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good on macOS with retina/hidpi
This enables coordinate system scaling for high-DPI displays, which enforces correct proportions even on small 4k displays. The icons are scaled up without interpolation, which makes them crisp, but a bit pixelated. A new scalable icon set will solve this problem, but is not scope of this patch. Resolves #548, #1381, #1710, #1888 In addition, this patch enforces the KeePassXC icon theme for the KMessageBox close icon, since using the system theme produces very ugly icons on some Linux systems.
c32f417
to
37f6266
Compare
Works for me. Looks fine. Thank you! |
Icons still super-small on windows: 3000×2000 (267 PPI) respectively. |
This was merged into develop, are you using the 2.4.0 snapshot to test? https://snapshot.keepassxc.org |
- New Database Wizard [#1952] - Advanced Search [#1797] - Automatic update checker [#2648] - KeeShare database synchronization [#2109, #1992, #2738, #2742, #2746, #2739] - Improve favicon fetching; transition to Duck-Duck-Go [#2795, #2011, #2439] - Remove KeePassHttp support [#1752] - CLI: output info to stderr for easier scripting [#2558] - CLI: Add --quiet option [#2507] - CLI: Add create command [#2540] - CLI: Add recursive listing of entries [#2345] - CLI: Fix stdin/stdout encoding on Windows [#2425] - SSH Agent: Support OpenSSH for Windows [#1994] - macOS: TouchID Quick Unlock [#1851] - macOS: Multiple improvements; include CLI in DMG [#2165, #2331, #2583] - Linux: Prevent Klipper from storing secrets in clipboard [#1969] - Linux: Use polling based file watching for NFS [#2171] - Linux: Enable use of browser plugin in Snap build [#2802] - TOTP QR Code Generator [#1167] - High-DPI Scaling for 4k screens [#2404] - Make keyboard shortcuts more consistent [#2431] - Warn user if deleting referenced entries [#1744] - Allow toolbar to be hidden and repositioned [#1819, #2357] - Increase max allowed database timeout to 12 hours [#2173] - Password generator uses existing password length by default [#2318] - Improve alert message box button labels [#2376] - Show message when a database merge makes no changes [#2551] - Browser Integration Enhancements [#1497, #2253, #1904, #2232, #1850, #2218, #2391, #2396, #2542, #2622, #2637, #2790] - Overall Code Improvements [#2316, #2284, #2351, #2402, #2410, #2419, #2422, #2443, #2491, #2506, #2610, #2667, #2709, #2731]
Nice on HiDPI screen, but makes second screen that is FHD un-usable. Needs to be adjustable, best if automatic, when moving the displayed windows b/w monitors of different types. |
Version 2.3.4 still works perfectly well, both screens are fully usable for me, 2.4.0 doesn't have any option, that I can see to turn off this new "feature". |
I'm affected by this problem too. It looks like this is now discussed in #2808, so I suggest to continue over there. |
Description
This enables coordinate system scaling for high-DPI displays, which enforces correct proportions even on small 4k displays. The icons are scaled up without interpolation, which makes them crisp, but a bit pixelated. A new scalable icon set will solve this problem, but is not scope of this patch.
Resolves #548
Resolves #1381
Resolves #1710
Resolves #1888
As a small extra cookie, I snuck in enforcement of our icon set for the message box close icon (which has displayed a weird box on my KDE system ever since #2317 was merged).
Motivation and context
Icons were tiny, widgets had inhomogeneous proportions and windows were way too small as a result.
How has this been tested?
Tested on a 13.3" 4k Dell InfinityEdge display under Windows 10, works perfectly.
I also tested it in an Ubuntu 18.10 VM. It works in principle, but Gnome does not set all required properties. For Qt to pick up the correct scaling, DPI may need to be set manually using
xrandr
or KeePassXC needs to be started withIf the fonts are still slightly off, they can be corrected by also setting
QT_FONT_DPI=225
. I don't think I can fix this any better. It is definitely working, though, Qt just may not pick up all settings automatically.Screenshots (if appropriate):
Before:
After:
Types of changes
Checklist:
-DWITH_ASAN=ON
. [REQUIRED]