This is a function that's completely related to character
and has nothing to do with painting, so the correct place
for it is on the Character class.
This will make testing easier, too.
Fixes HistoryTest::testHistoryTypeChange.
We were subtracting -1 for no reason. This lead to adding one extra line
to the history. The previous implementation would immediately remove the
top line but the new one waits till we have 5 extra lines. Hence, the
test broke.
cmatrix (a Matrix-style screensaver-ish) uses a lot of dumb escape
codes, and particularly two we don't want to support from xterm:
- CSI 22: Save icon and window title on stack
- CSI 23: Restore icon and window title from stack
For security reasons Konsole is very conservative wrt. not supporting
similar escape codes (and now most other terminal emulators as well,
they discovered it the hard way).
Adds a missing signal/slot connection for when a split-view is drag-and-
dropped to a new window. Use an existing method to handle it the same
way as drag-and-dropping or detaching a tab.
BUG: 442238
Maximized views must be un-maximized before certain actions:
- detach view
- split view
- move to new tab
- close
This commit fixes the toggle state getting out of sync after those
actions, adds the un-maximize step for splitting a maximized view,
and reduces code duplication by adding ViewSplitter::clearMaximized(),
For now, clearMaximized() does need to be called manually: we want the
display restored before the removal, but ViewSplitter handles removals
after the fact with QEvent::ChildRemoved.
Other signals are received too early when closing tabs.
ViewContainer::viewRemoved is received after the tab count has been
updated.
Protect against the "detach-tab" action when only one left.
Fixes the following behavior:
- Create two tabs
- Close one tab
- Detach the remaining tab through menu or shortcut
- The original window is blank - no terminal display. Adding a tab
to it crashes
This change tries to improve the performance when you are outputting a
lot of text to the screen. Result with a 40M text file for me before was
6 seconds which is now down to about 3.5 seconds with this change.
It can still be improved a lot more.
BUG: 443885
Also uses weak pointers in the cache in ViewManager, to avoid having
them loaded for longer than necessary.
It takes less than a millisecond to load them, and it is nice to pick up
new changes from disk. But we don't want to do it for those currently
used by code elsewhere, so we still cache them with a weak_ptr that will
expire once all other code is done with it.
- the foreground informaton **is** not updated by this function
- not all callers call updateForegroundProcessInfo() afterwards
- other functions have a call to updateForegroundProcessInfo()
inside, so the whole thing is moot
- this commit message is 5x as long as the comment it removes
TerminalColor::onColorsChanged() used to be called updateScrollbarColors(),
now that KColorSchemeManager is integrated in Konsole, users can choose a
colour scheme for the whole window widget style, where tabs, scrollbar,
findbar, right-click context menu are all the same colour as you'd expect
from any KDE application.
This removes dimming of the scrollbar when the "dim when inactive" option is
disabled, the scrollbar is part of the window GUI, it should follow the same
color scheme.
2a71f063f825e07b7e2072d604c6cc