#730512 libvte9: Unnecessarily stealing shift+up/down in the alternate buffer

Package:
libvte9
Source:
vte
Description:
Terminal emulator widget for GTK+ 2.0 - runtime files
Submitter:
Tim Marston
Date:
2013-11-26 22:57:05 UTC
Severity:
normal
#730512#5
Date:
2013-11-25 23:35:28 UTC
From:
To:
Dear Maintainer,

When in the alternate buffer, scrolling is not possible (and is
disabled, in fact).  But the Shift+Up and Shift+Down key presses, which
usually scroll the screen up and down by a single line, are still
stolen by libvte.  This deprives applications that use the alternate
buffer of them.

By way of an example, you can use C-S-up and C-S-down in emacs to
select blocks of text (just as C-up and C-down are bound to move to
previous/next paragraph).  This is no longer possible in any terminal
that uses libvte9, such as xfce4-terminal.

Since the alternate buffer doesn't provide scrolling anyway, it would
seem reasonable to pass these key presses to the terminal in this case.
This behaviour can be seen demonstrated by mintty (a Windows-based
terminal emulator) and works very nicely.  It works so nicely, in fact,
that it wasn't until I realised I couldn't use C-S-up/down in emacs at
home that I realised I had been using these key presses at work for
different purposes in the normal/alternate buffers!

The accompanying patch causes libvte9 not to process the Shift+Up/Down
key presses when the alternate screen is being used.

#730512#10
Date:
2013-11-26 22:48:14 UTC
From:
To:
Sorry, just wanted to provide some additional information for anyone
trying to get xfce4-temrinal to work...

If you're using xfce4-terminal, and you have the option enabled to use
Shift-Up and Shift-Down to scroll the terminal by one line (in
Preferences->General), then this patch will appear not to work.  You
will have to disable this option.

I am guessing that this option was added to xfce4-terminal before the
same facility was added to libvte.  But the option is broken in
xfce4-terminal (as libvte steals the key presses).  So, without this
patch, the option does nothing anyway (and may need to be removed).