Powered By Blogger

miércoles, 18 de febrero de 2015

Cómo convertir cualquier terminal Linux en una terminal dropdown

Cómo convertir cualquier terminal Linux en una terminal dropdown

El programa más útil de Linux es la terminal. Para tener a este potente aliado siempre a mano podemos usar una terminal dropdown, o simplemente añadirle esa función a cualquier terminal.

Muchos de los que llevamos tiempo usando Linux ya conocemos emuladores de terminal como Guake o Yakuake. Estos programas nos proporcionan una terminal dropdown, es decir, una terminal que aparece desde la parte de arriba de la pantalla al pulsar una combinación específica de teclas y que desaparece con esa misma combinación cuando no la necesitamos. Esta función es de gran utilidad, pues siempre tendremos a mano una consola para ejecutar los comandos que necesitemos. Sin embargo, es posible que nuestra terminal favorita no tenga implementada la función dropdown y tengamos que conformarnos con las citadas anteriormente.

En esta guía vamos a descargar un simple script que dotará a cualquier emulador de terminal con esta función tan útil y demandada por los power users.

Descargar el script y sus dependencias

El script que vamos a usar se llama Any Term Dropdown y lo podemos descargar desde el siguiente enlace haciendo click con el boton derecho y después dándole a "guardar como". Ahora, le daremos permisos de ejecución ejecutando el siguiente comando en la terminal:

$ chmod +x any_term_dropdown.sh

Para que funcione correctamente necesita que tengamos instalados xdotool y wmutils. Dependiendo de la distribución Linux que usemos los nombres de estas dependencias pueden ser ligeramente diferentes, pero con una breve búsqueda en el repositorio los encontraremos enseguida. en el caso de Arch Linux haremos lo siguiente:

pacman -S xdotool
yaourt -S wmutils-core-git

Configuración de Any term Dropdown

Por defecto este script actuará sobre la terminal que esté ejecutándose. El problema está en que si tenemos más de una consola diferente abierta al mismo tiempo, gnome-terminal y xterm por ejemplo, el script actúa sobre las 2 terminales. Si usamos solo una terminal no tendremos que cambiar nada del script, pero si queremos que este programa actúe únicamente sobre una consola en específico (por ejemplo que vuelva solo dropdown a xterm) haremos la siguiente modificación:

terminal-dropdown

Lo único que hemos hecho ha sido descomentar (quitar el #) xterm y comentar (añadir el #) el apartado my_term de la opción 2. La primera opción convierte en dropdown a una terminal que elijamos (la que esté descomentada) y nos permite abrir más terminales diferentes que no se verán afectadas por el script. La opción 2 convierte a todas las terminales que aparecen en esa lista en terminales dropdown, comentarlo ha servido para que el script ignore esa opción.

Ahora, cada vez que ejecutemos ese script la terminal que esté abierta o que hayamos especificado en la opción 1 se ocultará o aparecerá. Pero no es muy cómodo estar haciendo clic al archivo any_term_dropdown.sh para conseguir el efecto dropdown, así que vamos a asignar el script a una combinación de teclas.

Asignar la función dropdown a una combinación de teclas

terminal-dropdown

Este apartado cambia mucho dependiendo del entorno de escritorio que estemos usando, pero el principio es el mismo. Buscaremos el programa que se encargue de los atajos del teclado y crearemos uno que ejecute el archivo any_term_dropdown.sh. Voy a poner el ejemplo de como hacerlo en el entorno GNOME 3.14. Iremos a la "configuración" y haremos clic sobre el apartado "teclado", nos dirigiremos a la pestaña "atajos" y en "combinación personalizada" es donde añadiremos el nuevo atajo. Pulsaremos el botón + para añadir un nuevo atajo de teclado, le pondremos un nombre y en la sección "comando" escribiremos la localización de any_term_dropdown.sh. Finalmente, solo falta hacer clic sobre el atajo y pulsar la combinación de teclas con la que queremos que se active el script.

Any Term Dropdown es un script muy corto pero con mucho potencial. Todo el que quiera contribuir en él que sepa que podrá hacerlo en su repositorio de GitHub.








No hay comentarios: