According to the docs fzf can integrate with tmux for the terminal splitting. That's probably easier, just use screen or tmux to run your script in one pane and a regular terminal in the other. But if you do want to reinvent the wheel, then yea, Curses would be one way.