With this action, two tabs can be jumped back and forth. This
somewhat abuses the stucture used for the "Last Used Tabs" action.
When the "Last Used Tabs" actions are used, the next "Toggle between
two tabs" will be incorrect for the first time.
Idea from https://phabricator.kde.org/D7068
Summary:
This is a proposal to modify the profile shortcuts behaviour:
instead of opening a new tab with the corresponding profile
they now switch the profile of the current terminal display.
FEATURE: 319926
Reviewers: #konsole, hindenburg, tcanabrava
Reviewed By: #konsole, hindenburg
Subscribers: loh.tar, konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17374
Summary: `/` path was shown as empty string for %d format.
Test Plan:
* Use `%d` in tab title format
* Run `cd /`
**Actual result:** `%d` replaced with ``
**Expected result:** `%d` replaced with `/`
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: hindenburg, konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17866
Summary:
`%D` did work only with main process - for every subprocess it just
displayed "-". With the patch "-" is displayed only in processes for
which CWD can't be read (e.g. root processes).
Test Plan:
* Use `%D` in tab title format
* Run `vim`
* (optionally) run `:cd /usr` in vim
**Actual result:** "-" is shown in the title instead of `%D`
**Expected result:** valid CWD is shown in the title instead of `%D`
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: hindenburg, konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17865
Summary:
Add option to hide the title bar and frame off by default. The
window can be managed via tilling management and
alt+mouse hold, etc. This is not a normal workflow for a normal
user for a normal application, but is indeed used for power users.
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: sandsmark, tcanabrava, konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17588
Summary:
Fix crash when doing word selection or line selection
and moving the cursor to the end of the screen.
After 4e09f089f9
Konsole tries to read out of bounds when you double
click to select a whole empty line, and hold down the
mouse button and drag to the right.
Note: still crashes with on some extendSelections
such when y=-1
BUG: 402452
Test Plan:
Doesn't crash anymore, selecting the last column works,
both in normal selection, line selection and word selection.
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Differential Revision: https://phabricator.kde.org/D17757
Summary:
This patch introduces a UI change: tabs only show an icon if it's not
the default one; that is to say, only if the user has actually customized
the icon. There are several reasons for this:
1. **Conceptual:** When only non-default profile icons show up in the tab,
it does a better job of highlighting the fact that a non-default profile
is being used.
2. **Aesthetic:** you no longer have the same icon in every tab by default,
which looks bad and causes the eye to ignore it over time.
3. **Icon-specific:** the `utilities-terminal` icon doesn't look good
against a dark background (https://bugs.kde.org/show_bug.cgi?id=367696)
4. **Code hygiene:** reduces a bit of redundancy in the session controller
code.
BUG: 401864
CCBUG: 367696
FIXED-IN: 19.04.0
Test Plan:
Open multiple tabs and make one of them use a profile with a
non-default icon:
{F6502534, size=full}
Verify that bell signals still cause tabs to get icons.
Reviewers: #konsole, #vdg, ndavis, hindenburg
Reviewed By: #konsole, #vdg, ndavis, hindenburg
Subscribers: fabianr, abetts, hindenburg, konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17747
Summary:
Alternate Scrolling shouldn't be reset when calling resetModes(), this
is to maintain the profile alternate scrolling property after reset()
is called, otherwise calling reset() (or clear scrollback and reset)
will always make alternate scrolling get disabled regardless of the
respective profile property.
Also this matches XTerm behavior.
BUG: 402461
Test Plan:
1 - Open a new tab and make sure the alternate scrolling profile property
is enabled
2 - Run less or any other application that uses the alternate screen,
scrolling with the mouse should work
3 - Quit the previous application and execute `reset`
4 - Repeat 2, notice that now scrolling doesn't work
After applying the patch, alternate scrolling mode is not changed after
calling reset.
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: konsole-devel, hindenburg
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17781
Summary:
Since minimum Qt version is 5.9.7, code for older versions is not
needed.
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: hindenburg, konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17746
Summary:
Various people have suggested over the years that we use the Breeze
color scheme by default, to improve continuity with other KDE
applications. This patch makes it happen.
BUG: 391920
FIXED-IN: 19.04.0
Test Plan:
Create new user account and open Konsole:
{F6485803, size=full}
Reviewers: #konsole, #vdg, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17648
Summary:
When I updated the colors of the systemwide Breeze color scheme last
year, I neglected to update the Konsole color scheme. This patch corrects
that oversight.
Colors taken from https://hig.kde.org/style/color/default.html
CCBUG: 391920
Test Plan:
Overall, the contrast is much better than it was before.
{F6479084}
{F6479083}
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: hindenburg, konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17613
Summary:
This parameter is internal from the TerminalDisplay, no need
to extract it to send to another parameter.
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17625
Summary:
Overall changes
---------------
* Use a dialog with category buttons on the left, which is used in most
KDE applications
* Apply KDE HIG as much as possible
* Align layout columns in multiple group boxes
* Move some settings to another groups
General page
------------
{F6447280}
Profile name and icon, and settings related to session/application
initialization.
* Move "Show hint for terminal size after resizing" to Appearance page
* Move "Dim the colors when the window loses focus" to Appearance page
Tabs page, rename tab dialog
----------------------------
{F6447281}
Tabs settings
* Only minor UI changes
Appearance page
---------------
{F6447282} {F6447283} {F6447284}
{F6447290}
Settings related to basic appearance.
* Add additional tabs
* Cursor - cursor settings from Advanced page
* Miscellaneous
* Add "Line spacing" from Advanced page
* Add previously missing terminal margins and terminal center
settings (4 years old config-only feature)
* Add "Show hint for terminal size after resizing" from General page
* Add "Dim the colors when the window loses focus" from General page
* Use customized font selection dialog
* Show all printable ASCII characters and look-alike character sets as
a preview
* Live preview for changes in the dialog
* Move "Show all fonts" to the font selection dialog
* Remove "text size" (it is replaced with live preview in the font
dialog)
* Add live preview for cursor settings
* Add live preview for "Line spacing"
Scrolling page, history size dialog
-----------------------------------
{F6447285}
Settings related to scrolling and history.
* Replace popping-in warning frames in "Scrollback" group with warning
buttons which show floating warning after click. The controls does
not change position anymore when switching the scrollback options.
Applies also to history size dialog.
* Replace scrollbar "hide"/"show on left side"/"show on right side"
options with "visible" checkbox and "show on left side"/"show on
right side" options enabled after checking the checkbox.
Keyboard page
-------------
{F6447286}
* Removed redundant group box
Mouse page
----------
{F6447287}
{F6447288}
* Shorten "Characters considered part of a word..." label
* Replace "triple-click selects" drop-down with option buttons
* Split settings to "Text interaction" and "Miscellaneous" tabs
* Use monospace font for "Word characters" text input
Advanced page
-------------
{F6447289}
More advanced settings or settings regular user don't care about.
* Replace "Show URL hints when these keys are pressed" checkboxes with
toggle buttons which are easier to associate visually with hardware
keys
* Move "Line spacing" to Appearance tab
* Move cursor settings to Appearance tab
* Show "Default character encoding" value directly on drop-down button
Preview for: breeze (dark colors), Oxygen, QtCurve
--------------------------------------------------
{F6447339}
Test Plan:
* Check visually with light/dark color scheme, Breeze, Fusion, Oxygen,
QtCurve widget styles, normal/large font, QT_SCALE_FACTOR set
to 1 and 2
* Change every possible control to check UI logic
* Change as much settings as possible and see if they are applied
Reviewers: #konsole, #vdg, ngraham, hindenburg
Reviewed By: #konsole, #vdg, ngraham, hindenburg
Subscribers: emateli, loh.tar, hein, mart, hindenburg, rizzitello, abetts, ngraham, konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17244
Summary:
This is needed to clean up a bit of the code later.
being really explicit here removes the need to handle
QWidget pointers, as that could in theory be anything
Handling only TerminalDisplays* we can remove the
SessionController map from the ViewContainer and
add it to the TerminalDisplay class in the future
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17492
Summary:
Those three classes where *used* inside of the SessionController
but they where not supposed to be there. The code in the
SessionController is already too big to understand, so the removal
of unrelated code is a good thing: it's now easier to reason
about those other three classes without having to deal with
the whole code that the SessionController has.
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17485
Summary:
When there is a margin of 1 pixel, but some of the anti-aliasing
"blur" leaks to 0,0. so it is fixed with a full update() (e. g. when
it regains focus), but not when just some content updates in the
window. Without this it draws outside the content rect, most
visible as a vertical line if the cursor is completely to the left and
then moves.
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: pbraun, konsole-devel, #konsole
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17414
Summary:
Instead of iterating over the sessions to fetch the view and
duplicate the current screen once for each split, ignore all
of them and just create a new terminal view. The only thing
this terminal view shares with the previous current widget
is the profile.
use createView instead of manually trying to create the view
Fixes bug while closing the split
Don't duplicate tabs in the splits
BUG: 385697
BUG: 380455
FIXED-IN: 19.04
Reviewers: thsurrel, hindenburg, gennad, ngraham, #konsole
Reviewed By: thsurrel, hindenburg, ngraham, #konsole
Subscribers: ngraham, hindenburg, gennad, konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17267