Unfortunately this issue doesn't seem to be going away any time soon. To clarify in reference to Olev's question, this is an InDesign only issue. After Effect supports modeless dialogs and doesn't have the issue. I tested Photoshop using bridgetalk while writing text on image and didn't have this bug. Using bridgetalk and InDesign gave me the same issue. This hasn't been fixed in 6.03 and as long as its not defined as InDesign only issue will not be fixed.
Steven
Hello!
I've got the same problem with this little palette:
#targetengine "session"
//same problem with own target engine
var pal = new Window("palette", "focustest", undefined, {resizeable:true, closeButton:true});
pal.st = pal.add("statictext", undefined, "bla:");
pal.show();
As in the original post already said: the palette eats some keystrokes (e.g. I can type "y" but not "a"), the focus remains on the palette.
Is it possible to work with an eventhandler, someting like "onMouseOut focus the layout"?
I'm running InD 6.04 on WinXP... is there a solution for this problem or has somebody a workaround?
Best regards,
TYPO
ok... here's the workaround:
#targetengine "session"
var pal = new Window("palette", "focustest", undefined, {resizeable:true, closeButton:true});
pal.st = pal.add("statictext", undefined, "some static text...");
FocusInDesign = pal.addEventListener("mouseout", LeaveTestPalette);
function LeaveTestPalette() {
indesign.reveal();
}
pal.show();
--> the eventhandler brings InDesign to the front when you leave the palette.
Well, it's still not good: the palette loses the focus too early (as soon as you leave the static text field).
Do I have to work with coordinates of the palette in order to determine if the mouse pointer has really left the palette?
Can somebody please help on?
Thanx,
TYPO
Dr. TYPO wrote:
#targetengine "session"
var pal = new Window("palette", "focustest", undefined, {resizeable:true, closeButton:true});
pal.st = pal.add("statictext", undefined, "some static text...");
FocusInDesign = pal.addEventListener("mouseout", LeaveTestPalette);
function LeaveTestPalette() {
indesign.reveal();
}
pal.show();
--> the eventhandler brings InDesign to the front when you leave the palette.
Well, it's still not good: the palette loses the focus too early (as soon as you leave the static text field).
Do I have to work with coordinates of the palette in order to determine if the mouse pointer has really left the palette?
• The problem with working with mouse coordinates is that the palette title bar seems to be out of the scope of ScriptUI. I mean that no mouse event is listenable within this specific area. The mouseout event is notified to the palette (at-target) as soon as the mouse leave the drawable area, excluding the title bar.
• However you can significantly improve your event handler by ignoring any event target which is not the palette itself —don't forget that the mouseout event bubbles (http://www.w3.org/TR/DOM-Level-3-Events/#event-type-mouseout). Thus you bring ID to the front only when you actually leave the palette drawable area:
#targetengine "mySession"
var pal = new Window("palette", "focustest", undefined, {resizeable:true, closeButton:true});
pal.st = pal.add("statictext", undefined, "some static text...");
pal.addEventListener('mouseout', leaveTestPalette);
function leaveTestPalette(/*MouseEvent*/mev)
{
if( mev.target instanceof Window ) app.activate();
}
pal.show();
Does that help?
@+
Marc
oh, I forgot to mention "Extendables", which can be found under extendables.org, discussions can be found on this forum.
To me it looks quite promising...
I've tested the example "ui.jsx" in the examples folder of the extendables download.
There I've created a ui palette via "new ui.Palette()", unfortunately with the other misbehaviours.
Although it creates a palette with correct focus, you're not able to type characters other than "qyswxrtup" into a text box.
But maybe this hint will help? If you find a solution, let me know, ok?
Cheers,
TYPO
North America
Europe, Middle East and Africa
Asia Pacific
Copyright © 2012 Adobe Systems Incorporated. All rights reserved.
Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy (updated 07-14-2009).