Esta pagina se ve mejor con JavaScript habilitado

Urxvt tips I

 ·  🎃 kr0m

Urxvt es un emulador de terminal altamente configurable, este nos permite un amplio abanico de configuraciones, además tiene soporte para scripts en perl con lo que las posibilidades son ilimitadas.

Cuantas veces nos abremos encontrado en la situación en la que seleccionamos un texto desde un terminal y queremos pegarlo en un navegador web pero para pegar en el lugar correcto hay que seleccionar primero el texto para borrarlo, perdiendo de este modo el texto original.

Con unas capturas de pantalla se verá mejor.
Aquí podemos ver como selecciono a la izquierda en la consola el texto que quiero pegar en google:

En esta otra hemos tenido que seleccionar el texto que había en la busqueda de google para poder pegar el texto de la consola, con lo que hemos perdido la selección de la consola:

Para solventar esto recurriremos a una pequeña herramienta llamada xclip con la que podemos gestionar tanto el buffer de selección(el utilizado por el botón de en medio) y el otro(Ctrl+V):

pkg install xclip
emerge -av x11-misc/xclip

Ahora un poco de magia en Urxvt, según el sistema operativo que utilicemos el path de las extensiones de urxvt estarán en un sitio u otro:

/usr/local/lib/urxvt/perl/kr0m
/usr/lib64/urxvt/perl/kr0m

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

Cargamos nuestro modulo perl:

vi .Xresources

URxvt.perl-ext-common: default,kr0m

Recargamos la config:

xrdb -load .Xresources

Y ya lo tenemos, ahora cuando seleccionemos y peguemos en el navegador perderemos el texto como antes pero mediante Crtl+V podemos acceder al buffer que nos interesa.

Si te ha gustado el artículo puedes invitarme a un RedBull aquí