É possível fazer com que o contexto atual, ou o processo mais voltado para o usuário, acione um script quando ele for alterado?
Por exemplo, o usuário
- começa com o prompt de comando,
- então vai para o Emacs
- sai de volta para a linha de comando
- vai para o topo
- desiste
- etc.
Para cada uma dessas transições, posso fazer o terminal executar automaticamente um script que obtém o nome do novo processo e potencialmente executa uma ação de acordo com o processo?
Responder1
Você pode usar rcaloras'bash-preexecscript para executar comandos de pré-execução sempre que o usuário executar algo do bash. Se o usuário inserir qualquer outro shell/aplicativo, seu script pré-executado será executado primeiro e poderá executar seus próprios manipuladores. Para saber quando o usuário sai desse programa, uma solução potencial seria fazer com que seu script continuasse pesquisando em segundo plano para ver se o pid ainda existe.