Nonactivating floating panel

Can someone explain how to make a panel that floats above other applications but does not bring its own application to the front when it is clicked.

In the FaceSpan public beta, it’s as simple as selecting the “Non activating” checkbox. Interface Builder has the same checkbox, but the panel behaves differently.

I’m trying to build panel with buttons for controling InDesign functions. When the user clicks on a button, I’d like to avoid the distracting of having the panel’s app activate only to activate InDesign.

As a temporary workaround, you can attach this code to your panel:

on became key theObject
	tell application "Finder" to set frontmost of process "InDesign" to true
end became key

Thanks, jj. When you say temporarily, does that mean that this is a known problem? As opposed, say, to me not understanding what a nonactivating panel is supposed to do?

I had actually gotten as far as using a “on move” handler to bring InDesign back to the front when the user drags the panel across the screen. The display is very distracting, though, because the InDesign palettes all vanish and reappear.

If it’s the Interface Builder checkbox that’s broken, might there be a way to tell the panel to refrain from activating on awake from nib?

“temporarily” means here “I don’t know what’s going on, I have the same problem, you can use this while some folk comes with the solution”.

I’m not sure if this is a bug or the expected behaviour for such checkbox… Hmmm. No idea, but I miss this feature in ASStudio (the one you described in FS and the old “floating above application x” in Dialog Director). In fact, I don’t like so much the management of windows in OS X.

:shock: I’ve used the technique in there, and it works.

Unless I’m missing something, the problems is not with the palette floating above all applications, but “does not bring its own application to the front when it is clicked”.
This means that YOURAPP displayes a system-wide floating palette. And, when you click it or some of its objects, YOURAPP becomes the frontmost application, which is not the desired behaviour.

The behaviour in my tests it that most of times YOURAPP becomes the frontmost application, but not allways, specially the first clicks…

jj has it right. “hides when deactivated” solves the problem of the YOURAPP window disappearing when another application is brought to the front. That’s a problem well worth solving, but it ain’t the only one.

My question has to do with “nonactivating panel.” In FaceSpan, it means that you can point at the YOURAPP window and click one of its buttons without bringing the YOURAP process to the front. InDesign (in my case) stays in the front while the YOURAPP button does some kind of InDesign magic. From the user’s point of view, the YOURAP panel isn’t much different than InDesign’s own palettes.

In AppleScript Studio, as near as I can tell, “nonactivating panel” is broken. I hope I’m wrong.

Upon further review, it appears to me that AppleScript Studio and FaceSpan have slightly different ideas of what"nonactivating means."

The nonactivating panel built in AS Studio does not bring its own application to the front but it does de-activate whatever app (InDesign in my case) was in front when the panel was clicked. This appears to leave your computer in a odd state where nothing is in front. From the user’s point of view, it’s a distinction without a difference: The InDesign palettes have vanished and will reappear once the AS Studio apps re-activates InDesign.

For my money, the FaceSpan approach is superior: The nonactivating panel leaves InDesign in front. There’s no distracting flash of InDesign palettes.


Is there a way to create a floating palette in AppleScript Studio whose opacity could be user-varied and which can contain data?

I would like to implement it in my ASS application but don’t know how to call it or even know what object name it is. I have seen floating panel but not quite sure if it is the same.

Thanks for the help.

archseed :slight_smile:

Model: iBook G3
AppleScript: 1.1
Browser: Safari 412.5
Operating System: Mac OS X (10.4)


Sorry, I should have posted as a new topic. But just the same, if any of those in this thread has some help or suggestion, I would greatly appreciate.