En el menú de GNOME tenemos la opción la opción Abrir en una terminal que abre dicha carpeta en una terminal de GNOME ¿Que pasa si en lugar de la terminal por defecto usamos algo diferente como Guake? Ahí no tenemos la opción de cambiar y yendo mas lejos aun ¿Si lo queremos abrir en Guake y en un programa en especifico?

Por otro lado si bien es verdad que tenemos la posibilidad de usar el menú Abrir con otra aplicación y seleccionar una aplicación de GNOME no solo no es muy practico por la cantidad de clics sino que ademas surge la pregunta de ¿Que pasa si lo queremos abrir en un programa de consola en lugar de una de GNOME ?

Digamos por ejemplo lo que queremos abrir un archivo en VIM y encima de todo en una pestaña de Guake? Si, lo se, soy bastante exigente con lo que quiero aunque para eso uso Linux después de todo, básicamente lo que quiero hacer es lo siguiente:

Para lograrlo lo primero es crear el siguiente directorio:

mkdir -p ~/.local/share/nautilus/scripts

Luego que tenemos el directorio dentro del el creamos un archivo llamado Abrir en VIM (Guake) así con espacios y todo ubicando en ~/.local/share/nautilus/scripts y dentro colocamos:

#!/bin/bash
guake-toggle
echo -e "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | xargs -i guake -n " " -r "vim" -e "vim {}" 

El primer comando desplegara la ventana de Guake y en el segundo mediante la variable NAUTILUS_SCRIPT_SELECTED_FILE_PATHS se le pasa a Guake la ruta del archivo y este (por guake) ejecutara VIM pasando le la ruta del archivo como argumento, a su vez renombrar la nueva pestaña como el nombre vim

Al hacer botón derecho sobre un archivo y seleccionar Scripts -> Abrir en VIM (Guake)  automáticamente se desplegara Guake y en una nueva pestaña mostrara en VIM el archivo seleccionado.

Por otro lado también podemos duplicar la función Abrir en una terminal aunque esta vez para que abra en Guake en lugar de la terminal predeterminada podemos crear un archivo dentro de la carpeta ~/.local/share/nautilus/scripts crear un archivo llamado Abrir esta carpeta en guake y dentro el siguiente contenido:

#!/bin/bash

guake-toggle
current_nautilus_path=$(echo "$NAUTILUS_SCRIPT_CURRENT_URI" | sed -e 's/%/\\x/g' -e 's_^file://__' | xargs -0 printf "%b")
guake -n " " -e "cd $current_nautilus_path"

Los scripts no necesitan estar en bash, puede ser en cualquier lenguaje y las variables de entorno sean pasados a estos de igual forma que en bash y estarán disponibles en los scripts, aparte de las dos usadas aquí existen otras que pueden ser de interés según lo que se pretenda implementar.

Aqui se utilizo para abrir un archivo en VIM o abrir una consola en un directorio especifico, sin embargo se puede usar para múltiples tareas, las posibilidades son infinitas

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Discover more from Alvaro De León

Subscribe now to keep reading and get access to the full archive.

Continue reading