On 03/06/11 15:30, [email protected] wrote:
Date: Thu, 2 Jun 2011 23:49:39 -0500
From: Trey Blancher <[email protected]>
To: [email protected]
Subject: Problem with executing keysym events
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8

I have two issues. One, the clipboard copy event is triggered, but it
appears the code is not executed. Also, the new_tab event is
triggered, but the standard urxvt::tabbed new_tab sub doesn't appear
to be executed

I have the following in .Xdefaults:

URxvt.perl-lib: /home/trey/urxvt
!... other stuff omitted
URxvt.keysym.Shift-Control-C: perl:clipboard:copy
URxvt.keysym.Shift-Control-V: perl:clipboard:paste
URxvt.keysym.Shift-Control-T: perl:tabbed:new_tab

And I have the following ~/urxvt/clipboard

#! perl
sub on_sel_grab {
my $query = $_[0]->selection;
open (my $pipe,'| /usr/bin/xclip -in -selection primary') or die;
print $pipe $query;
close $pipe;
}

# the following is my effort to get clipboard copy working.
sub copy {
urxvt::warn "DEBUG: Entering clipbooard:copy sub..." ;
my $query = $_[0]->selection;
#open (my $pipe,'| /usr/bin/xclip -in -selection clipboard') or die;
#open (my $pipe,'| /usr/bin/xsel --input --clipboard') or die;
urxvt::warn "DEBUG: Calling xsel..." ;
system("echo $query | /usr/bin/xsel --input --clipboard") ;
#urxvt::warn "DEBUG: \$trash = $trash" ;
#print $pipe $query;
#close $pipe;
}
sub paste {
my ($self) = @_;

my $content = `/usr/bin/xclip -loop 1 -out -selection clipboard` ;
$self->tt_write ($content);
}
sub on_user_command {
my ($self, $cmd) = @_;
if ($cmd eq "clipboard:paste") {
$self->paste;
}
}

I have launched urxvt with "URXVT_PERL_VERBOSITY=11 urxvt", and all
the perl modules are loading with no problems as far as I can tell.
During troubleshooting, I'd break the clipboard module, and none of
the modules would load. With all the modules loaded properly I get
the following events when the keysyms fail:


urxvt: USER_COMMAND (urxvt::term=HASH(0x294d3c0), clipboard:copy)
urxvt: USER_COMMAND returning <>
...
urxvt: USER_COMMAND (urxvt::term=HASH(0x294d3c0), tabbed:new_tab)
urxvt: USER_COMMAND returning <>

None of the debug code I entered show up, which leads me to believe
it's not getting executed. What's so maddening about this, is when I
copy something to the clipboard in another window, and hit
CTRL-SHIFT-V in urxvt, it pastes as expected, and I see the following
event in the debug:

urxvt: USER_COMMAND (urxvt::term=HASH(0x294d3c0), clipboard:paste)
urxvt: USER_COMMAND returning <>

As far as I can tell, there's no difference, it's just not executing
the clipboard:copy or tabbed:new_tab code, and I can't figure out why.
I'm coming from gnome-terminal, and I see a lot of promise with
urxvt, but not having a point-and-click GUI makes it rather opaque.
Not that I'm suggesting it should have a point and click GUI, it just
takes longer to come up to speed.

Hello :-)

I'm no expert but it has been a while since you posted and I do know a little about copy+paste ...

urxvt normally uses Control+Shift to open a dialogue for entering characters by hex code (or something like that -- I have never used it) and AFAIK this is not configurable during build so it is surprising that your URxvt.keysym.Shift-Control-C line results in running clipboard:copy as shown when running with URXVT_PERL_VERBOSITY=11. How did you install urxvt?

urxvt follows the X convention of automatically copying text selected by the user to the PRIMARY buffer. Other applications following the X convention can paste from there but most desktop applications paste from the CLIPBOARD buffer (most commonly with Control+V). This creates the convenient possibility of configuring/customising urxvt to automatically copy text selections to the CLIPBOARD buffer, thus doing away with the need for you to use a key combination to copy selected text ready for pasting.

If you are interested I can upload my own files somewhere which do exactly as above and use Super/Windows+V to paste into urxvt.

Best

Charles


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

Reply via email to