Passen Sie die Größe einer Nicht-Cocoa Mac-Anwendung genau an

746
Clinton Blackmore

Ich möchte einige Screencasts machen und sie dann in Vimeo hochladen, wo es Auflösungsspezifikationen gibt, die zu guten Ergebnissen führen. Daher möchte ich in der Lage sein, das Anwendungsfenster, aus dem ich einen Screencast mache , genau und wiederholbar zu skalieren, um diesen Raum optimal zu nutzen.

Googeln das Problem, kam ich mit Antworten auf wie folgt :

tell application "Safari" activate set the bounds of the first window to  end tell 

Ich habe festgestellt, dass diese Methode mit einigen Anwendungen funktioniert, die ich ausprobiert habe (wie Opera und Firefox), nicht jedoch mit den beiden Anwendungen, aus denen ich Screencasts erstellen möchte.

Wenn ich es mit "Scratch" anstelle von "Safari" versuche, bekomme ich es

AppleScript-Fehler Scratch hat einen Fehler erhalten: Die Grenzen von Fenster 1 können nicht auf gesetzt werden.

Ich erhalte die gleiche Fehlermeldung, wenn ich "MINDSTORMS NXT" [die NXT-G-Programmiersprache für Lego Mindstorms NXT ] anstelle von "Safari" verwende (außer dem Namen der Anwendung, die den Fehler verursacht hat).

Ich gehe davon aus, dass der Fehler in beiden Fällen darauf zurückzuführen ist, dass es sich nicht um native Apps (Cocoa) handelt, sondern mit plattformübergreifenden Bibliotheken. Ich habe auch gelesen, dass manchmal das Ändern der Fensternummer (dh "zweites Fenster", "drittes Fenster") hilft, aber es hat nicht geholfen.

Nun, ich brauche wirklich nicht zu wissen, wie man dies in AppleScript ausführt. Ich möchte nur eine einfache Möglichkeit, die Abmessungen eines Fensters für das Screencasting festzulegen. Hat jemand einen Tipp?

2

1 Antwort auf die Frage

1
Chealion

Es ist ein kludge und sehr manuell, aber Sie könnten ein Programm wie Xscope verwenden, um die Größe und Position zu bestimmen, und dann das Fenster für Ihren Screencast manuell positionieren.

Das "Kann keine Grenzen von Fenster 1 setzen" bedeutet oft, dass das Fenster nicht vorhanden ist, als das Skript ausgeführt wurde. (Bsp. Das Fenster wird tatsächlich von einem Unterprozess erstellt, der die tatsächliche GUI angibt). Dies kann das Problem sein - oder dass die Anwendung alle AppleScript-Ereignisse ignoriert.