2010年4月29日 星期四

Urxvt clipboard copy and paste


Makes urxvt could talk to CLIPBOARD like gnome-terminal or konsole alike. ##ReadMore##

  1. save following content as /usr/lib/urxvt/perl/clipboard: #! perl -w # Usage: # URxvt.perl-ext-common: clipboard # URxvt.keysym.Mod4-c: perl:clipboard:copy # URxvt.keysym.Mod4-v: perl:clipboard:paste # consult command "xmodmap" to see what your modifier mapped into. sub copy { my ($self) = @_; my $pid = open( pout, "| xsel -ib" ) or die "fork"; print pout $self->selection; close(pout) or die "close"; } sub paste { my ($self) = @_; my $content = `xsel -ob` ; $self->tt_write ($content); } sub on_user_command { my ($self, $cmd) = @_; if ($cmd eq "clipboard:copy") { $self->copy; } if ($cmd eq "clipboard:paste") { $self->paste; } }
  2. make sure the Super key is mapped into Mod4 by command xmodmap: $ xmodmap xmodmap: up to 4 keys per modifier, (keycodes in parentheses): shift Shift_L (0x32), Shift_R (0x3e) lock Caps_Lock (0x42) control Control_L (0x25), Control_R (0x69) mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd) mod2 Num_Lock (0x4d) mod3 mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf) mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
  3. load script and define keybindings in ~/.Xdefaults: urxvt.perl-ext-common:clipboard urxvt.keysym.Mod4-c:perl:clipboard:copy urxvt.keysym.Mod4-v:perl:clipboard:paste

沒有留言:

張貼留言