Urxvt tabbed(ex) scroll doesn't work when mouse is not inside urxvt window

Martin Pohlack mp26 at os.inf.tu-dresden.de
Sat Mar 1 11:59:37 CET 2014


It looks to me as if Shift-PgUp and similar events are directly consumed
in the master terminal in command.C:rxvt_term::key_press() starting
around here:

...
      if (saveLines)
        {
#ifdef UNSHIFTED_SCROLLKEYS
          if (!ctrl && !meta)
#else
          if (IS_SCROLL_MOD)
#endif
            {
              int lnsppg;
...

There is no hook invoked before that, which could transfer the key
events to the embedded child terminal (from tabbed).

When I dump "this" in screen.C:rxvt_term::scr_changeview() I get the
address of the master instance when keys are sent without mouse focus
and the address of the child instance when mouse is directly over the
embedded terminal.

Intuitively, a hook should be inserted somewhere at the start of
key_press() to allow for childs to do a full event consumptions.
Details are tricky though.

Martin

On 28.02.2014 19:03, Martin Pohlack wrote:
> Hi again,
> 
> I also observe the problem with xfce and focus follows mouse.
> 
> I think the difference is, which instance of urxvt receives and cooks
> the key sequence, so whether the embedded tab instances receive events
> directly or whether the outer instances receives, processes, and
> forwards them.
> 
> Last time I instrumented the relevant code path with printfs to gain
> some clarity ... maybe I find the time again in the next weeks.
> 
> Martin
> 
> On 28.02.2014 08:01, Vas No Medas wrote:
>> Hello again.
>>
>> I've tried installing rxvt-unicode 9.15 and rxvt-unicode 9.14, enabled
>> tabbed extension there and the bug was also there. (At  first I though
>> that it was broken again after 9.15)
>>
>> Also I thought that it could be a problem with awesome, so I installed
>> xubuntu on virtualbox, launch rxvt-unicode 9.18 + tabbed there and tried
>> scrolling up-down with Shift+PageUp/PageDown and it also didn't work
>> when mouse pointer was not in window.
>>
>> I also tried diving with gdb in rxvt-unicode source code to see where it
>> differs between when mouse pointer is inside/outside, but haven't
>> succeeded. Maybe anyone knows why and how it detects mouse outside window?
>>
>> Vas
>>
>>
>> On Mon, Feb 24, 2014 at 3:31 AM, Michael Traxler <M.Traxler at gsi.de
>> <mailto:M.Traxler at gsi.de>> wrote:
>>
>>     Hi,
>>
>>     I can verify the wrong behaviour of urxvt-9.19 and tabbedex together
>>     with
>>     awesome and the shift-page-up/down. Only works if the mouse is in the
>>     terminal, even though the focus is on urxvt (never dared to report!).
>>
>>     shift-cursor-left/right to change the tab is working without
>>     problems even if
>>     the mouse is outside of urxvt.
>>
>>     Michael
>>
>>     ------------------------------__---------
>>
>>
>>     On Sun, 23 Feb 2014, Vas No Medas wrote:
>>
>>         Hi, Martin!
>>
>>         I've disabled the scrolling redefinition. Now I can't scroll
>>         line-by-line
>>         with Shift+Up/Down.
>>         Shift+PageUp/PageDown (I haven't redefined it) works only when
>>         mouse is
>>         inside urxvt.
>>         I've also investigated a bit:
>>         Alt+S (searchable-scrollback) works even if mouse is outside.
>>         Ctrl+Shift+Up/Down/Left/Right work even if mouse is outside.
>>
>>         I've also tried disabling
>>         !URxvt*.iso14755: false
>>         !URxvt*.iso14755_52: false
>>         But still no luck.
>>
>>
>>
>>         On Sun, Feb 23, 2014 at 8:58 PM, Martin Pohlack
>>         <mp26 at os.inf.tu-dresden.de
>>         <mailto:mp26 at os.inf.tu-dresden.de>>__wrote:
>>
>>             Hi,
>>
>>             your resources do contain redefinitions for scrolling:
>>
>>               URxvt*.keysym.Shift-Up: command:\033]720;1\007
>>               URxvt*.keysym.Shift-Down: command:\033]721;1\007
>>
>>             Do you still see the problem if you use the defaults there
>>             (remove them)
>>             + reload X resources (or logout / login)?
>>
>>             If you trace the processing of the key sequences, I would
>>             assume that
>>             they are processed in the main instance and not the tabbed
>>             ones and
>>             therefore never arrive in the specific instances.
>>
>>             Martin
>>
>>             On 23.02.2014 13:48, Vas No Medas wrote:
>>
>>                 Hello!
>>
>>                 I have awesome WM and urxvt v9.19 with tabbed plugin
>>                 enabled. Also I
>>                 scroll with Shift+Up/Down. When I switch focus to my
>>                 urxvt terminal but
>>                 leave mouse outside, Shift+Up/Down has no effect.
>>                 However, if I move the
>>                 mouse in, scrolling works just right.
>>
>>                 Also when I disable tabbed plugin, scrolling works in
>>                 all cases. I've
>>                 tried tabbedex, but the situation is still the same.
>>
>>                 I've found a similar bugreport
>>                 https://bugs.debian.org/cgi-__bin/bugreport.cgi?bug=511377
>>                 <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=511377>
>>                 which says that
>>                 this was fixed in 9.14-15
>>                 The solution there was to add on_tt_write handler. My
>>                 perl/tabbed file
>>                 also has on_tt_write handler but it seems that it is
>>                 never called (tried
>>                 putting warn in it)
>>
>>                 Here is my ~/.Xresources file:
>>
>>             http://bpaste.net/show/__AddbC9C0d9U7qovNAa0R/
>>             <http://bpaste.net/show/AddbC9C0d9U7qovNAa0R/>
>>
>>
>>                 Also would be great if you could tell if you were able
>>                 to reproduce the
>>
>>             bug
>>
>>
>>
>>                 _________________________________________________
>>                 rxvt-unicode mailing list
>>                 rxvt-unicode at lists.schmorp.de
>>                 <mailto:rxvt-unicode at lists.schmorp.de>
>>                 http://lists.schmorp.de/cgi-__bin/mailman/listinfo/rxvt-__unicode
>>                 <http://lists.schmorp.de/cgi-bin/mailman/listinfo/rxvt-unicode>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> rxvt-unicode mailing list
>> rxvt-unicode at lists.schmorp.de
>> http://lists.schmorp.de/cgi-bin/mailman/listinfo/rxvt-unicode
>>
> 
> 
> _______________________________________________
> rxvt-unicode mailing list
> rxvt-unicode at lists.schmorp.de
> http://lists.schmorp.de/cgi-bin/mailman/listinfo/rxvt-unicode
> 





More information about the rxvt-unicode mailing list