QT can't be made to draw monospaced text (if the font does not cooperate),
so avoid combining characters, using a QPainter::drawText() call for each
character.
For bidi text support this change requires konsole to reorder and reshape
the characters. This is done using the ICU library (which QT also uses).
This change allows for some improvements related to text rendering:
- More precise bidi reordering, which is no longer changed by characters'
attributes and selection.
- underlines drawn separately from the text, allowing for differing
underline modes (double, curly, dashed, dotted, colored).
- Overriding font for emoji characters.
This commit fixes a few bugs and addresses a lot more:
Feature requests: More standard conforming RTL and various underlines:
BUG: 403729
BUG: 387811
Using non-monospace font:
BUG: 416508
BUG: 452087
BUG: 425973
BUG: 430822
BUG: 442742
BUG: 441037
BUG: 430822
Emoji:
BUG: 440070
CCBUG: 450017
CCBUG: 445846
CCBUG: 453086
Regression: devanagari rendering
CCBUG: 381593
CCBUG: 451716
We want to be able to build without X11 support even if some of the used
libraries may not work w/o X11 themselves yet or need to be built with
X11 support for other reverse dependencies.
HAVE_X11 already exists and is set automagically so far, but using
-DCMAKE_DISABLE_FIND_PACKAGE_X11 will break if any dependencies list X11
as required in their cmake config.
Introducing this option means there is no behavior change by default,
cmake will just skip finding X11 or adding unwanted features if the
option is enabled.
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
ecm_set_disabled_deprecation_versions() in versions < 5.96 was brokwn
when it comes to SHOW_DEPRECATIONS, warnings for newer deprecations
were disabled if the flag was set or not.
Starting with ECM 5.96 the macro now enables warnings by default,
so the flag is no longer needed.
GIT_SILENT
QT_MAJOR_VERSION is defined automatically by QtVersionOption (since ECM
5.82) which is included by KDEInstallDirs. For older ECM, if
QT_MAJOR_VERSION isn't already set, default to 5.
There is similar to what's used in polkit-qt-1 (which doesn't depend/use
ECM at all).
malloc_trim is indeed a GNU extension, but an extension of glibc.
Relying on __GNUC__ unfortunately doesn't help with that. Check for
the actual presence of malloc_trim with cmake's check_function_exists
instead.
This fixes the build with musl libc, which doesn't come with
malloc_trim.
Co-authored-by: Ahmad Samir <a.samirh78@gmail.com>
This plugin can save your favourite commands to sidebar
You can double click the item to invoke the command
Signed-off-by: Tao Guo <guotao945@gmail.com>
It is crashing several times a day for me, and every time it closes all
Konsole windows I have open (including the ones I'm working in), so I
suggest it should be turned off by default for this release.
(cherry picked from commit 2a788380f648ed95a76508a10a327521ccb098f6)
There was support for bumping this to 14 or 17 earlier this year.
I'll check before 21.04 is released on how much code actually needs 17.
All modern OS distros should have a C++17 compiler.
This pulls in ECM 5.38 which requires a change of add_test()s
This update is needed to port from KToolInvocation::kdeinitExec to
KIO::CommandLauncherJob