Bug 424654

Summary: Keybinding to close split view is undocumented and cannot be customized
Product: [Applications] konsole Reporter: magiblot
Component: split-viewAssignee: Konsole Developer <konsole-devel>
Status: RESOLVED FIXED    
Severity: normal CC: justin.zobel, nate, tcanabrava
Priority: NOR    
Version: 20.04.3   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 20.08.3
Sentry Crash Report:
Attachments: Screen recording showing the issue
Video2

Description magiblot 2020-07-25 14:50:28 UTC
SUMMARY

While using split views I sometimes press Alt+C by mistake. To my surprise, this causes one of the split views to close, even though there is no sign of Alt+C in Konsole's shortcut settings. So I cannot find a way to disable this shortcut.

STEPS TO REPRODUCE

1. Have a Konsole window with Left/Right split view.
2. Press Alt+C.
3. Open Settings > Configure Keyboard Shortcuts...

OBSERVED RESULT

1. After pressing Alt+C, one of the split views gets closed.
2. In the Keyboard Shortcuts window there is no Alt+C shortcut that I can disable or change the behaviour of.

EXPECTED RESULT

Any of the following:
1. Alt+C does no special action (it is forwarded to the application running in the terminal).
2. Alt+C can be disabled from the the Keyboard Shortcuts window, so that I can get the behaviour described above.

SOFTWARE/OS VERSIONS

Operating System: Arch Linux
KDE Plasma Version: 5.19.3
KDE Frameworks Version: 5.72.0
Qt Version: 5.15.0
Kernel Version: 5.7.10-arch1-1
OS Type: 64-bit
Comment 1 Justin Zobel 2020-10-22 23:35:12 UTC
Just tested on 20.08.1, Alt+C is not closing a left/right split. Can you please re-test.
Comment 2 Justin Zobel 2020-10-22 23:36:03 UTC
Awaiting author's testing.
Comment 3 magiblot 2020-10-23 00:16:38 UTC
Created attachment 132648 [details]
Screen recording showing the issue

Hi Justin,

I still can reproduce with Konsole 20.08.2.

The video shows how the close button of a split terminal gets 'pressed' every time I press Alt+C. Only when I accept to close it, applications receive Alt+C events again.

Thanks.
Comment 4 Justin Zobel 2020-10-23 00:49:16 UTC
Created attachment 132650 [details]
Video2

See video I attached using Alt C in a Konsole window.

Not sure what's causing your Alt C issue, I'm wondering if the OS is remapping Alt+C to Ctrl D or something that is closing the split terminal window.
Comment 5 magiblot 2020-10-23 02:07:14 UTC
It is worth noting that:

* Alt+C closes the split terminal by toggling its close button, as if it was clicking on it. This is definitely not the case with Ctrl+D or Ctrl+Shift+W.

* After closing one split terminal, Alt+C goes back to normal, even if there still are split terminals open. Opening a new split terminal causes the issue again. So the issue's reproducibility seems to be affected by Konsole's internal state. This is not something the OS alone could do.
Comment 6 Nate Graham 2020-10-25 16:14:19 UTC
Thanks for testing.
Comment 7 tcanabrava 2020-10-25 20:23:53 UTC
Weird, I also confirm, but I have no idea what triggers it.
I'v searched the Konsole source for `Alt + C`, and there's zero cases.
I'v also set the shortcut of the Close button to be None, but even so, Alt + C sometimes triggers it.

I sincerely don't know what's causing it. But I'm trying to find.
Comment 8 Carlos Alves 2020-10-26 11:21:18 UTC
Git commit d926d5e3926923e01e94317372f6bd3a1250ec6c by Carlos Alves.
Committed on 26/10/2020 at 10:58.
Pushed by tcanabrava into branch 'master'.

Fix 'Alt+C' closing split view

setText will create a shortcut with alt+C.
But setText call is not needed here.
FIXED-IN: 20.08.3

M  +0    -1    src/widgets/TerminalHeaderBar.cpp

https://invent.kde.org/utilities/konsole/commit/d926d5e3926923e01e94317372f6bd3a1250ec6c
Comment 9 Kurt Hindenburg 2020-10-27 14:34:58 UTC
Git commit 13e9195bc5ae249f0dac8a14f7b285d4041b1f11 by Kurt Hindenburg, on behalf of Carlos Alves.
Committed on 27/10/2020 at 14:34.
Pushed by hindenburg into branch 'release/20.08'.

Fix 'Alt+C' closing split view

setText will create a shortcut with alt+C.
But setText call is not needed here.
FIXED-IN: 20.08.3
(cherry picked from commit d926d5e3926923e01e94317372f6bd3a1250ec6c)

M  +0    -1    src/TerminalHeaderBar.cpp

https://invent.kde.org/utilities/konsole/commit/13e9195bc5ae249f0dac8a14f7b285d4041b1f11