Encontrei ajuda de Unix.SE e incorporei isso no script com um pouco de atraso ( talvez eu precise de uma rotina mais rápida!) me fornece apenas o resultado necessário para inserir o resultado desse script na janela ativa:
#!/bin/bash
# takes unix timestamp and converts to base62
# HT: https://stackoverflow.com/a/14472352 | https://unix.stackexchange.com/a/393164
function u2b {
v=$(date +%s)
BASE62=($(echo {0..9} {a..z} {A..Z}))
for i in $(bc <<< "obase=62; $v"); do echo -n ${BASE62[$(( 10#$i ))]}
done
}
r=$(u2b)
o=$(echo ${r: -4})
windowid=$(xdotool getwindowfocus)
sleep 0.5 && xdotool windowactivate --sync $windowid type "$o"
As alterações da postagem original são todas encontradas nas últimas três linhas, assim:
- capture a string desejada para uma variável;
- pegue o ID da janela atual;
- deixe o script ser executado & amp; "digite" a string de saída na janela atual.
Eu gosto especialmente que isso não precise mexer com um arquivo intermediário, ou usar a área de transferência de qualquer forma.