Não, não há ganchos de X para algo assim. Você precisaria fazer algo específico para cada aplicativo, pois todos eles lidariam com o acesso a arquivos de maneira diferente.
Estou escrevendo um script para descriptografar automaticamente o arquivo para edição e criptografá-lo de volta depois que o arquivo é fechado. O tipo de arquivo pode ser qualquer: texto simples, documento de escritório, etc. Estou no Linux Mint with Mate.
Estou preso: não posso detectar com segurança se o arquivo foi fechado no aplicativo para que o script possa continuar a criptografá-lo e remover a versão descriptografada.
A primeira versão do script simplesmente usou o vim com arquivos de texto. Script estava chamando diretamente e não ia mais até que o vim fosse fechado. Agora, como quero fazer isso com outros arquivos, tentei as seguintes ações:
xdg-open: sai imediatamente após chamar o aplicativo associado ao tipo de arquivo. Assim script continua e não faz bem.
A função modificada do xdg-open para chamar um aplicativo associado: o executa dentro do script atual, então agora vejo a saída do programa. Funciona apenas se o aplicativo não estiver sendo executado. Se tiver, o novo processo será concluído e o script continuará.
Então, o que estou tentando fazer agora é observar de alguma forma que o arquivo foi fechado no aplicativo em execução. Atualmente experimentando com pluma / gedit e inotifywait. Ele não funciona - imediatamente após o arquivo ser aberto, ele detecta o evento CLOSE_NOWRITE, CLOSE.
É possível detectar isso sem ganchos específicos para diferentes aplicações? Possivelmente alguns ganchos X?
Obrigado.
Não, não há ganchos de X para algo assim. Você precisaria fazer algo específico para cada aplicativo, pois todos eles lidariam com o acesso a arquivos de maneira diferente.
Tags gnome automation mate linux shell