# Shoes: Force Maintenance?

**URL:** <https://www.ruby-forum.com/t/shoes-force-maintenance/191807>\
**Category:** Ruby\
**Created:** [July 19, 2010, 4:45am UTC](https://www.ruby-forum.com/t/shoes-force-maintenance/191807 "2010-07-19T04:45:33Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![callyworld](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f17d59/32.png) [@callyworld](https://www.ruby-forum.com/u/callyworld)\
**Post date:** [July 19, 2010, 4:45am UTC](https://www.ruby-forum.com/t/shoes-force-maintenance/191807/1 "2010-07-19T04:45:33Z")

</div>

I read through the Shoes manual, and I understand that Shoes is an  
event-oriented infrastructure. And in event-oriented programming, you  
are supposed to write functions that do their job quickly and then exit,  
allowing Shoes to take care of painting, mouse events, et cetera.

However, I am attempting to apply a shoes interface to a program that  
was not written to be event-oriented. Most of the run-time is spent  
inside various functions that do not exit quickly. Do I need to rewrite  
my program engine, or is there some hidden Shoes call I can make that  
would cause the app to take care of its graphical and event maintenance?

---

<div class="post-metadata">

**Author:** ![callyworld](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f17d59/32.png) [@callyworld](https://www.ruby-forum.com/u/callyworld)\
**Post date:** [July 19, 2010, 6:12am UTC](https://www.ruby-forum.com/t/shoes-force-maintenance/191807/2 "2010-07-19T06:12:46Z")

</div>

I believe the right way to do this would be to use a Thread that runs in  
the  
background, but I’m not 100% sure. So I’m crossposting this response (as  
well as your individual post) to the shoes mailing list so that maybe  
one of  
them can help answer.
