On Saturday, May 7, 2005, at 03:58 PM, Guy Brooker wrote:
The
widget is intended to be controlled by a Keyspan remote (no mouse), and
fills the screen when in use. The widget launches other apps, and then
takes
back control after.
So I understand you got this working, but I had a few thoughts, oddly
enough.
If you just need the other app launched, there's no need to leave the
dashboard layer - just use -[NSWorkspace openApplication:], for
example, or Applescript.
If the widget needs something from the app and then wants to take
control after, it seems like it had better be a modal interaction, or
it's not appropriate for the widget to decide when to seize control
again. You could do this with widget.openApplication() (which will
dismiss the dashboard layer), followed by an Applescript that will
block. There may be timeout issue to solve with this.
In this case, or a third case the app is somehow widget aware and
decides it's time to give control back to the widget, sending system
events will work to get the layer back up, but it's not really
shipable. I guess it's tantamount to using private APIs, but I'd favor
using:
widget.openApplication("com.apple.dashboardlauncher");
or, from objC, use the launch services APIs... I think it's
LSOpenApplication().
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Dashboard-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/dashboard-dev/email@hidden