gnome-terminal with screen interprets mouse wheel events as up/down

Bug #1688528 reported by Guram Savinov
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
gnome-terminal (Ubuntu)
Opinion
Undecided
Unassigned

Bug Description

Bug is based on my last comments from https://bugs.launchpad.net/ubuntu/+source/screen/+bug/106995

Environment:
Ubuntu 14.04.5 LTS
gnome-terminal 3.6.2
libvte 0.34.9
screen 4.1.0

The problem is:
1. screen is running from gnome-terminal
2. mouse wheel scrolling generates up/down events which ends up as bash history scrolling instead of gnome-terminal history scrolling
3. if run cat command, then mouse wheel ends up as esc-keys: ^[[A^[[A^[[A^[[A^[[B^[[B^[[B^[[B^[[B

Gnome-terminal's option about alternate screen is not working anymore in trusty ubuntu release, but it has been working in precise release.
As I said in bug 106995: gnome-terminal's option about alternatre screen doesn't do anything with vte, so it's useless, but if I understand this patch in vte right it set alternate screen option true value on initialization automatically.

commit 9f8c1b88dcd880c2d9e78c93521ee755560a9275
Author: Christian Persch <email address hidden>
Date: Mon Sep 30 23:00:09 2013 +0200

gnome-terminal calls vte_terminal_reset in terminal-window.c which set alternate screen flag to true, it's strange that it doesn't work.

I suspect that problem is in gnome-terminal, because this problem doesn't exists in screen run from xterm or rxvt terminal.

Tags: trusty
affects: screen (Ubuntu) → gnome-terminal (Ubuntu)
description: updated
Revision history for this message
Egmont Koblinger (egmont-gmail) wrote :

gnome-terminal / vte changed its behavior around that time. There was also quite a bit of confusion caused by a downstream ubuntu patch and removal also around that time.

I'm not sure what's 14.04's behavior, but in newer Ubuntus (e.g. 16.04) you can disable alternate screen scrolling with the DECRESET 1007 escape sequence, that is:

echo -ne '\e[?1007l'

Maybe it already works in 14.04, please try it.

Revision history for this message
Guram Savinov (guram-savinov) wrote :

No, this escape sequence doesn't change anything.
One more clarification: problem appears only when output on the screen fills all rows, i.e. when you output at least one screen of rows.

Revision history for this message
Egmont Koblinger (egmont-gmail) wrote :

Hmmm, it's hard for me to imagine why/how this could happen. Input parsing should be independent of what's on the screen.

Anyway, I'm sorry I couldn't help with the escape sequence. I'm personally out of here (I'm not an Ubuntu developer but a gnome-terminal one; I'm happy to join again if an issue is reproducible with a much more recent gnome-terminal even after emitting the said escape sequence).

Revision history for this message
Guram Savinov (guram-savinov) wrote :

Could you explain how this escape-sequence works? Does it set true value to the alternate_screen_scroll flag in libvte?
Does this ecape secuence substitutes option about alternate screen which was in gnome-terminal profile settings?

Revision history for this message
Egmont Koblinger (egmont-gmail) wrote :

Yes, it's the replacement for that previous option. It's enabled by default, \e[?1007l turns it off ("l"ow), \e[?1007h re-enables ("h"igh).

Revision history for this message
Marius Gedminas (mgedmin) wrote :

I've been using this in my ~/.screenrc to tell screen not to switch to the alternate screen, so I can use my scrollback:

  termcapinfo xterm|xterm-256color ti=\E7\E[?47l:te=\E[H\E[2J\E[?47l

This also enables mouse wheel scrolling of the scrollback (as long as you don't turn on 'mousetrack' in your .screenrc).

Changed in gnome-terminal (Ubuntu):
status: New → Opinion
Revision history for this message
Darko Veberic (darko-veberic-kit) wrote :

this is a huge headache for running vim in the gnome-terminal: the mouse scroll generates a sequence of key up or down strokes that are indistinguishable from the real keystrokes. having a very sensitive mouse scroller will inevitably produce unwanted scrolls to wrong place while, for instance, pasting the x11 buffer with the middle mouse button.

Revision history for this message
Darko Veberic (darko-veberic-kit) wrote :

btw this is in ubuntu 20.04

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.