* Rename everything related to built-in profile both in code and UI.
* Unified style for [Read-only] and [Default] badges in profile
manager's list model.
* Change --fallback-profile option to --builtin-profile.
* Backward compatibility: yes. If a user happened to name their
profile "Built-in", it would continue to work as normal, and even
load with `--profile "Built-in"` command line flag. It will let them
modify any property including Name; but changing the name back
to "Built-in" shows a warning and reverts the change as usual.
* Remove "This option is a shortcut for" sentence. While it is still
technically possible to pass built-in profile's magic path, this
option is not a shortcut, nor implemented as such.
* Delete extra naming conditions in ProfileManager::changeProfile,
because they could never be triggered anyway, due to pre-flight
checks in EditProfileDialog::isProfileNameValid. Automatic unique
profile names generation has been done even earlier in either
SessionController or ProfileSettings. Just as before, users will
continue experiencing a generic "A profile with the name \"%1\"
already exists." message.
Tests:
* Improve test for uncreatable file name of built-in profile.
* Add backward compatibility test for loading existing profile
named "Built-in" which also references real built-in as its parent.
BUG: 438309
This is inherently faster than the singal/slot round trip.
Having a signal that returns anything other than void is an indication it
should be a method not a signal.
Note that nothing outside of TerminalDisplay emits/uses those signals.
Commit d37d3ac1 "CompactHistoryScroll: Remove _maxLineCount + 5 lines at
a time" caused a regression: addHistLine queried the number of lines in
history before and after adding a line, and if it had not incremented it
assumed one line entered history and another was dropped at the other
end. Now, lines are dropped from history in batches, so take care of
that.
Very similar to the regression fixed at 7a1e4768, only this one is about
keeping the scroll position on the presence of scroll, and that other
one is about keeping the selection.
Thanks to the bug reporters Michael and Luke-Jr for the heads-up.
BUG: 452955
BUG: 453112
Here how it looks like: https://imgur.com/a/uaMQvT6
Before, it was impossible to resize the splits
with the same size in case they were manually resized.
I have added a new button menu for doing so:
in View -> Split View -> Equal size to all views.
First I wanted to make this as a plugin,
but since I thought it could make splits a bit more useful,
I decided to merge it not as a plugin but internally.
GUI: Menu -> View -> Split View -> Equal size to all views
CHANGELOG: Added equal size to all split views.
Commit e2167eb0 restricted deactivating the word-wise/line-wise
selection mode to mouse presses with no modifiers. Since in
mouse-tracking mode, the Shift key has to be pressed to not pass mouse
events to the application running on the terminal, there was no way to
end word-wise/line-wise selection mode without sending a mouse event to
the application.
Modify the logic so ending word-wise/line-wise selection mode is done by
a LMB button press with no modifiers on non-mousetracking mode, and by a
LMB button press with only the Shift modifier on mousetracking mode.
BUG: 408048
KColorSchemeManager (from KConfigWidgets) was changed in 5.89 to handle
loading/saving the selected color scheme automatically if
KColorSchemeManager::setAutosaveChanges(true) is used (it auto saves by
default, but calling setAutosaveChanges(true) makes it easier to understand
the code).
However this is conditional on KConfigWidgets >= 5.93 because that's where
the KColorSchemeManager::createSchemeSelectionMenu() overload used here was
changed to load the previously saved color scheme.
Since KColorSchemeManager uses "ColorScheme" as the config entry name,
migrate the old config entry when KF >= 5.93.
When you do a selection, characters jump. This s a lot worse if
you enable "Underline Files" as then characters are jumping all the
time.
Example of such characters are, icon chars from the result of `ls-deluxe` or
`exa`.
After 6667d96e broke scrolling, and apparently neither c9f77e52 nor MR
!413 where able to totally fix it for all use cases, applying the
restriction to cells only when sending mouse tracking events should fix
all remaining warts.
It does something, actually, so fix a bug in OSC 1337 state machine: we start the machine on the first character, so process the character immediately after starting the machine.
When selecting, the last line gets an added newline if the characters
returned from copyLineToStream() are less than the cells selected on that
last line.
A weird behaviour was that after running:
printf ' v\n'
printf '\e[KSELECT ME\n'
printf '\e[31m\e[Kselect me\n'
printf '\e[0m ^\n'
selecting "SELECT ME " would add a newline, while
selecting "select me " would not add a newline.
This is a side-effect of clearImage() resizing lines which end with
spaces with the default rendition, so selecting the "SELECT ME" line
would get a count of 9 characters, which would make selecting more than
the initial 9 characters add a newline, while the "select me" line would
have additional spaces with isRealCharacter == false and a non-default
rendition.
Solve it but making copyLineToStream() not count and not pass to
PlainTextDecoder trailing characters where isRealCharacter == false.
Otherwise, weirdness ensues. e.g. if you do:
seq 1 $((LINES)); printf '\e[31m\ec'
and try to select the blank lines, the selection shows the previous
rendition color.