¿Está buscando una solución para tomar notas ligera, ultrarrápida y de fácil acceso? Busque en línea y encontrará innumerables sugerencias para tales aplicaciones. Y, sin embargo, incluso los "más livianos" a menudo son torpes y pueden tener características que usted personalmente puede considerar inútiles.
Por lo tanto, veamos cómo puede crear su propia aplicación para tomar notas ultraligera, ultrarrápida y personalizada con AutoHotkey. Una solución simple y sencilla para tomar notas que podrá aparecer en su pantalla al instante con solo presionar una tecla.
Configuración de un plan para tomar notas con AutoHotkey
Comencemos declarando claramente nuestro objetivo final y diseñando un plan simple para llegar allí.
Para este proyecto, no necesitamos ningún formato de texto sofisticado, soporte para plantillas u otras funciones "avanzadas". ¿Nuestra meta?
- Queremos crear una aplicación ultra simple que aparecerá en nuestra pantalla cuando presionemos una combinación de teclas de acceso rápido.
- Esta ventana nos permitirá anotar una nota y guardarla en un archivo de texto sin formato/MarkDown.
Y eso es todo: sin ventanas, cuadros de diálogo, menús ni botones adicionales.
Afortunadamente, tal proyecto es fácil de construir con AutoHotkey, como veremos a continuación. Siéntase libre de seguir incluso si no ha usado AutoHotkey antes. Sin embargo, podría ser mejor si primero revisa nuestra guía rápida de AutoHotkey para principiantes.
Cómo instalar AutoHotkey
Dado que AutoHotkey es una solución de terceros, para usarla, debe instalarla.
Así que haz una visita a Sitio oficial de AutoHotkey, y haga clic en el verde amistoso Descargar botón. Omita las versiones V1 (obsoleta) y V2 (beta) y elija Descargar versión actual. Luego, instálalo en tu computadora.
No podrá notar ningún cambio después, ya que AutoHotkey solo funciona como analizador de secuencias de comandos de AutoHotkey. En otras palabras, AutoHotkey no "hace nada" por sí solo. En cambio, funciona como la plataforma en la que se ejecutará el script que crearemos a continuación.
Cómo hacer un nuevo script en AutoHotkey
Abra su administrador de archivos favorito, como Explorador de archivos de Windowsy apúntelo al directorio donde desea crear su nuevo script. Puede elegir cualquier directorio desde su escritorio a su carpeta de Documentos personal.
La forma más fácil de crear un nuevo script de AutoHotkey es aprovechar la nueva opción disponible a través del menú contextual del botón derecho después de instalar AutoHotkey. Haga clic con el botón derecho en un lugar vacío de la ventana del administrador de archivos y, en el menú que aparece, elija Nuevo > Guión de teclas de acceso rápido automático.
Dado que los scripts de AutoHotkey son en realidad archivos de texto sin formato, también puede crear un nuevo archivo de texto y luego cambiarle el nombre, cambiando su extensión de TXT a AHK. El resultado final será el mismo: tendrá un nuevo script AutoHotkey en blanco.
Inicie su editor de texto o código favorito y abra el script allí para editarlo. Para este artículo, usaremos Notepad++, pero puede usar cualquier herramienta similar, como VS Code o Atom.
Por supuesto, si prefiere mantener las cosas simples, siempre puede usar el viejo Bloc de notas que acompaña a Windows.
Elaboración de una GUI en AutoHotkey
Para simplificar la futura personalización de nuestro script, almacenemos dos piezas esenciales de información en dos variables.
- El primero, al que llamamos NotesPath, está asignado a la ruta completa donde queremos que nuestro script guarde nuestras notas. Por favor, recuerda cambiar la ruta por la que quieras usar. De lo contrario, sus notas se guardarán en un lugar inesperado o el script fallará.
- El segundo, al que llamamos FileNameExtra, contiene una cadena que usaremos para los nombres de archivo de nuestras notas. El archivo de cada nota tendrá el nombre de una versión "desinfectada" de su título, seguido de esta cadena.
Debe tener un aspecto como este:
NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! Bandeja de entrada
FileNameExtra = _MUOnote.md
Por lo general, AutoHotkey se usa para afectar otras ventanas, como vimos en nuestro artículo sobre cómo centrar cualquier ventana en tu pantalla con AutoHotkey, o para crear teclas de acceso rápido, para lo cual puede consultar nuestra guía en hacer teclas de acceso rápido específicas de la aplicación con AutoHotkey.
Sin embargo, en este escenario, confiaremos mucho en las capacidades de creación de GUI de AutoHotkey, que muchas personas olvidan. AutoHotkey "aprovecha" el propio "kit de herramientas de ventana" de Windows. Esto permite la creación de GUI con todos los elementos habituales que esperaría encontrar en una ventana de sistema operativo "estándar", desde campos de texto y menús desplegables hasta botones y barras de desplazamiento.
Afortunadamente, dado que estamos creando una aplicación para tomar notas simple y "liviana", el proyecto no será complicado y, por lo tanto, será relativamente fácil de crear. Nuestra GUI constará de solo tres elementos:
- Un cuadro de texto para el título de la nota.
- Otro por el contenido de la nota.
- Un botón para guardar la nota.
Ni siquiera agregaremos un botón "Cancelar" ya que asignaremos esa función a la tecla Escape del teclado y la acción de cerrar la ventana.
Agregue la siguiente línea a su secuencia de comandos: básicamente "le dice" a AutoHotkey que la fuente en cualquier elemento que sigue debe ser "tamaño 14" y "color 666666".
interfaz gráfica de usuario, QN:Fuente, s14c666666
A continuación, la siguiente línea:
interfaz gráfica de usuario, QN:Agregar, Editar, x5y5w550h60vTítulo, Título-Nombre del archivo
- ...añade un cuadro de texto editable ("Editar")...
- ...en las coordenadas 5 píxeles horizontales y 5 píxeles verticales desde el borde de la ventana ("x5 y5")...
- ...con un ancho de 550 píxeles y una altura de 60 píxeles ("w550 h60").
- Todo lo que se escriba en él se asignará a la variable Título ("vTitle")...
- ...y contendrá el texto "Título - Nombre de archivo".
A continuación, cambiemos el tamaño de fuente a 12 y su color a 4444444 para cualquier elemento que venga después de esa línea.
Luego, agregue un cuadro de texto editable más grande para el contenido real de la nota, asígnelo a la variable Nota y rellénelo previamente con cualquier cosa que ya esté en el portapapeles.
Finalmente, agregue un botón debajo de los dos cuadros de texto y en la parte inferior de la ventana de la aplicación, asignado a la función Aceptar predeterminada del script.
interfaz gráfica de usuario, QN:Fuente, s12c444444
interfaz gráfica de usuario, QN:Agregar, Editar, x5y70w550h600vNota, %Portapapeles%
interfaz gráfica de usuario, QN:Agregar, Botón, x5y680w550h50, DE ACUERDO
Hemos creado una GUI, pero también necesitamos una ventana para mostrarla.
Para eso, la siguiente línea "le dice" a AutoHotkey que cree una ventana en las coordenadas 0, 0 (horizontal, vertical), con 560 píxeles de ancho y 735 píxeles de alto, llamada "MUONotes".
interfaz gráfica de usuario, QN:Espectáculo, x0y0w560h735, MUONotas
El script completo hasta ahora debería ser algo como lo siguiente:
NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! Bandeja de entrada
FileNameExtra = _MUOnote.md Gui, QN: Fuente, s14 c666666
interfaz gráfica de usuario, QN:Agregar, Editar, x5y5w550h60vTítulo, Título-Nombre del archivo
interfaz gráfica de usuario, QN:Fuente, s12c444444
interfaz gráfica de usuario, QN:Agregar, Editar, x5y70w550h600vNota, %Portapapeles%
interfaz gráfica de usuario, QN:Agregar, Botón, x5y680w550h50, DE ACUERDO
interfaz gráfica de usuario, QN:Espectáculo, x0y0w560h735, MUONotas
Hacer que los botones hagan algo en AutoHotkey
Nuestra GUI está lista; puede consultarla haciendo doble clic en su secuencia de comandos.
Como verá, el área de la nota principal se completará previamente con el contenido del portapapeles. Sin embargo, la aplicación en sí será inútil porque aún no hemos agregado soporte para guardar nada.
Solucione eso agregando lo siguiente a su secuencia de comandos:
BotónQNOK:
Codificación de archivos, UTF-8-RAW
interfaz gráfica de usuario, QN:Entregar
Portapapeles temporal = %Portapapeles%
Portapapeles = %Título%
gosub CleanText
Nombre de archivo = %Portapapeles%
Portapapeles = %TempClipboard%
Nombre de archivo final = %Ruta de notas%\%Nombre de archivo%%Nombre de archivoExtra%
Eliminar archivo, %FinalFileName%
FileAppend, %Nota%, %FinalFileName%
devolver
Vamos a desmontar eso:
- "QNButtonOK:" establece que lo que viene después es lo que AutoHotkey "debe hacer" cuando se hace clic en el botón Aceptar predeterminado de la GUI.
- La línea "FileEncoding" establece la codificación del archivo de texto creado.
- "Gui, GN: Enviar" toma el estado de cada elemento de la GUI, lo que significa que también "toma" cualquier cosa escrita en los dos campos de texto.
- Luego copiamos temporalmente el contenido real del portapapeles a la variable TempClipboard.
- Hacemos lo anterior porque queremos copiar el título de la nota en el portapapeles, utilizado como intermediario para enviarlo a una función que agregaremos a continuación. Esta función "desinfectará" el texto, eliminando los caracteres no alfanuméricos y permitiéndonos usar el texto del título como nombre de archivo.
- La función de desinfección devolverá el título "limpio" al portapapeles, desde donde lo asignamos a la variable FileName.
- Luego devolvemos su contenido original al portapapeles desde la variable TempClipboard.
- Para obtener la ruta completa y el nombre de archivo del archivo de destino, "intercalamos" la variable FileName recién ensamblada entre las variables NotesPath y FileNameExtra. Es por eso que los definimos al comienzo del guión.
- Eliminamos de forma preventiva cualquier archivo anterior con la misma ruta y nombre de archivo.
- Agregamos el contenido de la variable Note al archivo FinalFileName.
Desinfectar el texto en AutoHotkey
La función de "sanitización" que mencionamos anteriormente es la siguiente:
CleanText: CleanMePor favor = %Portapapeles%
CleanMeFavor := Regexreplace (CleanMeFavor, "a-zA-Z0-9", "")
bucle
{
StringReplace, CleanMeFavor, CleanMeFavor, %A_SPACE%%A_SPACE%, %A_SPACE%, todos
si el nivel de error <> 0
romper
}
Portapapeles = %Límpiame, por favor%
Devolver
Para repasarlo línea por línea:
- "CleanText:" es el nombre de la función que "contiene" las acciones que siguen.
- Primero asignamos el contenido del portapapeles a la variable CleanMePlease.
- Usamos una regla RegEx para eliminar todos los caracteres no alfanuméricos de la variable CleanMePlease.
- Dado que lo anterior puede introducir espacios dobles, usamos un bucle para revisar la variable CleanMePlease una vez más, reemplazándolos con espacios simples. Ese es el bit con los dos "%A_SPACE%", seguido de uno solo y la palabra "todos".
- La línea ErrorLevel "le dice" a AutoHotkey que "interrumpa el ciclo" cuando no puede encontrar más espacios dobles en el texto.
- Finalmente, devolvemos la versión "desinfectada" de la variable CleanMePlease al portapapeles.
Realización de los ajustes finales a su aplicación para tomar notas
Su secuencia de comandos para tomar notas está lista para usar, pero si la prueba, es posible que vea que su ventana aparece y desaparece instantáneamente. Eso es porque también necesita "devolver" cada función que definió en ella.
Por lo tanto, coloque la palabra "return" (sin comillas) debajo de:
- La parte del script que crea la GUI, bajo la línea GUI, "QN: Show...".
- La función "QNButtonOK", debajo de la última línea "FileAppend...".
- La función CleanText, debajo de la última línea "ClipBoard =...".
Sin embargo, si intenta ejecutar su script ahora, verá que aún permanece en la bandeja de Windows después de usarlo. Para que la aplicación se cierre y el script salga por completo, agregue lo siguiente al final:
QNGuiEscape:
QNGuiCerrar:
ExitApp
devolver
Finalmente, para que la aplicación se ejecute instantáneamente cuando la necesite, cree un acceso directo para su secuencia de comandos en su escritorio. Luego, haga clic derecho sobre él, elija Propiedades, haga clic en el Tecla de acceso directo y presione la combinación de botones deseada.
Felicitaciones por crear su primera aplicación en AutoHotkey
Inicialmente podría haber sonado como un proyecto complicado, pero como vimos, crear una aplicación para tomar notas "ligera" fue bastante sencillo.
Todo gracias a la sintaxis humana de AutoHotkey y la capacidad de aprovechar los elementos relacionados con la GUI predeterminada de Windows.