diff options
author | Gregor Kleen <gkleen@yggdrasil.li> | 2022-10-03 17:15:36 +0200 |
---|---|---|
committer | Gregor Kleen <gkleen@yggdrasil.li> | 2022-10-03 17:15:36 +0200 |
commit | 9248259708bd6ade5e334a2cdfb29d2a20acb0dd (patch) | |
tree | 976a140d547557c8cdf98856510030fd35b83d1a /overlays/urxvt | |
parent | 59e54bd97f70711573d321f2d2aeee5da46bf95d (diff) | |
download | nixos-9248259708bd6ade5e334a2cdfb29d2a20acb0dd.tar nixos-9248259708bd6ade5e334a2cdfb29d2a20acb0dd.tar.gz nixos-9248259708bd6ade5e334a2cdfb29d2a20acb0dd.tar.bz2 nixos-9248259708bd6ade5e334a2cdfb29d2a20acb0dd.tar.xz nixos-9248259708bd6ade5e334a2cdfb29d2a20acb0dd.zip |
...
Diffstat (limited to 'overlays/urxvt')
-rw-r--r-- | overlays/urxvt/52-osc.pl | 41 | ||||
-rw-r--r-- | overlays/urxvt/default.nix | 21 |
2 files changed, 0 insertions, 62 deletions
diff --git a/overlays/urxvt/52-osc.pl b/overlays/urxvt/52-osc.pl deleted file mode 100644 index 3292e8c4..00000000 --- a/overlays/urxvt/52-osc.pl +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | #! perl | ||
2 | |||
3 | =head1 NAME | ||
4 | |||
5 | 52-osc - Implement OSC 32 ; Interact with X11 clipboard | ||
6 | |||
7 | =head1 SYNOPSIS | ||
8 | |||
9 | urxvt -pe 52-osc | ||
10 | |||
11 | =head1 DESCRIPTION | ||
12 | |||
13 | This extension implements OSC 52 for interacting with system clipboard | ||
14 | |||
15 | Most code stolen from: | ||
16 | http://ailin.tucana.uberspace.de/static/nei/*/Code/urxvt/ | ||
17 | |||
18 | =cut | ||
19 | |||
20 | use MIME::Base64; | ||
21 | use Encode; | ||
22 | |||
23 | sub on_osc_seq { | ||
24 | my ($term, $op, $args) = @_; | ||
25 | return () unless $op eq 52; | ||
26 | |||
27 | my ($clip, $data) = split ';', $args, 2; | ||
28 | if ($data eq '?') { | ||
29 | # my $data_free = $term->selection(); | ||
30 | # Encode::_utf8_off($data_free); # XXX | ||
31 | # $term->tt_write("\e]52;$clip;".encode_base64($data_free, '')."\a"); | ||
32 | } | ||
33 | else { | ||
34 | my $data_decoded = decode_base64($data); | ||
35 | Encode::_utf8_on($data_decoded); # XXX | ||
36 | $term->selection($data_decoded, $clip =~ /c|^$/); | ||
37 | $term->selection_grab(urxvt::CurrentTime, $clip =~ /c|^$/); | ||
38 | } | ||
39 | |||
40 | () | ||
41 | } | ||
diff --git a/overlays/urxvt/default.nix b/overlays/urxvt/default.nix deleted file mode 100644 index 77a2c51f..00000000 --- a/overlays/urxvt/default.nix +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | { final, prev, ... }: { | ||
2 | rxvt_unicode-with-plugins = prev.rxvt-unicode.override { | ||
3 | configure = { availablePlugins, ... }: { | ||
4 | plugins = [ final.urxvt_osc_52 ] ++ builtins.attrValues availablePlugins; | ||
5 | }; | ||
6 | }; | ||
7 | urxvt_osc_52 = prev.stdenv.mkDerivation { | ||
8 | name = "rxvt_unicode-osc_52-0"; | ||
9 | src = ./52-osc.pl; | ||
10 | unpackPhase = '' | ||
11 | cp $src 52-osc | ||
12 | ''; | ||
13 | buildPhase = '' | ||
14 | sed -i 's|#! perl|#! ${final.perl}/bin/perl|g' 52-osc | ||
15 | ''; | ||
16 | installPhase = '' | ||
17 | mkdir -p $out/lib/urxvt/perl | ||
18 | cp 52-osc $out/lib/urxvt/perl | ||
19 | ''; | ||
20 | }; | ||
21 | } | ||