This also allowed me to remove a few includes of Profile.h
around the codebase, that used Profile::Ptr. now the compilation
is a bit faster and also does not recompile things as often.
The Splitter is a great addition to konsole, but it lacked one
thing that always made KDE software proud: Configurability.
Some people like to have the header bar, some people don't,
some people prefer to have thin lines separating the views, some people
prefer to have the lines a bit thicker so it's easy to drag them with
the mouse.
This patch introduces those two settings in a new Tab on the Settings.
FIXED-IN: 20.08
FEATURE:
GUI:
CHANGELOG: Add Splitter settings for visibility and drag size
This allows for a user configured thumbnail image to be displayed
when the mouse is hovering over a file link. Any file that KIO can
transform into a thumbnail (image, video, folder) will be displayed.
Simply move the mouse to a file while holding an user selected keypress
(Alt, Shift, Control or a combination of them). The default
requires no key press. The profile setting 'Underline files' much be
enabled for this to work.
https://invent.kde.org/utilities/konsole/-/merge_requests/93
FIXED-IN: 20.08
FEATURE:
GUI:
CHANGELOG: Add thumbnails for certain file types on mouse hover
Starting from KBookmarks 5.69 the ctor that took a KActionCollection
parameter has been deprecated, and we need to manually add the various
bookmark actions to the actionCollection so that they show up in the
shortcusts editor.
Move the code that overrides the add bookmark shortcut, Ctrl+B, to the
BookmarkMenu class, so that all the relevant code is in one place.
BUG: 419981
Summary:
This is in support of T10165 specifically, and #consistency more generally.
The chosen colorful icon for the {nav Profiles} page isn't //perfect//, but I think it's better
than what's there right now.
Test Plan:
Before: {F7450045}
After: {F7474078}
Reviewers: #vdg, #konsole, GB_2
Reviewed By: #vdg, GB_2
Subscribers: ndavis, GB_2, konsole-devel
Tags: #konsole
Maniphest Tasks: T10165
Differential Revision: https://phabricator.kde.org/D24273
Applying settings in Configure Konsole dialog was causing every Konsole
window to be hidden and shown again. This was leading to information
related to window management (window state, desktop, position/display,
etc.) to be lost - windows were appearing on current display, current
desktop, at new positions.
The hide/show action is triggered by setting window flags. Only "remove
window titlebar and frame" option really changes the flags, so it is
pointless to set them again in other cases. Now, flags are not set when
they are the same as current ones.
Additionally, when "remove window titlebar and frame" option is changed
and new flags are different, windows' positions and displays are
restored. Other properties are still being lost.
Test cases
----------
* Open a few Konsole windows, put them on different desktops and
at different positions.
* Open Configure Konsole dialog, change any option different than
"remove window titlebar and frame".
* Apply
**Before**
Konsole windows have been moved to current display and current desktop.
Their positions have changed. The configuration window has been placed
under them.
**After**
The side effects mentioned above do not occur.
---
* Open a few Konsole windows, put them on different desktops and at
different positions.
* Open Configure Konsole dialog, change "remove window titlebar and
frame" option.
* Apply
**Before**
Konsole windows' titlebar and frame became visible/invisible.
The windows have been moved to current desktop. Both their positions
and display have changed. The configuration window has been placed
under them.
**After**
Like before, except windows' position and display - they are restored
now.
Summary:
_pluggedController disconnection happens when session is closed
by closeInNormalWay or closeInForceWay and calling
disconnectController leads to Konsole crash. Also a case when
closeInNormalWay is false was not considered.
BUG: 410607
FIXED-IN: 19.08.1
Test Plan:
1. Open Konsole
2. Open one more tab
3. Try to close Konsole
4. Pick option "Close Current Tab" (assuming you have not check
'Do not ask again')
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: hindenburg, konsole-devel, #konsole
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D23246
Summary:
When there is only one tab and a process is running, remove the
'close current tab' option when attempting to close Konsole.
Test Plan:
1. Open Konsole (assuming you have not check 'Do not ask again')
2. Start any process (ie top)
3. Try to close Konsole
Should only be 2 options, 'Close window' and 'Cancel'
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: hindenburg, ngraham, konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D23146
This reverts commit d689ba5403.
I should have tested this more; this breaks a number of things as
switching doesn't execute the 'Command'. Since the next release is
close, let's just revert for now.
FIXED-IN: 19.08
CCBUG: 319926
Summary:
* Use custom dialog and configuraton classes, as counterparts from KF5
are bugged. The KF5 versions should be fixed and used here.
* Create new KConfigDialog-like class and use it to show existing
configuration pages.
* Create KConfigDialogManager-like class for managing QButtonGroups.
* Remove help button from configuration dialog. There is nothing about
configuration dialog options in the help.
* Profile Settings:
* Use QTreeView instead of QTableView - it highlights whole lines,
aligns header names to the left, etc. Basically it looks like lists
in file manager or e.g. plugin list in Kate.
* Use (default) QStyledItemDelegate with checkbox instead of custom
delegate (tick mark) in favorite/show column.
* Change default profile item style - it now has italics font and
"(default)" suffix.
* Disable "Delete" button when default profile is selected
* Use slightly extended QKeySequenceEditor. KKeySequenceWidget looks
heavily out of place in a tree view. New editor supports some
control keys:
* Esc key cancels key capture.
* Del/backspace removes shortcut.
* Enter confirms shortcut immediately.
* Tab/backtab commits currently edited shorcut and moves to
next/previous shortcut.
* Shortcuts for non visible profiles use disabled text color.
* Note about visibility and shortcuts
* Rename "File Location" to "Temporary Files"
* Enable path selector only when "custom" is selected
* Place paths directly in labels
* Disable all tabbar settings except visibility when visibility is set
to "Never"
* Minor string changes.
**Screenshots**
{F6893460}
{F6893461}
{F6893462}
{F6893463}
BUG: 404096
FIXED-IN: 19.08.0
Reviewers: #konsole, #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, hindenburg, #vdg, konsole-devel, #konsole
Tags: #konsole, #vdg
Differential Revision: https://phabricator.kde.org/D20816
Summary:
Fix the regression about the placement of a new tab:
it is now added either at the end, or next to the
current tab depending on the setting.
BUG: 406409
Test Plan:
In Konsole settings, select 'Put new tab after the
current tab' for the New tab behavior setting.
Open some new tabs and check they are opened at the
proper position.
Reviewers: #konsole, hindenburg, tcanabrava
Reviewed By: tcanabrava
Subscribers: konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D20836
Summary:
This is what I envision for the Konsole Tab / Splits
management. One tab contain a QSPlitter that can contain
multiple TerminalDisplays / Splits.
You can test this behavior by hitting ctrl + shift + 9
and ctrl + shift + 0 to activate the splits, and ctrl +
shift + t to activate a new tab.
Old:
{F6484123}
New:
{F6484124}
What works:
- Tab Creation
- Split Creation (Even Recursive splitting)
- Terminal Close will close the Split on last split
- Last last split to close will close the tab
- Last tab to close will close konsole
- Detaching
- Tab Renaming
- Closing splits after detach
- Closing windows after detach
- Detach / Reattach works!
This patch series has the commits of Thomas Surrel, Maciej Niedbdalski and Myself.
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: luc4, hallas, anthonyfieroni, gennad, ngraham, thsurrel, maciejn, mglb, hindenburg, konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17643
Summary:
Fixes crash when using the Copy Input To All Tabs feature. The crash is
caused because the sessions are removed from the SessionManager before
the MainWindow is updated. When the MainWindow receives the
activeViewChanged signal it assumes that the
SessionManager::sessionProfile returns a valid Profile pointer, but in
this case it has already been freed and is therefore nullptr. The fix is
to simply check if the new active Session has a valid Profile, if not
simply ignore it.
Test Plan:
1. Open Konsole window
2. Open multiple tabs within that Konsole window
3. (apparently an important piece) Scroll through the tabs and go back to the first one opened, on the far left of the tab bar
4. Select Edit menu -> Copy Input To -> All Tabs in Current Window
5. Type a ctrl-D to issue logout command to all tabs in window
BUG: 405158
Reviewers: #konsole, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: hindenburg, konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D19642
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:
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:
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
Summary:
Since the application name is added by Qt, it is no longer
possible to remove the trailing '- Konsole' so the GUI
option is obsolete.
BUG: 364391
FIXED-IN: 19.03
Test Plan:
Change settings for existing Konsole and notice that the checkbox
doesn't change anything. After applying this the checkbox should
be removed.
Reviewers: #konsole, konsole-devel, hindenburg
Reviewed By: #konsole, hindenburg
Subscribers: konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D17049
Summary:
As part of the QTabBar refactoring, honouring of the new tab behaviour
setting was lost. Restore using a simpler implementation that simply
asks QTabWidget for the current index.
BUG: 396701
Reviewers: #konsole, hindenburg, tcanabrava
Subscribers: konsole-devel
Tags: #konsole
Differential Revision: https://phabricator.kde.org/D15828
This commit breaks sessionProfileCommandReceived
causing crashes in programs such as nvim.
I'm reverting it for now while I can't dig deeper.
This reverts commit 99f233b9a1.