Skip to content

Print Dev 0.1.2

Latest

Choose a tag to compare

@marreiradigital marreiradigital released this 07 Sep 23:50
· 1 commit to main since this release

Atualize. A 0.1.1 tem um defeito que fecha o programa sem aviso.

O que estava quebrado

Clicar em Desfazer no aviso de captura matava o programa na hora — sem mensagem, sem log, sem rastro. A causa era corrupção de memória numa chamada ao Windows: a estrutura passada para mandar o arquivo à Lixeira estava desalinhada em 64 bits.

A mesma chamada é usada pela limpeza automática. Com ela ligada, a primeira faxina derrubaria o programa do mesmo jeito.

Capturei sem querer

Cancelar uma captura errada virou uma operação completa, e não só apagar o arquivo:

O arquivo Vai para a Lixeira, nunca para o nada
O histórico Perde a entrada
A área de transferência É limpa — só se o conteúdo ainda for seu

Antes, desfazer deixava o caminho do arquivo colável: a próxima colagem num terminal entregava um caminho morto.

Atalho novo: Ctrl+Alt+Z desfaz a última captura de qualquer lugar, sem depender do aviso estar na tela. O aviso não rouba o foco — e não deve, senão interromperia o que você está digitando —, então nenhuma tecla chega até ele: apertar Esc com o aviso visível não faz nada, e está certo assim.

Se desfazer falhar, o aviso agora fica na tela com o motivo escrito em vermelho, em vez de sumir fingindo que deu certo.

Mais leve

O programa parado na bandeja caiu de 107 MB para cerca de 20 MB.

A memória vinha de trabalho já terminado: ler a interface, compilar os métodos na primeira execução, e o bitmap da última captura. Agora ela é devolvida ao sistema quando a inicialização acaba e de novo quando o último aviso sai da tela.

Ocioso ~20 MB
Durante uma captura de tela cheia ~150 MB
Arranque ~550 ms

Também nesta versão

  • Sai a duplicação de código de sistema entre as duas camadas do programa — duas declarações do mesmo contrato é exatamente o que causou o defeito acima.
  • Saem 31 tokens de tema declarados e nunca usados.
  • Falha ao abrir a área de transferência agora diz "outro programa está com ela aberta" em vez de um número de erro.

Sugestões e defeitos: abra uma issue. Uso gratuito sob CC BY-ND 4.0.