char buf[255];
sprintf(buf, "wm deiconify %s", path());
tk->eval(buf);
could be replaced my methods somewhere in the Hush toolkit.
Packed with the AWS distribution is a small demo that shows all added functionality, it's efficiency, the expected look & feel and (hopefully ;) easy of use.
Event generation and dispatching is always æ bit tricky - the widget is usually derived from some other widget but extended with other widgets. This means that new events have to be added ænd generated, preferably in a Hush-like manner. AWS accomplishes this by handling as much events internally as possible, and then 'forwarding' the event to some handler if it can't be handled any further.