tickit_window_flush() causes any pending activity in the window hierarchy to be performed. First it makes
any window ordering changes that have been queued by tickit_window_raise(3) and tickit_window_lower(3),
then fires any TICKIT_EV_EXPOSE events to render newly-exposed areas, before finally resetting the
terminal cursor to the state required by whichever window has input focus. This function must be invoked
on the root window instance.
An application working at the window level would typically use this function in conjunction with input
even waiting, to drive the main loop of the core logic. Such a loop may look like:
while(1) {
tickit_window_flush(rootwin);
tickit_term_input_wait_msec(term, -1);
}
There is no adverse effect of calling this function when here are no pending events on the window
instance. An application that makes use of multiple root windows across multiple terminal instances in a
multi-head setup can safely invoke it on all the root windows at once.