Depois de descobrir o bloco de anotações do i3, xdotool e o comando wait, eu criei este script um pouco hacky:
#!/usr/bin/env bash
"$*" &
child="$!"
xdotool set_window --name "$!" 'xdotool getactivewindow'
i3-msg move scratchpad
wait $child
i3-msg [title="$child"] scratchpad show
i3-msg floating toggle
usage: launch-hide <my-gui-program>
Então, nomeio a janela do shell pai como pid do filho gui, envio para o scratchpad e, quando eu saio do processo filho, launch-hide é ativado, onde ele pega a janela do scratchpad com a criança correspondente pid.
Adicionar autocompletar:
complete -F _command launch-hide