Posting my solution to the list, so that others can find it. It appears to
be a bug (or at least a not-useful handling of a non-event, it's hard to
tell) that was fixed by Steven below and incorporated into Putty-X (
https://github.com/atsepkov/putty-X ).
Since Putty-X doesn't release binaries, the hard part was actually
compiling. (For those googling this later, I never could get it to work on
windows, but cross-compiling from Linux with mingw worked perfectly (
http://blog.myconan.net/posts/3311 ).)
The patch itself:
https://github.com/atsepkov/putty-X/commit/bbcedf5a85ca1ccaa27005e7f7ebeb4c8a783b88.
Maybe it'll find its way into stock putty some day. :D
---------- Forwarded message ----------
From: Steven Lu <stevenlu...@gmail.com>
Date: Tue, Jan 14, 2014 at 12:46 PM
Subject: Regarding putty + tmux + vim issue mouse scrolling up
To: alfic...@gmail.com
Hi there,
I saw you posted on gmane about this issue, I couldn't figure out just yet
how to respond properly on that mailing list, but I did used to know the
root of this problem and it is a PUTTY specific problem (though the other
programs are complicit in interpreting erroneous characters output by PUTTY
which eventually produce undesired behavior).
May I direct you to my github where I have a putty fork (with a working
.exe compiled via 32 bit mingw) that has the fix for this:
https://github.com/unphased/putty-X
There are a few different branches from my fork and the original putty-X
which a coworker of mine created initially, hopefully one of them will work
for you. Please feel free to pass this email along to the main discussion
so others can follow the trail.
Thanks and let me know if you have questions.
Steven
On Thu, Jan 9, 2014 at 2:59 PM, Chris Lemmons <alfic...@gmail.com> wrote:
> > :set mouse?
> mouse=a
>
> > :set ttymouse?
> ttymouse=xterm
>
> > Also, what do you get when you run "cat -v" in the terminal, and scroll?
> tmux enters copy-mode and begins to scroll.
>
> > What version of tmux?
> $ tmux -V
> tmux 1.8
>
> > What is $TERM inside and outside of tmux?
> $ echo $TERM
> xterm
> $ tmux
> $ echo $TERM
> screen
>
> > Also, start a new tmux server with '-vvvv' flags
> > and send the logs to the list when it occurs
>
> The logs are super-verbose. So I'm clipping out just the part where the
> scroll up occurs. I added a pair of lines to my .vimrc so I could see the
> results in the input section:
> :map <ScrollWheelUp> a UP <ESC>
> :map <ScrollWheelDown> a DOWN <ESC>
>
> This is a clipping from the result of just a single "scroll up". To my
> noobish eyes, it appears that the "key release" event (^[[<64;30;28m) is
> being interpreted as "Scroll Down" for some reason.
>
> keys are 24 (^[[<64;30;28M^[[<64;30;28m)
> mouse input (sgr): *^[[<64;30;28M*
> complete key ^[[<64;30;28M 0x1000
> keys are 12 (^[[<64;30;28m)
> mouse input (sgr): *^[[<64;30;28m*
> complete key ^[[<64;30;28m 0x1000
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '?' csi_enter
> input_parse: '2' csi_parameter
> input_parse: '5' csi_parameter
> input_parse: 'l' csi_parameter
> input_csi_dispatch: 'l' "?" "25"
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '1' csi_enter
> input_parse: '1' csi_parameter
> input_parse: '7' csi_parameter
> input_parse: ';' csi_parameter
> input_parse: '1' csi_parameter
> input_parse: '1' csi_parameter
> input_parse: '5' csi_parameter
> input_parse: 'H' csi_parameter
> input_csi_dispatch: 'H' "" "117"
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: 'K' csi_enter
> input_csi_dispatch: 'K' "" ""
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '1' csi_enter
> input_parse: ';' csi_parameter
> input_parse: '3' csi_parameter
> input_parse: '6' csi_parameter
> input_parse: 'H' csi_parameter
> input_csi_dispatch: 'H' "" "1"
> *input_parse: 'U' ground*
> *input_parse: 'P' ground*
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '1' csi_enter
> input_parse: '1' csi_parameter
> input_parse: '7' csi_parameter
> input_parse: ';' csi_parameter
> input_parse: '1' csi_parameter
> input_parse: '1' csi_parameter
> input_parse: '5' csi_parameter
> input_parse: 'H' csi_parameter
> input_csi_dispatch: 'H' "" "117"
> input_parse: '1' ground
> input_parse: ',' ground
> input_parse: '3' ground
> input_parse: '8' ground
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '1' csi_enter
> input_parse: '0' csi_parameter
> input_parse: 'C' csi_parameter
> input_csi_dispatch: 'C' "" "10"
> input_parse: 'A' ground
> input_parse: 'l' ground
> input_parse: 'l' ground
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '1' csi_enter
> input_parse: ';' csi_parameter
> input_parse: '3' csi_parameter
> input_parse: '8' csi_parameter
> input_parse: 'H' csi_parameter
> input_csi_dispatch: 'H' "" "1"
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '3' csi_enter
> input_parse: '4' csi_parameter
> input_parse: 'h' csi_parameter
> input_csi_dispatch: 'h' "" "34"
> input_csi_dispatch: unknown 'h'
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '?' csi_enter
> input_parse: '2' csi_parameter
> input_parse: '5' csi_parameter
> input_parse: 'h' csi_parameter
> input_csi_dispatch: 'h' "?" "25"
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '?' csi_enter
> input_parse: '2' csi_parameter
> input_parse: '5' csi_parameter
> input_parse: 'l' csi_parameter
> input_csi_dispatch: 'l' "?" "25"
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '1' csi_enter
> input_parse: '1' csi_parameter
> input_parse: '7' csi_parameter
> input_parse: ';' csi_parameter
> input_parse: '1' csi_parameter
> input_parse: '1' csi_parameter
> input_parse: '5' csi_parameter
> input_parse: 'H' csi_parameter
> input_csi_dispatch: 'H' "" "117"
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: 'K' csi_enter
> input_csi_dispatch: 'K' "" ""
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '1' csi_enter
> input_parse: ';' csi_parameter
> input_parse: '4' csi_parameter
> input_parse: '0' csi_parameter
> input_parse: 'H' csi_parameter
> input_csi_dispatch: 'H' "" "1"
> *input_parse: 'D' ground*
> *input_parse: 'O' ground*
> *input_parse: 'W' ground*
> *input_parse: 'N' ground*
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '1' csi_enter
> input_parse: '1' csi_parameter
> input_parse: '7' csi_parameter
> input_parse: ';' csi_parameter
> input_parse: '1' csi_parameter
> input_parse: '1' csi_parameter
> input_parse: '5' csi_parameter
> input_parse: 'H' csi_parameter
> input_csi_dispatch: 'H' "" "117"
> input_parse: '1' ground
> input_parse: ',' ground
> input_parse: '4' ground
> input_parse: '4' ground
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '1' csi_enter
> input_parse: '0' csi_parameter
> input_parse: 'C' csi_parameter
> input_csi_dispatch: 'C' "" "10"
> input_parse: 'A' ground
> input_parse: 'l' ground
> input_parse: 'l' ground
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '1' csi_enter
> input_parse: ';' csi_parameter
> input_parse: '4' csi_parameter
> input_parse: '4' csi_parameter
> input_parse: 'H' csi_parameter
> input_csi_dispatch: 'H' "" "1"
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '3' csi_enter
> input_parse: '4' csi_parameter
> input_parse: 'h' csi_parameter
> input_csi_dispatch: 'h' "" "34"
> input_csi_dispatch: unknown 'h'
> input_parse: '^[' ground
> input_parse: '[' esc_enter
> input_parse: '?' csi_enter
> input_parse: '2' csi_parameter
> input_parse: '5' csi_parameter
> input_parse: 'h' csi_parameter
> input_csi_dispatch: 'h' "?" "25"
>
>
>
>
> On Wed, Jan 8, 2014 at 8:36 AM, Ben Boeckel <maths...@gmail.com> wrote:
>
>> On Tue, 07 Jan, 2014 at 19:11:51 GMT, Chris Lemmons wrote:
>> > I know it's a long shot, but I'm hoping that either somebody here has
>> > encountered and knows the solution to such a problem or has debugging
>> tips
>> > that might get me pointed in the right direction.
>>
>> What version of tmux? What is $TERM inside and outside of tmux? Also,
>> start a new tmux server with '-vvvv' flags and send the logs to the list
>> when it occurs (typing 'before scroll' and 'after scroll' into vim
>> should help narrow down the offending part).
>>
>> --Ben
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Rapidly troubleshoot problems before they affect your business. Most IT
>> organizations don't have a clear picture of how application performance
>> affects their revenue. With AppDynamics, you get 100% visibility into your
>> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics
>> Pro!
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
>> _______________________________________________
>> tmux-users mailing list
>> tmux-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/tmux-users
>>
>
>
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users