Version: unspecified (using KDE 4.6.0) OS: Linux Some applications can prevent terminal emulator from history scrolling (which is done usually by pressing shift+pageup/pagedown). Good example is midnight commander or vim. It would be great to have possibility to delegate this (probably dropped) events into application running in terminal emulator. When applications like screen or tmux will be able to receive such events, there may be implemented history scrollback internally with usual behaviour instead of special modes. Reproducible: Always Steps to Reproduce: 1] run konsole with vim 2] enter insert mode 3] pres ctrl+v 4] press shift+pageup Actual Results: no characters seen Expected Results: see generated characters
I created same feature request for GTK 2.0 VTE component so you can see also discussion there: https://bugzilla.gnome.org/show_bug.cgi?id=643233
OK, I did some analysis. The feature I'd like to use is called alternate screen (or buffer). In konsole there is used mode 'MODE_AppScreen' and 'AppScreen' it looks almost like keyboard modificator in keytab file. Not scrolling is defined in data/keyboard-layouts/default.keytab (end of file). It seems that it could be solved by configuration only, but when I alter my keytab with key Up+Shift+AppScreen : "foo" key Down+Shift+AppScreen : "foo" key PgUp+Shift+AppScreen : "bar" key PgDown+Shift+AppScreen : "bar" it doesn't have desired effect. I tried to run vim, enter insert mode and tried to scroll, but nothing was inserted... Ideas?
By testing with key Backspace+Shift-AppScreen : "off-screen" key Backspace+Shift+AppScreen : "in-screen" I got correct behaviour. Thus I believe this is bug and not feature.
Created attachment 57548 [details] modified default.keytab this keytab contains modified: PgUp+Shift+AppScreen Backspace+Shift+AppScreen Backspace+Shift-AppScreen
it seems that it's hardcoded in src/TerminalDisplay:2483-2517
Created attachment 58472 [details] patch OK, this is straightforward approach to implement missing functionality. I store information which TerminalDisplay object received keyPress event in Screen object.
Git commit b88dfb402a8ba3afe317e4a0741bf999f84b68bc by Kurt Hindenburg. Committed on 14/04/2011 at 17:25. Pushed by hindenburg into branch 'master'. Delegate PgUp/Down and Up/Down +Shift+AppScreen to terminal application. After this patch, the following in the .keytab will work: key Up+Shift+AppScreen : "appup" key Down+Shift+AppScreen : "appdown" key PgUp+Shift+AppScreen : "apppgup" key PgDown+Shift+AppScreen : "apppgdown" Patch by Tomáš Čech tcech@suse.cz FEATURE: 267100 FIXED-IN: 4.7 M +14 -0 src/Screen.h M +13 -37 src/TerminalDisplay.cpp M +7 -1 src/TerminalDisplay.h M +12 -3 src/Vt102Emulation.cpp http://commits.kde.org/konsole/b88dfb402a8ba3afe317e4a0741bf999f84b68bc
I hope this doesn't show my ignorance too badly, but does this also make it possible to pass mouse scroll events through to the application (tmux in my case)? I'm getting three "up" or "down" events (^[[A and ^[[B) when I try to scroll in tmux. Is there a way of passing this through in a way that can be captured by tmux instead? Ultimately, I'd like to get tmux to enter copy-mode when I scroll the mouse.
duplicate of bug #191476 https://bugs.kde.org/show_bug.cgi?id=191476
*** Bug 191476 has been marked as a duplicate of this bug. ***