martes, 26 de febrero de 2019

Configuraciòn de Combinacion de Teclas en Ubuntu Mate

El sistema operativo que utilizo desde hace 4 años, es el GNU/Linux Ubuntu Mate. Lo he elegido y aùn sigo un firme usuario de este sistema por su simplicidad, practicidad y eficiencia.

Obviamente este sistema operativo trae consigo mismo todas las ventajas del GNU/Linux Debian. Con respecto a las caracterìsticas relacionadas con el entorno de escritorio, Mate es una versiòn ligera del Gnome 2 optimizada para lograr un sistema operativo sencillo y funcional.

Entre las caracterìsticas del entorno de escritorio, una que utilizo muy a menudo, son las Combinaciones de Teclas personalizadas. Las mismas se podrìan configurar de infinitas maneras para realizar cualquier tipo de tarea tanto en el entorno de escritorio asì como tambien en otros àmbitos del sistema operativo mediante accesos directos por vìa de estas combinaciones de teclas que ejecutan lineas de comandos, scripts etc.

Cuando estoy programando un nuevo modulo QtQuick en QML para Unik, independientemente para cuàl o para què sistema sistema operativo sea la aplicaciòn final, la gran mayorìa del còdigo lo puedo programar utilizando VIM y ejecutando Unik desde este Ubuntu Mate que generalmente utilizamos.

El ùnico cambio que debo realizar para ganar tiempo y productividad, es modificar la funcionalidad de la combinaciòn de teclas para ejecutar Unik de tal modo que cargue y ejecute el còdigo fuente QML que estoy editando.

Por ejemplo si estoy programando un proyecto que està en la carpeta /home/nextsigner/miApp y allì se encuentra el archivo main.qml, para ir modificando el còdigo e ir viendo los cambios al instante, en principio debo ir al Menu->Sistema->Centro de Control->Combinaciòn de Teclas y allì crear un nuevo item de combinaciòn de teclas perzonalidas que ejecute Unik con el paràmetro -folder=/home/nextsigner/miApp para que Unik funcione sobre dicha carpeta.

El problema es que hay modulos QML para Unik a los cuales les dedico un par de horas diarias, a otros les dedico 1 o 2 semanas seguidas y voy saltando de un proyecto a otro, ya sea que estoy creando mòdulos nuevos u optimizando otro. Entonces cada vez que quiero comenzar a editar un mòdulo debo ir a la secciòn de Centro de Control mencionada para cambiar la carpeta en donde Unik debe buscar còdigo QML cuando es llamado mediante el acceso ràpido por medio de la combinaciòn de teclas.

Por lo general la combinaciòn que prefiero utilizar el Shift+Crtl+r . La letra "r" es por RUN.

Para hacer todo el cambio de la manera màs ràpida posible, lo que he creado es un script Bash que estè preparado para cambiar una combinaciòn de tecla en el entorno MATE.

Atenciòn! El siguiente script està orientado solo para el entorno MATE.

Archivo ct.sh //CT significarìa Combinaciòn de Tecla

#!/bin/bash
dconf write /org/mate/desktop/keybindings/custom0/action "'$1'"
dconf write /org/mate/desktop/keybindings/custom0/command "'$1'"
dconf write /org/mate/desktop/keybindings/custom0/binding "'$2'"
dconf write /org/mate/desktop/keybindings/custom0/name "'$1'"

Explicaciòn de uso

Este script requiere 2 paràmetros. Ambos deben estar escritos entre comillas simples.

  1. Lìnea de Comando que deseamos ejecutar.
  2. Combinaciòn de Teclas 

Ejemplo

Como usuario comùn, no es necesario ejecutar con privilegios de administrador, si ejecutamos el siguiente comando.

$: ct.sh 'unik -folder=/home/nextsigner/miApp' '<Shift><Ctrl>r'

En este caso, si presionamos las teclas Control màs Shift màs r, Unik se ejecutarà cargando còdigo QML desde la carpeta /home/nextsigner/miApp

En cambio si queremos utilizar el script ct.sh para otro fìn, por ejemplo ejecutar nuestro navegador web en un sitio espacìfico al iniciar, la lìnea de comando que deberiamos ejecutar serìa la siguente.

$: ct.sh 'chromium-browser http://www.unikode.org' '<Shift><Ctrl>c'

En este caso, si presionamos la combinaciòn de teclas Ctrl màs Shift y la letra c, se abrirà el navegador chromium directamente en este sitio web.

No està demàs aclarar, para aquellos que son novatos, que puedes modificar el script a tu gusto para ejecutar tu browser o navegador o cualquier aplicaciòn con la combinaciòn de teclas que desees.

Por ùltimo, cabe aclarar que la ejecuciòn del script siempre reescribirà el mismo item de combinaciòn de teclas modificàndola en cada vez. Si quieres utilizar el script para crear nuevos y diferentes combinaciones de teclas, entonces deberàs modificar el script para que acepte un nuevo paràmetro, serìa el tercero, el cuàl se encargue de reemplazar el nombre "custom0" por el nombre que tu envìes por la lìnea de comandos.

Para los que quieran hacerlo aquì les dejo el script cuyo uso serìa el siguiente.

Archivo ct2.sh //CT significarìa Combinaciòn de Tecla

#!/bin/bash
dconf write /org/mate/desktop/keybindings/$3/action "'$1'"
dconf write /org/mate/desktop/keybindings/$3/command "'$1'"
dconf write /org/mate/desktop/keybindings/$3/binding "'$2'"
dconf write /org/mate/desktop/keybindings/$3/name "'$1'"

Explicaciòn de uso

Este script requiere 3 paràmetros. Todos deben estar escritos entre comillas simples.

  1. Lìnea de Comando que deseamos ejecutar.
  2. Combinaciòn de Teclas 
  3. Nombre del item a crear o reescribir

Ejemplo

Como usuario comùn, no es necesario ejecutar con privilegios de administrador, si ejecutamos el siguiente comando.

$: ct2.sh 'chromium-browser https://www.youtube.com/' '<Shift><Ctrl>y' 'micombinacionperzonalizada1'

Nota: En mi caso el ejecutable de Unik de llama solamente escribiendo la comando "unik" debido a que si bien el ejecutable de unik en primera instancia se llama unik_vX.x.x.AppImage y generalmente lo suelo tener en el escritorio. Cuando estoy utilizando el terminal y quiero ejecutar Unik, al estar en el escritorio deberìa escribir /home/nextsigner/Escritorio/unik_vX.x.x.AppImage. Para evitarme ese asunto y asì poder llamar a Unik desde donde sea tan solo escribiendo "unik", lo que hago es crear un enlace duro del AppImage de unik hacia la carpeta /usr/local/bin con el comando sudo ln unik_v3.5.2.AppImage /usr/local/bin/unik















No hay comentarios:

Publicar un comentario

Entrada destacada

Entorno de Desarrollo de Unik 3.35

Esta versiòn de Unik ha sido programada en la rama unik-f1 y en el dìa de la fecha se ha fusionado en la rama master. Esta versiòn de Unik...