Autokey, cubierto anteriormente en Make Tech Easier, es un excelente lugar para almacenar texto de uso común. Pero una de las características más avanzadas de Autokey es la capacidad de programarlo para que haga otras cosas. Echaremos un vistazo a dos formas de tocar Autokey para secuencias de comandos de escritorio avanzadas.
Nota: Si bien el siguiente script funcionó tanto en 12.10 como en 13.04 con el tipo «autokey-qt», parece haber algunos problemas con la versión «autokey-gtk» en los repositorios estándar. Si está usando Ubuntu regular (basado en Unity), debería considerar instalar desde el APPque contiene una versión más reciente de Autokey.
Conceptos básicos de secuencias de comandos de Autokey
La secuencia de comandos de Autokey se realiza en Python, un lenguaje de programación popular que se usa en todo, desde el instalador Ubiquity de Ubuntu hasta Google Maps. Si bien puede hacer algunas cosas útiles solo con las funciones específicas de Autokey, también puede usar las funciones de Autokey en los programas generales de Python para hacer casi cualquier cosa que desee.
Él Wiki Autoclave contiene algunos temas útiles como la instalación y las preguntas frecuentes. La referencia de la API, oculta como un enlace en la parte superior de la Guiones de muestra página, es donde está lo bueno. Mirando alrededor de la página:
1. En la parte superior de la página están todos los métodos o funciones del módulo actual que está viendo, que se explican con más detalle a continuación.
2. En la columna de la izquierda está el tipo de retorno, o lo que obtiene si usa ese método.
3. En la lista más detallada de cada método, aparecerá nuevamente el nombre del método.
4. Al lado del nombre, entre paréntesis, están los argumentos o las cosas que necesita proporcionar al método para que haga su trabajo.
5. Por último, hay un ejemplo de uso del método.
Tómese un tiempo para revisar la referencia de la API; no llegará muy lejos sin ella. El siguiente es un recorrido por la creación de un guión de principio a fin.
Creación de un script de clave automática
La creación de secuencias de comandos de Autokey es muy parecida a la creación de secuencias de comandos de Shell, en el sentido de que las crea una línea a la vez, utilizando variables y funciones (o en este caso, métodos) para obtener el resultado deseado. En mi caso, quiero poder resaltar un texto y guardarlo en un archivo de texto para más adelante. El primer paso es crear una nueva secuencia de comandos en Autokey… puede hacerlo haciendo clic derecho en una de las carpetas y seleccionando «Nueva secuencia de comandos», como se muestra a continuación.
Asígnele un nombre, luego el área de texto vacía a la derecha es toda suya; aquí es donde ingresará el script. En este caso, veamos lo que queremos hacer paso a paso:
Obtener el texto seleccionado actualmente
Autokey tiene que ver con la automatización, por lo que no debería haber ninguna razón para que copiemos este texto, al portapapeles o de otra manera. Queremos presionar la tecla de acceso rápido e irnos, sabiendo que el texto está guardado de forma segura para más adelante. Afortunadamente, la referencia de API muestra que hay un método solo para esto: el QtPortapapeles método. La siguiente línea de código tomará el texto actualmente seleccionado para nosotros, como si hubiéramos hecho «Editar y copiar» o Ctrl-C nosotros mismos. En lugar del portapapeles del sistema, almacenaremos esto en la variable «notecontent»:
notecontent = clipboard.get_selection()
Designación de la ruta completa al archivo
A continuación, queremos almacenar esto en algún lugar. Tendremos que designar un lugar para ello. Agreguemos una línea que muestre la carpeta que queremos usar, asignada a la variable “notepath”:
notecontent = clipboard.get_selection() notepath = "/home/aaron/clips/"
Para el nombre del archivo, me gustaría incluir una marca de fecha y hora de cuando fue capturado. Una pequeña búsqueda en Google revela que hay una función en el módulo de «hora» de Python que me dará la fecha actual, en formato AAAA-MM-DD-HH-mm-ss al comando, que combinaremos con el prefijo «nota» y el agregue el sufijo «.txt» y asígnelo a la variable «notename». Tendremos que importar el módulo de tiempo para poder usarlo (resulta que lo necesitamos de todos modos, ya que los foros recomiendan agregar la segunda línea para evitar conflictos entre el script y el teclado/ratón). Esto hace que el script se vea así:
import time time.sleep(0.25) notecontent = clipboard.get_selection() notepath = "/home/aaron/clips/" notename = "note" + timestrftime("%Y%m%d%H%M%S") + ".txt"
Crear el archivo
Esto es relativamente fácil de seguir:
- Importar el módulo de tiempo
- Obtener la selección actual, asignar a «notecontent»
- Asigne el directorio de destino a «notepath»
- Asigne el texto «nota», luego la fecha/hora actual, seguido de «.txt» a la variable «nombre de nota».
Todo lo que tenemos que hacer ahora es crear el archivo. Afortunadamente, Autokey proporciona un método para eso también, en el Sistema módulo:
import time time.sleep(0.25) notecontent = clipboard.get_selection() notepath = "/home/aaron/clips/" notename = "note" + timestrftime("%Y%m%d%H%M%S") + ".txt" system.create_file(notepath + notename, content = notecontent)
¡Eso es! Asigne una tecla de acceso rápido, copie algo de texto y vea qué sucede. Con las funciones clave que Autokey le proporciona, y algo de destreza de Google, puede usar Autokey para secuencias de comandos de escritorio avanzadas.
1. Seleccionar el texto
2. Presione la tecla de acceso rápido y aparecerá un nuevo archivo de texto
3. Y ahí está nuestro texto seleccionado, que se muestra en la salida menos del archivo de texto.
¿Para qué otros usos utilizas la Autokey?
Propina: Echa un vistazo a nuestra hoja de trucos de expresiones regulares.
Danos tu opinión