MATE terminal: mouse scroll doesn't work in certain console apps (e.g. man)

Bug #1337195 reported by Vlad Orlov
44
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Ubuntu MATE
Fix Released
Low
Martin Wimpress 
mate-terminal (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

System: Xubuntu 14.10 64-bit Daily Build from 02 Jul 2014 with additionally installed MATE desktop 1.8.

MATE terminal in Ubuntu needs patching to support mouse scroll in certain console apps like man.
Mouse scroll works in Xfce and Gnome terminals. I think the patch from Gnome terminal can be applied as MATE is a fork of Gnome so there are many similarities in their codebases.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in mate-terminal (Ubuntu):
status: New → Confirmed
Revision history for this message
Xiong Changnian (xiong-cpan) wrote :

I agree that this is essential. I have been with MATE for well over a year and have simply been using gnome-terminal all along. A scroll-on-scroll-wheel feature only seems trivial until you have to work without it.

Revision history for this message
Oliver Joos (oliver-joos) wrote :

I checked the binaries in Mint 17 MATE (which is based on Ubuntu 14.04 LTS):

The patch for "vte_terminal_set_alternate_screen_scroll" is in package libvte9 (GTK 2), in libvte-2.90-9 (GTK 3) and in gnome-teminal, but not in mate-terminal! So the problem seems to be in mate-terminal only.

strings /usr/lib/libvte.so.9 | grep screen_scroll
strings /usr/lib/libvte2_90.so.9 | grep screen_scroll
strings /usr/bin/gnome-terminal | grep screen_scroll
strings /usr/bin/mate-terminal | grep screen_scroll

Revision history for this message
Vlad Orlov (monsta) wrote :

What's more interesting, the patch in gnome-terminal now does nothing [1] because the functionality has been added upstream in VTE3 (libvte-2.90-9) [2]. That means the alternate scroll is always on and can't be disabled.

[1] https://bugs.launchpad.net/bugs/1340067
[2] https://git.gnome.org/browse/vte/commit/?id=9f8c1b88dcd880c2d9e78c93521ee755560a9275

Revision history for this message
Vlad Orlov (monsta) wrote :

Added a patch for mate-terminal.
The patch adds a new option in the preferences to enable the alternate scroll. You can turn it on and off as you like (the default value is on). The patch has been adapted from the corresponding patch for gnome-terminal 2.32.1.

Dear maintainers, please consider adding this patch.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "This patch enables alternate scroll. Adapted from the corresponding patch for gnome-terminal 2.32.1." seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Jackson Doak (noskcaj)
Changed in mate-terminal (Ubuntu):
status: Confirmed → Incomplete
Jackson Doak (noskcaj)
Changed in mate-terminal (Ubuntu):
status: Incomplete → Confirmed
Changed in ubuntu-mate:
status: New → Triaged
importance: Undecided → Low
assignee: nobody → Martin Wimpress (flexiondotorg)
Revision history for this message
Vlad Orlov (monsta) wrote :

Oh.

Guys, I kinda forgot about this patch. Since then, I've submitted a better patch [1] - it's better because it's intended to be applied to VTE, a terminal widget library which all GTK+2 terminals (MATE terminal, Xfce terminal, roxterm-gtk2, lxterminal, etc.) use.

If it's applied, then there's no need to patch MATE terminal (and other GTK+2 terminals) - the alternate screen scroll will be enabled there automatically.

It would be nice if you vote and comment there, persuading VTE maintainers to apply that patch.

[1] https://bugs.launchpad.net/bugs/1340687

Revision history for this message
Oliver Joos (oliver-joos) wrote :

@Monsta: thank you very much! I look forward when wheel scrolling finally works in Mint/MATE too...

Do you agree that we make this bug a duplicate of your improved one at [1]? I think this helps your new patch to be seen.

And I opened a new report upstream on gnome.org to tell them about your patch. Please write (here or there) if I missed or wrote something wrong.

Revision history for this message
Vlad Orlov (monsta) wrote :

Well, technically this is not a duplicate, just the patches that apply on different scales.

And I'm afraid gnome guys won't apply this: this old GTK+2 VTE is obsolete for them. They support only GTK+3 one.

Revision history for this message
Oliver Joos (oliver-joos) wrote :

You were right. The Gnome guys literally "abandoned" Gnome 2, as they say. I had to check this, before I leave Gnome once and for all.

As many others I am confused since this Unity/Gome3/MATE/Cinnamon forking. But I think it's still better to fix a bug upstream than in every distro. In case of libvte9 the current upstream origin would be MATE, isn't it?

I saw that you already wrote your new patch request to https://github.com/mate-desktop/mate-terminal/issues/2
So let's hope it will be integrated in MATE soon.

Thanks again for your engagement!

Revision history for this message
Oliver Joos (oliver-joos) wrote :

I think I understand now: libvte9 stopped evolving in Oct 2012 at 0.28.2-5. It is not supported by gnome.org anymore. And it has NOT been forked by MATE yet! Integrating your new patch would mean to fork the out-dated libvte9.

After what Egmont wrote on https://bugzilla.gnome.org/show_bug.cgi?id=736196 I think your patch for mate-terminal (comment #5) was the better approach for MATE.

Revision history for this message
Vlad Orlov (monsta) wrote :

1. This patch won't be accepted in MATE because it's Ubuntu-specific. See the comments: [1] and [2]. For example, the alternate screen scroll works fine in Debian without any patches. The same applies to other distros. That's why I've filed the bug report here. There's no need to apply the patch upstream: only Ubuntu maintainers can do anything about it.

2. There's no need to fork the old VTE lib. It's still used in Debian and Ubuntu by various GTK+2 terminal apps (I've mentioned them in my earlier comments). In other words, this is not some abandoned Gnome-specific lib which has to be forked by MATE developers.

3. I've already explained why it's better to patch VTE lib than MATE terminal. More terminal apps will benefit from it.

-------------------------------

[1] https://github.com/mate-desktop/mate-terminal/issues/2#issuecomment-5004012

[2] https://github.com/mate-desktop/mate-terminal/issues/2#issuecomment-8024406

Revision history for this message
Oliver Joos (oliver-joos) wrote :

Oh man, it's complicated. Thanks for explaining.

I checked your point 1. I copied libvte.so.9.2800.2 from Debian Sid into Mint 17 and alternate scroll in mate-terminal works!
I totally agree with your point 3!

To summarize: in 2012 Gnome.org stopped support for libvte9 at 0.28. Debian and also Ubuntu took over the support. The Ubuntu patches killed the alternate scroll feature for most terminals, except gnome-terminal which has a built-in solution for it.

Revision history for this message
Oliver Joos (oliver-joos) wrote :

I forgot your comment #4: the current gnome-terminal has not a built-in solution anymore, but is based on libvte-2.90-9 (GTK3) which provides the alternate scroll

Revision history for this message
Martin Wimpress  (flexiondotorg) wrote :

@Monsta thanks for your work on this. I'll keep an eye on your vte patch and if that doesn't progress I will patch mate-terminal.

Changed in ubuntu-mate:
status: Triaged → Confirmed
Revision history for this message
Alex (alexlsh) wrote :

I think this is impossible to add this vte patch to Ubuntu 14.04 LTS (only to future releases). Only one chance to fix mouse scroll in this release is patch to mate-terminal. If you don't add patch to mate-terminal then Ubuntu stay with incorrect scroll for all long LTS period (about 5 years as I remember).
I waiting for this fix on Ubuntu 12.04 LTS and when I go to new 14.04 LTS this bug still there.

Revision history for this message
Martin Wimpress  (flexiondotorg) wrote :

I've published mate-terminal packages to the PPAs for Trusty and Utopic that apply the alternate scroll patch.

Changed in ubuntu-mate:
status: Confirmed → Fix Released
Revision history for this message
Vlad Orlov (monsta) wrote :

Thanks, I confirm that the alternate scroll now works in Ubuntu MATE 14.10.

Revision history for this message
Alex (alexlsh) wrote :

Thanks from me too. I confirm it works now in Ubuntu 14.04.
I really wait this fix for some years. Thanks again.

Revision history for this message
Alex (alexlsh) wrote :

I'm sorry, but I can't scroll in man again.
I have installed Ubuntu 14.04 and Mate 1.8 on my new PC. And now I can scroll in curses-based apps, like mc, but I can't scroll when I read man pages.
Steps to reproduce: open any long man page, for example "man man", try to scroll with mouse wheel. Scrolling doesn't work.

Revision history for this message
Vlad Orlov (monsta) wrote :

Martin, the last mate-terminal changelog in your PPA shows that the alternate scroll patch has been removed...

https://launchpad.net/~ubuntu-mate-dev/+archive/ubuntu/trusty-mate/+files/mate-terminal_1.8.1%2Bdfsg1-2%7Etrusty2_1.8.1%2Bdfsg1-4%7Etrusty1.diff.gz

Revision history for this message
Vlad Orlov (monsta) wrote :

Martin, the version in Vivid repo (1.8.1+dfsg1-4) lacks the alternate scroll patch as well.

Revision history for this message
Martin Wimpress  (flexiondotorg) wrote :

The patch no longer applies cleanly, which is why it is not included anymore.

Revision history for this message
Vlad Orlov (monsta) wrote :

Ok, I'll check if it can be redone for the latest version of mate-terminal.
Looks like the VTE maintainers didn't do anything about my other patch, so I guess we'll have to stick to this one for a while.

Revision history for this message
Alex (alexlsh) wrote :

I think this bug must be reopened and marked "confirmed", but not "fixed".

Revision history for this message
Vlad Orlov (monsta) wrote :

Yes, I think that makes sense.

Changed in ubuntu-mate:
status: Fix Released → Confirmed
Revision history for this message
Martin Wimpress  (flexiondotorg) wrote :

The supplied patch no longer applies cleanly.

Vlad Orlov (monsta)
tags: added: trusty utopic vivid
removed: 14.10 mate terminal
Revision history for this message
Vlad Orlov (monsta) wrote :

Martin, I just applied this patch to mate-terminal 1.8.1+dfsg1-4 in Ubuntu MATE 15.04. It applied cleanly, the package had been built fine after that, and then I've installed it and got the alternate scroll working.
Your PPA for Trusty seems to have the same version of mate-terminal, so the patch should apply cleanly there as well, no?

Changed in mate-terminal (Ubuntu):
importance: Undecided → Low
Revision history for this message
Martin Wimpress  (flexiondotorg) wrote :

This is fixed Ubuntu MATE 15.10 daily images.

Changed in ubuntu-mate:
status: Confirmed → Fix Released
Changed in mate-terminal (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Alex (alexlsh) wrote :

Still not fixed in Ubuntu 14.04 with Mate.

Revision history for this message
Vlad Orlov (monsta) wrote :

Alex, see https://bugs.launchpad.net/bugs/1340687 - the maintainer doesn't want to patch VTE anywhere except for 15.10...

Revision history for this message
Alex (alexlsh) wrote :

This bug was fixed once in Ubuntu 14.04, but after some updates this fi x was removed. Why can't you make patched mate-terminal package for Ubuntu 14.04?

This bug can't count as fully fixed. It's only partially fixed - for selected distro only, not for all supported distros.

If you mark this bug as fixed again (but it is *NOT* fixed), then you enforce me to open new bug for mate-terminal in Ubuntu 14.04 and some other versions, which is not fixed. This bug must be fixed in all supported versions of Ubuntu.

This bug was reported long time ago and I wait fixing it for years. This not acceptable to mark it as fixed, when it is not really fixed.

Revision history for this message
Vlad Orlov (monsta) wrote :

Alex, please comment on the report I mentioned above. The bug should be fixed in VTE library instead. We need to convince the maintainers there to patch it in 14.04 and other stable releases.

Revision history for this message
Oliver Joos (oliver-joos) wrote :

Glad to hear that it will be fixed finally in Ubuntu 15.04 (and hopefully Linux Mint 17.3)!

I just searched for a PPA or a fixed .deb for the brand-new Linux Mint 17.2 which is based on Ubuntu 14.04.2 but now has a mate-terminal 1.10.0 (without the bugfix). Does anyone know a link to a PPA or deb pool with a fixed mate-terminal 1.10.0-xxx.deb?

@Alex: I totally agree! I think it is possible in Launchpad to link a bug to multiple Ubuntu releases/other distros, each link with its own current status. But I am not sure how to do this. Using "Also affects project"? Or "Milestones"? With "Tags"?
Would be interesting if a LaunchPad expert could give advice here!

Revision history for this message
Oliver Joos (oliver-joos) wrote :

I meant "...fixed finally in Ubuntu 15.10"

Revision history for this message
Chris (clk) wrote :

Has this been fixed in Mint Mate 18.0? I'm using 17.3 right now and the bug still persists.

Is there no way to fix it myself?

Revision history for this message
Oliver Joos (oliver-joos) wrote :

I just tested Linux Mint MATE 18.0 on a live USB stick and scrolling by mouse-wheel finally works!
Many thanks to everyone involved!

For Mint 17.x I know 2 solutions:
1. either install and use gnome-terminal instead of mate-terminal
2. or replace /usr/lib/libvte.so.9.2800.2 by one of Debian as I wrote in comment #13

For 2 search for "debian libvte9 0.28.2-5", download libvte9_0.28.2-5_i386.deb (or _amd64.deb), open it with the archive manager, extract "usr/lib/libvte.so.9.2800.2" and copy that file to /usr/lib
(I recommend to make a backup of your existing file first)

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.