Você está procurando uma solução de anotações leve, ultrarrápida e de fácil acesso? Pesquise online e você encontrará inúmeras sugestões para esses aplicativos. E, no entanto, mesmo os "mais leves" costumam ser desajeitados e podem vir com recursos que você pode considerar inúteis.
Então, vamos ver como você pode criar seu próprio aplicativo de anotações personalizado ultraleve e extremamente rápido usando o AutoHotkey. Uma solução de anotações simples e sem frescuras que poderá aparecer na tela instantaneamente com um único pressionamento de tecla.
Configurando um plano para anotações com o AutoHotkey
Vamos começar declarando claramente nosso objetivo final e elaborando um plano simples para alcançá-lo.
Para este projeto, não precisamos de nenhuma formatação de texto sofisticada, suporte para modelos ou outros recursos "avançados". Nosso objetivo?
- Queremos criar um aplicativo ultra-simples que apareça em nossa tela quando pressionarmos uma combinação de teclas de atalho.
- Esta janela nos permitirá anotar uma nota e salvá-la em um arquivo de texto simples/MarkDown.
E isso é tudo - sem janelas, caixas de diálogo, menus ou botões extras.
Felizmente, esse projeto é fácil de criar com o AutoHotkey, como veremos a seguir. Sinta-se à vontade para seguir, mesmo que nunca tenha usado o AutoHotkey antes. No entanto, pode ser melhor se você verificar primeiro nosso guia rápido de AutoHotkey para iniciantes.
Como instalar o AutoHotkey
Como o AutoHotkey é uma solução de terceiros, para usá-lo, você precisa instalá-lo.
Então, faça uma visita Site oficial do AutoHotkey, e clique no amigável verde Download botão. Ignore as versões V1 (obsoleta) e V2 (beta) e escolha Baixe a versão atual. Em seguida, instale-o em seu computador.
Você não poderá notar nenhuma alteração posteriormente, pois o AutoHotkey funciona apenas como um analisador para scripts do AutoHotkey. Em outras palavras, o AutoHotkey não "faz nada" sozinho. Em vez disso, ele funciona como a plataforma na qual o script que criaremos a seguir será executado.
Como fazer um novo script no AutoHotkey
Abra seu gerenciador de arquivos favorito, como Explorador de Arquivos do Windowse aponte-o para o diretório onde deseja criar seu novo script. Você pode escolher qualquer diretório de sua área de trabalho para sua pasta de documentos pessoais.
A maneira mais fácil de criar um novo script AutoHotkey é aproveitar a nova opção disponível no menu de contexto do botão direito do mouse após a instalação do AutoHotkey. Clique com o botão direito do mouse em um local vazio da janela do gerenciador de arquivos e, no menu exibido, escolha Novo > Script AutoHotkey.
Como os scripts do AutoHotkey são, na verdade, arquivos de texto simples, você pode, alternativamente, criar um novo arquivo de texto e renomeá-lo, alterando sua extensão de TXT para AHK. O resultado final será o mesmo: você terá um novo script AutoHotkey em branco.
Abra seu editor de texto ou código favorito e abra o script para editá-lo. Para este artigo, usaremos o Notepad++, mas você pode usar qualquer ferramenta semelhante, como VS Code ou Atom.
Claro, se você preferir manter as coisas simples, você sempre pode usar o bom e velho bloco de notas que acompanha o Windows.
Criando uma GUI no AutoHotkey
Para simplificar a customização futura do nosso script, vamos armazenar duas informações essenciais em duas variáveis.
- O primeiro, que chamamos de NotesPath, é mapeado para o caminho completo onde queremos que nosso script salve nossas anotações. Por favor, lembre-se de alterar o caminho para aquele que você deseja usar. Caso contrário, suas anotações serão salvas em um local inesperado ou o script falhará.
- O segundo, que chamamos de FileNameExtra, contém uma string que usaremos para os nomes de arquivo de nossas notas. O arquivo de cada nota será nomeado após uma versão "sanitizada" de seu título, seguida por esta string.
Deve ficar assim:
NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! caixa de entrada
FileNameExtra = _MUOnote.md
Normalmente, o AutoHotkey é usado para afetar outras janelas, como vimos em nosso artigo sobre como centralizar qualquer janela em sua tela com AutoHotkey, ou para criar teclas de atalho, para as quais você pode conferir nosso guia em criando teclas de atalho específicas do aplicativo com o AutoHotkey.
No entanto, neste cenário, dependeremos muito dos recursos de criação de GUI do AutoHotkey, que muitas pessoas esquecem. O AutoHotkey "toca no" próprio "kit de ferramentas da janela" do Windows. Isso permite a criação de GUIs com todos os elementos usuais que você esperaria encontrar em uma janela "padrão" do sistema operacional, desde campos de texto e menus suspensos até botões e barras de rolagem.
Felizmente, como estamos criando um aplicativo de anotações simples e "leve", o projeto não será complicado e, portanto, relativamente fácil de criar. Nossa GUI consistirá em apenas três elementos:
- Uma caixa de texto para o título da nota
- Outro para o conteúdo da nota
- Um botão para salvar a nota.
Nem adicionaremos um botão "Cancelar", pois mapearemos essa função para a tecla Escape do teclado e a ação de fechar a janela.
Adicione a linha abaixo ao seu script - basicamente "diz" ao AutoHotkey que a fonte em qualquer elemento a seguir deve ser "tamanho 14" e "cor 666666".
gui, QN:Fonte, s14c666666
Em seguida, a seguinte linha:
gui, QN:Adicionar, Editar, x5y5w550h60vTítulo, Título-Nome do arquivo
- ...adiciona uma caixa de texto editável ("Editar")...
- ...nas coordenadas 5 pixels horizontais e 5 pixels verticais da borda da janela ("x5 y5")...
- ...com largura de 550 pixels e altura de 60 pixels ("w550 h60").
- Tudo digitado nele seria mapeado para a variável Title ("vTitle")...
- ...e conterá o texto "Title - Filename".
Em seguida, vamos alterar o tamanho da fonte para 12 e sua cor para 4444444 para todos os elementos que vierem após essa linha.
Em seguida, adicione uma caixa de texto editável maior para o conteúdo real da nota, mapeie-a para a variável Nota e preencha-a previamente com qualquer coisa que já esteja na área de transferência.
Por fim, adicione um botão abaixo das duas caixas de texto e na parte inferior da janela do aplicativo, mapeado para a função OK padrão do script.
gui, QN:Fonte, s12c444444
gui, QN:Adicionar, Editar, x5y70w550h600vNote, %Prancheta%
gui, QN:Adicionar, Botão, x5y680w550h50, OK
Criamos uma GUI, mas também precisamos de uma janela para exibi-la.
Para isso, a linha a seguir "diz" ao AutoHotkey para criar uma janela nas coordenadas 0, 0 (horizontal, vertical), com 560 pixels de largura e 735 pixels de altura, denominada "MUONotes".
gui, QN:Mostrar, x0y0w560h735, MUOnotes
O script completo até agora deve ser algo como o seguinte:
NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! caixa de entrada
FileNameExtra = _MUOnote.md Gui, QN: Fonte, s14 c666666
gui, QN:Adicionar, Editar, x5y5w550h60vTítulo, Título-Nome do arquivo
gui, QN:Fonte, s12c444444
gui, QN:Adicionar, Editar, x5y70w550h600vNote, %Prancheta%
gui, QN:Adicionar, Botão, x5y680w550h50, OK
gui, QN:Mostrar, x0y0w560h735, MUOnotes
Fazendo os botões fazerem algo no AutoHotkey
Nossa GUI está pronta - você pode conferir clicando duas vezes em seu script.
Como você verá, a área da nota principal será pré-preenchida com o conteúdo da área de transferência. No entanto, o aplicativo em si será inútil porque ainda não adicionamos suporte para salvar nada.
Corrija isso adicionando o seguinte ao seu script:
QNButtonOK:
Codificação de arquivo, UTF-8-RAW
gui, QN:Enviar
TempClipboard = %ClipBoard%
Área de transferência = %Title%
gosub CleanText
Nome do arquivo = %ClipBoard%
Área de transferência = %TempClipboard%
FinalFilename = %NotesPath%\%FileName%%FileNameExtra%
FileDelete, %FinalFileName%
FileAppend, %Note%, %FinalFileName%
retornar
Vamos desmontar isso:
- "QNButtonOK:" afirma que o que vem depois é o que o AutoHotkey "deve fazer" quando o botão OK padrão da GUI é clicado.
- A linha "FileEncoding" define a codificação do arquivo de texto criado.
- "Gui, GN: Submit" captura o status de cada elemento GUI, o que significa que também "captura" qualquer coisa digitada nos dois campos de texto.
- Em seguida, copiamos temporariamente o conteúdo real da área de transferência para a variável TempClipboard.
- Fazemos isso porque queremos copiar o título da nota para a área de transferência, usada como intermediário para enviá-la para uma função que adicionaremos a seguir. Esta função irá "higienizar" o texto, removendo caracteres não alfanuméricos e nos permitindo usar o texto do título como um nome de arquivo.
- A função de sanitização retornará o título "limpo" para a área de transferência, de onde o mapeamos para a variável FileName.
- Em seguida, retornamos seu conteúdo original para a área de transferência da variável TempClipboard.
- Para obter o caminho completo e o nome do arquivo de destino, "sanduichamos" a variável FileName recém-montada entre as variáveis NotesPath e FileNameExtra. É por isso que os definimos no início do script.
- Excluímos preventivamente qualquer arquivo anterior com o mesmo caminho e nome de arquivo.
- Anexamos o conteúdo da variável Note ao arquivo FinalFileName.
Sanitizando o texto no AutoHotkey
A função de "higienização" que mencionamos acima é a seguinte:
CleanText: CleanMePlease = %ClipBoard%
CleanMePlease := Regexreplace (CleanMePlease, "a-zA-Z0-9", "")
laço
{
StringReplace, CleanMePlease, CleanMePlease, %A_SPACE%%A_SPACE%, %A_SPACE%, todos
se ErrorLevel <> 0
quebrar
}
Área de transferência = %CleanMePlease%
Retornar
Para percorrê-lo linha por linha:
- "CleanText:" é o nome da função que "contém" as ações a seguir.
- Primeiro mapeamos o conteúdo da área de transferência para a variável CleanMePlease.
- Usamos uma regra RegEx para remover todos os caracteres não alfanuméricos da variável CleanMePlease.
- Como o acima pode introduzir espaços duplos, usamos um loop para vasculhar a variável CleanMePlease mais uma vez, substituindo-os por espaços simples. Esse é o bit com os dois "%A_SPACE%", seguidos por um único e a palavra "all".
- A linha ErrorLevel "diz" ao AutoHotkey para "quebrar o loop" quando não consegue encontrar mais espaços duplos no texto.
- Por fim, retornamos a versão "higienizada" da variável CleanMePlease para a área de transferência.
Fazendo os ajustes finais em seu aplicativo de anotações
Seu script de anotações está pronto para uso, mas se você experimentá-lo, poderá ver sua janela aparecer e desaparecer instantaneamente. Isso porque você também precisa "retornar" cada função que definiu nela.
Então, coloque a palavra "retorno" (sem aspas) abaixo:
- A parte de criação da GUI do script, sob a GUI, linha "QN: Mostrar...".
- A função "QNButtonOK", na linha final "FileAppend...".
- A função CleanText, na última linha "ClipBoard =...".
No entanto, se você tentar executar seu script agora, verá que ele ainda permanece na bandeja do Windows depois de usá-lo. Para fechar o aplicativo e encerrar totalmente o script, adicione o seguinte no final:
QNGuiEscape:
QNGuiClose:
ExitApp
retornar
Por fim, para que o aplicativo seja executado instantaneamente sempre que você precisar, crie um atalho para seu script na área de trabalho. Em seguida, clique com o botão direito sobre ele, escolha Propriedades, clique no Tecla de atalho campo e pressione a combinação de botões desejada.
Parabéns por criar seu primeiro aplicativo no AutoHotkey
Pode ter parecido inicialmente um projeto complicado, mas, como vimos, criar um aplicativo de anotações "leve" foi bastante simples.
Tudo graças à sintaxe amigável do AutoHotkey e à capacidade de aproveitar os elementos relacionados à GUI padrão do Windows.