.
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 pessoalmente inúteis.
Então, vamos ver como você pode criar seu próprio aplicativo de anotações ultraleve, ultrarrápido e personalizado 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 chegar lá.
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 aparecerá na 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 construir com o AutoHotkey, como veremos a seguir. Sinta-se à vontade para seguir mesmo se você não tiver usado o AutoHotkey antes. No entanto, pode ser melhor se você verificar primeiro nosso guia rápido do AutoHotkey para iniciantes.
Como instalar o AutoHotkey
Como o AutoHotkey é uma solução de terceiros, para usá-lo, você precisa instalá-lo.
Então, visite o site oficial do AutoHotkey e clique no amigável verde Download botão. Ignore as versões V1 (obsoleta) e V2 (beta) e opte por Baixar a versão atual. Em seguida, instale-o em seu computador.
Você não poderá notar nenhuma alteração depois, pois o AutoHotkey funciona apenas como um analisador para scripts do AutoHotkey. Em outras palavras, o AutoHotkey não “faz nada” por conta própria. Em vez disso, 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 Windows, e aponte-o para o diretório onde você deseja criar seu novo script. Você pode escolher qualquer diretório da sua área de trabalho para sua pasta Documentos pessoal.
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 após instalar o 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 de AutoHotkey.
Como os scripts do AutoHotkey são, na verdade, arquivos de texto simples, você pode 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.
Ative 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 dos arquivos de nossas notas. O arquivo de cada nota terá o nome de uma versão “higienizada” de seu título, seguida por essa string.
Deve ficar assim:
NotesPath = A: 0_Cloud_StorageDropboxNotesObsidianDuckland!Inbox
FileNameExtra = _Strong The Onenote.md
Normalmente, o AutoHotkey é usado para afetar outras janelas, como vimos em nosso artigo sobre como centralizar qualquer janela na tela com o AutoHotkey, ou para criar teclas de atalho, para as quais você pode consultar nosso guia sobre como criar teclas de atalho específicas de aplicativos com 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 “kit de ferramentas de janela” do próprio Windows. Isso permite a criação de GUIs com todos os elementos usuais que você esperaria encontrar em uma janela de SO “padrão”, 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
- Outra para o conteúdo da nota
- Um botão para salvar a nota.
Não adicionaremos um botão “Cancelar”, pois mapeamos 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:Font, s14 c666666
A seguir, a seguinte linha:
Gui, QN:Add, Edit, x5 y5 w550 h60 vTitle, Title - Filename
- …adiciona uma caixa de texto editável (“Editar”)…
- …nas coordenadas 5 pixels na horizontal e 5 pixels na vertical da borda da janela (“x5 y5”)…
- …com uma largura de 550 pixels e uma altura de 60 pixels (“w550 h60”).
- Tudo digitado nele seria mapeado para a variável Title (“vTitle”)…
- …e conterá o texto “Título – Nome do arquivo”.
Em seguida, vamos alterar o tamanho da fonte para 12 e sua cor para 4444444 para qualquer elemento que venha depois dessa 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 sob as duas caixas de texto e na parte inferior da janela do aplicativo, mapeado para a função OK padrão do script.
Gui, QN:Font, s12 c444444
Gui, QN:Add, Edit, x5 y70 w550 h600 vNote, %Clipboard%
Gui, QN:Add, Button, x5 y680 w550 h50, 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 “Strong The OneNotes”.
Gui, QN:Show, x0 y0 w560 h735, Strong The OneNotes
O script completo até agora deve se parecer com o seguinte:
NotesPath = A: 0_Cloud_StorageDropboxNotesObsidianDuckland!Inbox
FileNameExtra = _Strong The Onenote.md Gui, QN:Font, s14 c666666
Gui, QN:Add, Edit, x5 y5 w550 h60 vTitle, Title - Filename
Gui, QN:Font, s12 c444444
Gui, QN:Add, Edit, x5 y70 w550 h600 vNote, %Clipboard%
Gui, QN:Add, Button, x5 y680 w550 h50, OK
Gui, QN:Show, x0 y0 w560 h735, Strong The OneNotes
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:
FileEncoding, UTF-8-RAW
Gui, QN:Submit
TempClipboard = %ClipBoard%
ClipBoard = %Title%
gosub CleanText
FileName = %ClipBoard%
ClipBoard = %TempClipboard%
FinalFilename = %NotesPath%%FileName%%FileNameExtra%
FileDelete, %FinalFileName%
FileAppend, %Note%, %FinalFileName%
return
Vamos desmontar isso:
- “QNButtonOK:” afirma que o que vem depois é o que o AutoHotkey “deveria 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” pega o status de cada elemento GUI, o que significa que também “pega” 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 o acima porque queremos copiar o título da nota para a área de transferência, usada como intermediária 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, “sanduíche” a variável FileName recém-montada entre as variáveis NotesPath e FileNameExtra. É por isso que os definimos no início do roteiro.
- 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 “higienização” que mencionamos acima é a seguinte:
CleanText: CleanMePlease = %ClipBoard%
CleanMePlease := Regexreplace(CleanMePlease, "a-zA-Z0-9", " ")
loop
{
StringReplace, CleanMePlease, CleanMePlease, %A_SPACE%%A_SPACE%, %A_SPACE%, all
if ErrorLevel <> 0
break
}
ClipBoard = %CleanMePlease%
Return
Para percorrê-lo linha por linha:
- “CleanText:” é o nome da função que “contém” as ações que seguem.
- 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 no 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 de GUI do script, sob a GUI, linha “QN:Show…”.
- A função “QNButtonOK”, sob a 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 que o aplicativo seja fechado e o script seja totalmente encerrado, adicione o seguinte no final:
QNGuiEscape:
QNGuiClose:
ExitApp
return
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 do mouse sobre ele, escolha Propriedadesclique 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 soado inicialmente como 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.
.








