Jouke has asked for the wisdom of the Perl Monks concerning the following question:

Dear fellow Monks,

For people who don't know about the pVoice project I work on, a short description:

Using wxPerl I create applications for severely disabled people like my own daughter Krista. So far I created pVoice (which gives people a synthetic voice by selecting symbols and letters to create sentences), pStory (listening to and viewing pages of books) and pType (to support writing by selecting letters only to create words or sentences).

More information on

The idea now is to create a shell from which the user can fire up the software, and which keeps track of running applications, that may be minimized and restored. Think of it as a mini-windowmanager within Windows (yes, it's Win32 only).
The userinterface isn't the problem. I've created a bunch of modules to handle the userinterface for these kinds of applications.

My question to all of you is how I could implement the windowmanagement itself. The shell should fire up complete (standalone) applications. The applications themselves are able to minimize or close themselves, whereas the shell should be able to restore the applications that are minimized, not firing up a second copy of the same application, and also know when an application has been closed.

What wxPerl functions can I use for these management-tasks, or -in case wxPerl doesn't provide the functions I need- what other Perl modules can I use?
I could of course start struggling myself, but maybe you know an easy way of doing this.

Jouke Visser, Perl 'Adept'
Using Perl to help the disabled: pVoice and pStory