Hi,
I just tried to make an extension to give the ability to map the wheel.
So here comes a kind of draft (1st extension + I don't know perl)

advices welcome (in case someone would be interested in)

(I also noticed a problem in the urxvtperl [tabbar section] documentation
as the resources should not be prefixed by the perl extension name ("tabbed")
to have it taken into account) (urxvt 9.05)

Confirmation that $self->x_resource() in on_start() is correct ?
(some extensions use it in on_init)


Raph

On Sun, Sep 20, 2009 at 05:29:02PM +0200, Marc Lehmann wrote:
> On Sun, Sep 20, 2009 at 05:12:34PM +0200, [email protected] wrote:
> > I just discovered the vt100.translations resource
> > 
> > But ... in urxvt it doesn't work and I my attempts to diff
> 
> that's an xterm-specific resource, it has nothing to do with terminal
> emulation or terminfo.
> 
> > In the theory I know it's up to mutt to handle the mouse and the
> 
> It's an option for mutt to do so, it doesn't _have_ to :)
> 
> > anyway urxvt has the mouseWheelScrollPage resource so I still think
> > that the wheel is somewhere internally ""handled"".
> 
> Sure, urxvt handles the mouse wheel. mutt could ask urxvt (or xterm) to get
> sent mouse events instead, but doesn't do so.
> 
> mouse events are not part of keysym handling, btw., with either xterm or
> urxvt.
> 
> the equivalent of the event translations for xterm is a perl extension in
> urxvt, which is vastly more flexible and powerful than the xterm (actually
> Xt) resource method. urxvt is not based on Xt, so xt-specific resources
> don't apply.
> 
> -- 
>                 The choice of a       Deliantra, the free code+content MORPG
>       -----==-     _GNU_              http://www.deliantra.net
>       ----==-- _       generation
>       ---==---(_)__  __ ____  __      Marc Lehmann
>       --==---/ / _ \/ // /\ \/ /      [email protected]
>       -=====/_/_//_/\_,_/ /_/\_\
> 
#! perl

sub on_start {
   my ($self) = @_;

   $self->{onmouseup} = $self->x_resource ("onmouseup");
   $self->{onmousedown} = $self->x_resource ("onmousedown");

   if ( ! $self->{onmouseup}) {
       warn "wheel extension: no 'onmouseup' resource event configured";
    }
    if ( ! $self->{onmousedown}) {
        warn "wheel extension: no 'onmousedown' resource event configured";
    }

   ()
}

sub on_button_press {
    my ($self, $event) = @_;

    if ($event->{button} == 4 && $self->{onmouseup}) {
        $self->tt_write($self->locale_encode($self->{onmouseup}));
    }
    if ($event->{button} == 5 && $self->{onmousedown}) {
        $self->tt_write($self->locale_encode($self->{onmousedown}));
    }

    1
}

_______________________________________________
rxvt-unicode mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/rxvt-unicode

Reply via email to