Quoth [email protected] on Sunday, 01 May 2011: > Hello :-) > > A custom perl script for hotkey pasting X CLIPBOARD into urxvt stopped > working. I am not aware of any system change that coincided with the > breakage, despite keeping logs and using paste in urxvt very frequently. > > ~/.Xresources includes: > > URxvt.keysym.Mod4-v: perl:clipboard:paste > URxvt.perl-ext-common: default,matcher,clipboard > > /usr/lib64/urxvt/perl/clipboard is: > > #! perl > sub on_sel_grab { > my $query = $_[0]->selection; > open (my $pipe,'| /usr/bin/xclip -in -selection clipboard') or die; > 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; > } > } > > The xclip command works at the command prompt. The script's file size and > permissions are the same as when it was installed. I added logging to the > script, for example in the paste sub: > > open(my $logfh, '>>/tmp/urxvt_paste.log') ; > print $logfh "paste: running\n"; > > No logs appeared. I ran urxvt by: > > URXVT_PERL_VERBOSITY=11 urxvt -pe clipboard & > > The trace included: > > urxvt: loading extension '/usr/lib64/urxvt/perl/clipboard' into package > 'urxvt::ext::clipboard' > [used Super+V] > urxvt: USER_COMMAND (urxvt::term=HASH(0x8bfef8), clipboard:paste ) > urxvt: USER_COMMAND returning <> > > It seemed the custom perl script's sub was being called but was not > effective. urxvt 9.10 was removed and re-installed. Same. > > A "hello world" perl script worked. > > Experimenting, I changed the shebang line in /usr/lib64/urxvt/perl/clipboard > to: > > #! /usr/bin/perl > > and tested again. The logs appeared for subs on_user_command and > on_sel_grab but the on_user_command log did not show the "if ($cmd eq > "clipboard:paste")" test passed. > > What can I try now? > > Best > > Charles > >
Grasping at straws here. Maybe try renaming the "paste" function? Or try adding something to the paste function to let you know it got there? I often just do a print and then by starting urxvt from a shell prompt you can see the print output in the parent shell. -- .O. | Sterling (Chip) Camden | http://camdensoftware.com ..O | [email protected] | http://chipsquips.com OOO | 2048R/D6DBAF91 | http://chipstips.com
pgpXLmRm49qzP.pgp
Description: PGP signature
_______________________________________________ rxvt-unicode mailing list [email protected] http://lists.schmorp.de/cgi-bin/mailman/listinfo/rxvt-unicode
