startup JavaScript für InDesign

Benutzeravatar
HJD
Beiträge: 4129
Registriert: Mo 7. Feb 2022, 18:24

startup JavaScript für InDesign

#1

Beitrag von HJD »

Nachfolgendes ist ein startup JavaScript für InDesign um diesen nervtötenden Fehler zu kompensieren, den die Adobe-Pfeifen seit Jahren offenbar nicht beseitigen können oder wollen.

In InDesign öffnen alle Fenster grundsätzlich bis zum unteren rechten Bildschirmrand.
(Anwendungsrahmen ist in Id nicht aktiviert, da der mich stört)

Das Script öffnet ein Fenster in einer definierten Größe und funktioniert auch.
Allerdings würde ich die Breite des Fensters gerne noch etwas modifizieren. Es ist mir noch nicht breit genug.
Ich weiß aber nicht wie ich das ändern könnte, da JavaScript für mich kaum lesbar ist.

.9 scheint für 90% zu stehen.
var x = 50 ist der Abstand zum linken Monitorrand

var w = bezieht sich wohl auf die Breite des Fensters?
var h =bezieht sich wohl auf die Höhe des Fensters?

#targetengine "session"

//sets the horizontal and vertical space the window occupies
//90% for both horizontal and vertical here:
var hScale = .9
var vScale = .9
var x = 50;
var y = 0;
var sw = $.screens[0].right;
var sh = $.screens[0].bottom;
var w = Math.round ((sw*hScale)-x);
var h = Math.round ((sh*vScale)-y);

app.addEventListener("afterOpen", setWindow);
app.addEventListener("afterNew", setWindow);

function setWindow(e) {
if (e.parent.constructor.name == "LayoutWindow") {
app.activeWindow.bounds = [sh-(y+h), x, sh-y, x+w]
„Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen.“

Albert Einstein
Benutzeravatar
HJD
Beiträge: 4129
Registriert: Mo 7. Feb 2022, 18:24

#2

Beitrag von HJD »

Habs rausgefunden.

var x = auf 42 geändert. 40 Pixel ist die Werkzeugleiste am linken Bildrand breit. Das Fenster soll also bei 42 Pixel beginnen.

var hScale = auf .96 geändert.
Wobei ich dachte, das bezieht sich auf die Höhe. Tatsächlich wird aber die Breite des Fensters geändert.

#targetengine "session"

var hScale = .96
var vScale = .9
var x = 42;
var y = 0;
var sw = $.screens[0].right;
var sh = $.screens[0].bottom;
var w = Math.round ((sw*hScale)-x);
var h = Math.round ((sh*vScale)-y);

app.addEventListener("afterOpen", setWindow);
app.addEventListener("afterNew", setWindow);

function setWindow(e) {
if (e.parent.constructor.name == "LayoutWindow") {
app.activeWindow.bounds = [sh-(y+h), x, sh-y, x+w]
}
};




/* var hScale = .9
var vScale = .9
var docs = app.documents;
var pc = docs.length;
//make a new idleTask. The task name and the sleep time
var iTask = makeIdleTask("onNewDocument", 10)
iTask.addEventListener(IdleEvent.ON_IDLE, onNewDoc);
var x = 42;
var y = 0;
var sw = $.screens[0].right;
var sh = $.screens[0].bottom;
var w = Math.round ((sw*hScale)-x);
var h = Math.round ((sh*vScale)-y);


function onNewDoc(e){
if ( docs.length>pc ) {
var d = app.activeDocument
//bounds [bottom, left, top, right]
app.activeWindow.bounds = [sh-(y+h), x, sh-y, x+w]
}
pc = docs.length;
}



function makeIdleTask(n, s){
var it;
try {
app.idleTasks.add({name:n, sleep:s})
}catch(e) {
it = app.idleTasks.item (n);
}
return app.idleTasks.item (n);
}


*/
„Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen.“

Albert Einstein
Antworten