Bug 483197 - Konsole's cursor has artifacts when using Qt6 scaling
Summary: Konsole's cursor has artifacts when using Qt6 scaling
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: 24.02.0
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2024-03-11 05:37 UTC by Quinten Kock
Modified: 2024-03-16 02:57 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 24.05


Attachments
Uneven block cursor edges at 150% (47.90 KB, image/png)
2024-03-11 05:37 UTC, Quinten Kock
Details
Randomly rounded corners at 200% (56.28 KB, image/png)
2024-03-11 05:37 UTC, Quinten Kock
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Quinten Kock 2024-03-11 05:37:19 UTC
Created attachment 166933 [details]
Uneven block cursor edges at 150%

SUMMARY
The block cursor in my Konsole window looks offensively bad at scale factors like 150% and 200%, especially when the window is not focused.


STEPS TO REPRODUCE
1. Set the scaling factor to e.g. 150% or 200%. Other factors like 125% also seem to give weird results.
2. Open Konsole.
3. Defocus its window.

OBSERVED RESULT
The block cursor outline is deformed (at 150%, the edges are uneven).

EXPECTED RESULT
Nice, even & sharp block cursor outline

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 6.0.1
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2

ADDITIONAL INFORMATION
Graphics platform: Wayland
Display driver: NVIDIA 535.154.05 (RTX 2070)
Comment 1 Quinten Kock 2024-03-11 05:37:49 UTC
Created attachment 166934 [details]
Randomly rounded corners at 200%
Comment 2 Bug Janitor Service 2024-03-12 22:36:46 UTC
A possibly relevant merge request was started @ https://invent.kde.org/utilities/konsole/-/merge_requests/966
Comment 3 Kurt Hindenburg 2024-03-15 22:33:25 UTC
Git commit 65265067804f2cacdcdaccd9e51dc86dc1cd596b by Kurt Hindenburg, on behalf of Luis Javier Merino Morán.
Committed on 15/03/2024 at 22:18.
Pushed by hindenburg into branch 'master'.

Draw block cursor outline with MiterJoin

Prevents artifacts at the corners when using DPI scaling, e.g. the
screenshot at the bug report with 2.00 scale.

M  +1    -0    src/terminalDisplay/TerminalPainter.cpp

https://invent.kde.org/utilities/konsole/-/commit/65265067804f2cacdcdaccd9e51dc86dc1cd596b
Comment 4 Kurt Hindenburg 2024-03-15 22:33:33 UTC
Git commit a0e50704bfa00474f7bf33ee022885c74e22d815 by Kurt Hindenburg, on behalf of Luis Javier Merino Morán.
Committed on 15/03/2024 at 22:18.
Pushed by hindenburg into branch 'master'.

Draw block cursor with antialiasing

Prevents further artifacts when DPI scaling, e.g. at 1.25x scale some of
the lines of a hollow cursor may be 1 pixel wide, while others may be 2
pixels wide.

M  +2    -0    src/terminalDisplay/TerminalPainter.cpp

https://invent.kde.org/utilities/konsole/-/commit/a0e50704bfa00474f7bf33ee022885c74e22d815