Waiting for user input without dialog

I’m trying to make a wxruby dialog that will always be visible to the
user, but occasionally require user input before continuing on. However,
I’m having trouble trying to figure out how I can wait around for user
input. In a dialog wx::ruby does the waiting for you, but if it’s not a
dialog I don’t know how to do it.

I tried running the dialog in a separate thread, and when I need to wait
for user input just have the main thread loop until it receives a
response, but the timer I have that calls Thread.pass stops running when
the while loop goes. Additionally during the loop the program windows
stop responding.

Anyone have any solutions? Is there a way to make a Frame or Window in
general to behave like a dialog for a period of time?