> Thats it. Would be most obliged if you could work that in somehow ..
>  Having apps open where you issue the command not where you actually
>  *are* when it finally decides to open. 
> 

this is really, really, really not easy.  otherwise I would have done it long
ago (-:

as a rehash, the issue is this:

the menu code calls fork()->exec() to start a new application.  At this point
blackbox goes off and does its own thing.

moments later an event "MapRequest" occurs.  This is the new application trying
to display itself.  There is *zero* connection between this event occuring and
the earlier menu request.  Blackbox has no way of knowing this application was
actually started by it.  You see there is no mapping between X Windows and
their pids.  So while we are in name the parent we do not know this window is
"ours".  It might as well have been started from a term, the console or even
remotely from another machine.  It is this transparency that is there to bite
us in the ass.

The *BEST* thing we could do would be to store the string we exec() 'mozilla
http://www.pornpornporn.com' and when the window launches we could check if the
command stored in WM_COMMAND matched any of the commands in our wait queue. 
Which means we also have to support apps that never actually load, apps like
'rxvt' which there are a billion of at once, etc.  It just gets messy.

Any of you out there have a way to do this please let me know.  I have not
found a clean solution yet.

Reply via email to