From deee38454aed9bffd270f2ec8a4bcae6d34bc398 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Sat, 26 Apr 2014 22:42:30 +1200 Subject: Replace clipboard urxvt with abbreviated script I didn't need the keybindings or the paste functionality, just the autocopy feature. --- urxvt/clip | 22 ++++++++++++ urxvt/clipboard | 109 -------------------------------------------------------- 2 files changed, 22 insertions(+), 109 deletions(-) create mode 100644 urxvt/clip delete mode 100644 urxvt/clipboard (limited to 'urxvt') diff --git a/urxvt/clip b/urxvt/clip new file mode 100644 index 00000000..ce698328 --- /dev/null +++ b/urxvt/clip @@ -0,0 +1,22 @@ +#!/usr/bin/env perl + +# Copy PRIMARY selections to the clipboard too with xsel(1). + +use strict; +use warnings; + +sub on_start { + my ($self) = @_; + $self->enable( sel_grab => \&clip ); + return; +} + +sub clip { + my ($self) = @_; + if ( open CLIPBOARD, '| xsel -ib' ) { + print CLIPBOARD $self->selection(); + close CLIPBOARD; + } + return; +} + diff --git a/urxvt/clipboard b/urxvt/clipboard deleted file mode 100644 index 8e71792f..00000000 --- a/urxvt/clipboard +++ /dev/null @@ -1,109 +0,0 @@ -#! perl -w -# Author: Bert Muennich -# Website: http://www.github.com/muennich/urxvt-perls -# License: GPLv2 - -# Use keyboard shortcuts to copy the selection to the clipboard and to paste -# the clipboard contents (optionally escaping all special characters). -# Requires xsel to be installed! - -# Usage: put the following lines in your .Xdefaults/.Xresources: -# URxvt.perl-ext-common: ...,clipboard -# URxvt.keysym.M-c: perl:clipboard:copy -# URxvt.keysym.M-v: perl:clipboard:paste -# URxvt.keysym.M-C-v: perl:clipboard:paste_escaped - -# Options: -# URxvt.clipboard.autocopy: If true, PRIMARY overwrites clipboard - -# You can also overwrite the system commands to use for copying/pasting. -# The default ones are: -# URxvt.clipboard.copycmd: xsel -ib -# URxvt.clipboard.pastecmd: xsel -ob -# If you prefer xclip, then put these lines in your .Xdefaults/.Xresources: -# URxvt.clipboard.copycmd: xclip -i -selection clipboard -# URxvt.clipboard.pastecmd: xclip -o -selection clipboard -# On Mac OS X, put these lines in your .Xdefaults/.Xresources: -# URxvt.clipboard.copycmd: pbcopy -# URxvt.clipboard.pastecmd: pbpaste - -# The use of the functions should be self-explanatory! - -use strict; - -sub on_start { - my ($self) = @_; - - $self->{copy_cmd} = $self->x_resource('clipboard.copycmd') || 'xsel -ib'; - $self->{paste_cmd} = $self->x_resource('clipboard.pastecmd') || 'xsel -ob'; - - if ($self->x_resource('clipboard.autocopy') eq 'true') { - $self->enable(sel_grab => \&sel_grab); - } - - () -} - -sub copy { - my ($self) = @_; - - if (open(CLIPBOARD, "| $self->{copy_cmd}")) { - my $sel = $self->selection(); - utf8::encode($sel); - print CLIPBOARD $sel; - close(CLIPBOARD); - } else { - print STDERR "error running '$self->{copy_cmd}': $!\n"; - } - - () -} - -sub paste { - my ($self) = @_; - - my $str = `$self->{paste_cmd}`; - if ($? == 0) { - $self->tt_paste($str); - } else { - print STDERR "error running '$self->{paste_cmd}': $!\n"; - } - - () -} - -sub paste_escaped { - my ($self) = @_; - - my $str = `$self->{paste_cmd}`; - if ($? == 0) { - $str =~ s/([!#\$%&\*\(\) ='"\\\|\[\]`~,<>\?])/\\\1/g; - $self->tt_paste($str); - } else { - print STDERR "error running '$self->{paste_cmd}': $!\n"; - } - - () -} - -sub on_user_command { - my ($self, $cmd) = @_; - - if ($cmd eq "clipboard:copy") { - $self->copy; - } elsif ($cmd eq "clipboard:paste") { - $self->paste; - } elsif ($cmd eq "clipboard:paste_escaped") { - $self->paste_escaped; - } - - () -} - -sub sel_grab { - my ($self) = @_; - - $self->copy; - - () -} -- cgit v1.2.3