Infelizmente, esperar (de qualquer idioma) não é realmente adequado para algo que não seja uma resposta padrão de buffer de tela. Eu vi algumas implementações que tentam lidar com atualizações de posição do cursor, como curses, mas os resultados nem sempre são eficazes.
Eu sinto que seu tempo seria melhor gasto pesquisando quais operações o aplicativo curses está dando a você um menu para configurar seu aplicativo. Descobri que quase todos os menus curses têm um cli cmd complementar ou um front end para um.
Se você puder compartilhar o que o menu de maldições é para a comunidade, poderá ajudá-lo com o que está acontecendo em segundo plano. Se você não puder porque é algo caseiro, você deve ser capaz de capturar o que está acontecendo em segundo plano com algo como strace
Espero que isso ajude.