Menu

#127 Smooth scrolling jumps

Next_release
open
nobody
None
1
2019-04-24
2016-04-28
Anonymous
No

GTK3's smooth scrolling (which is available on e.g. touchpads) causes the view to jump.

Every 5 lines that are scrolled smoothly, it jumps ahead an additional 4-5 lines. i.e. the progression is 1-1-1-1-4-1-1-1-1-4 which is not very smooth at all.

Discussion

  • Tony Houghton

    Tony Houghton - 2016-04-28

    I remember noticing something like that a while ago actually, but roxterm just lets GTK or vte handle any scroll events itself, so I've no idea what I can do about it :-(. It's probably related to #126.

     
  • haarp

    haarp - 2016-04-28

    Hmm, I just tried Gnome-Terminal, and unlike Roxterm, it scrolls smoothly. What could the difference be? Both use vte and GTK3.

     
  • Egmont Koblinger

    I can reproduce it with vte-0.42 + roxterm, but not with vte-0.42 + any other vte-based emulator. I have absolutely no clue what could go wrong.

    I cannot, however, reproduce with vte-0.44 + roxterm. Note that vte-0.44 changed a lot in the scrolling code (and introduced super smooth scrolling, that is, it scrolls by pixels instead of character rows).

     
  • haarp

    haarp - 2016-05-11

    I suspect that smooth scrolling is activated in parallel with regular scrolling. Thus you get the smooth line-by-line steps, but also large steps every 5 lines.

    @Egmont: I can still reproduce it even with vte 0.44. Scrolling is super smooth, but it's also still jumping every 5 lines.

     
  • Egmont Koblinger

    I played a bit with 0.42 ./configure --enable-debug; followed by VTE_DEBUG=events roxterm.

    vte_terminal_scroll(), which is a static method and is only used when being assigned to widget_class->scroll_event, is usually being called with event->direction being GDK_SCROLL_SMOOTH (that's okay), and is also sometimes being called with GDK_SCROLL_UP/DOWN which is totally mysterious to me. The latter one does not necessarily occur at the same time when a SMOOTH scroll event actually happens to scroll by a line.

    I suspect that smooth scrolling is activated in parallel with regular scrolling.

    Yup, it seems so. But why, and whose fault is it???

     

    Last edit: Egmont Koblinger 2016-05-13
  • Egmont Koblinger

    I tried with gnome-terminal, the two vte test apps included in vte's tarball, terminator (gtk3 branch), terminix, sakura, tilda. None of them suffers from this problem, only roxterm.

     
  • Egmont Koblinger

    I still cannot reproduce with 0.44, which has the advantage that I could perform a (reverse) git bisect.

    For me, the scrolling behavior is fixed by https://git.gnome.org/browse/vte/commit/?id=0612f40 [Use a input-only window: https://bugzilla.gnome.org/show_bug.cgi?id=734920]

    I hope this helps.

     

    Last edit: Egmont Koblinger 2016-05-14
  • Tony Houghton

    Tony Houghton - 2016-06-20

    Thanks for your input, but I'm afraid I've decided to discontinue development of roxterm. See [https://sourceforge.net/p/roxterm/discussion/422638/thread/60da6975/]

     
  • Egmont Koblinger

    Just for the record: someone's now facing the same bug in gnome-terminal: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=843642

     
  • haarp

    haarp - 2017-05-13

    I finally figured this out! It's not Roxterm's fault after all.

    I had set GTK_IM_MODULE=xim. This causes this behavior in a couple of GTK3 applications. GTK_IM_MODULE=none solves this.

     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB