Enable high-DPI scaling to support 4k screens#2404
Merged
Conversation
65cb4ad to
c32f417
Compare
weslly
approved these changes
Oct 20, 2018
Contributor
weslly
left a comment
There was a problem hiding this comment.
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. |
Member
|
This was merged into develop, are you using the 2.4.0 snapshot to test? https://snapshot.keepassxc.org |
droidmonkey
added a commit
that referenced
this pull request
Mar 19, 2019
- 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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
xrandror 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]