Ich habe ein Problem mit meinem neuen Monitor. Wenn ich den Bildschirm entsperre, gibt es oft Fenster, die über die Desktop-Grenze hinaushängen. Es ist ziemlich irritierend, sie manuell zurück in die Fenstermitte zu ziehen.
Glücklicherweise habe ich ein Skript gefunden, das das für mich erledigen kann: https://github.com/bradchoate/gather-windows/blob/master/Gather%20Windows.applescript
Leider funktioniert es nur über das Skript-Editor-Fenster. Wenn ich versuche, es auszuführen, indem ich auf seinen Namen in der Skriptmenüleiste klicke, tut es nichts. Ich habe versucht, es als Anwendung zu speichern und auszuführen, mit dem gleichen Effekt.
Wer kann mir dabei helfen?
Ich ging zu der URL in Ihrer Frage, klickte auf die Schaltfläche „ Raw “ , kopierte den Code und fügte ihn in den Skript-Editor ein, wo ich ihn als Anwendung mit dem Namen „ Gather Off-Screen Windows.app“ speicherte
Ich ging dann zu System Preferences > Security & Privacy > Accessibility , wie im Bild unten gezeigt, und fügte die Gather Off-Screen Windows.app hinzu .
Ich habe einige Fenster aus dem Bildschirm verschoben, dann die Gather Off-Screen Windows.app ausgeführt , und sie wurde ohne Fehler abgeschlossen und die Off-Screen-Fenster vollständig auf den Bildschirm verschoben.
Während ich die Gather Off-Screen Windows.app nach dem Speichern zu Systemeinstellungen > Sicherheit & Datenschutz > Eingabehilfen hinzugefügt habe, hätte ich erwartet, dass die folgenden Dialogfelder angezeigt werden, wenn ich die App ausgeführt habe (was manchmal wird einer oder beide nicht angezeigt):
Lassen Sie mich sagen, dass ich das Skript zwar nicht gründlich studiert habe, um seine Mechanik zu verstehen, aber ich sehe, was ich in diesem Fall am Anfang als schlechte Codierung betrachte, und würde die folgende Codezeile ändern von :
repeat with proc in application processes
Zu:
repeat with proc in (application processes whose visible is equal to true)
Der Grund, warum diese Änderung für mich sinnvoll ist, ist zum Beispiel, dass ich derzeit 38 Bewerbungsprozesse laufen habe, von denen nur 10 sichtbar sind, und es daher sinnlos erscheint, die 28 Bewerbungsprozesse, die nicht einmal sichtbar sind, weiter abzufragen.
Beachten Sie auch, dass ich einige der Off-Screen-Fenster sogar minimiert habe, bevor ich die App ausgeführt habe, und als ich sie nicht minimiert habe, waren sie dann vollständig auf dem Bildschirm. Die visible
Eigenschaft in diesem Fall bezieht sich also auf den Prozess, nicht minimierte Off-Screen-Fenster, die, während sie minimiert sind, nicht sichtbar sind.
Ich würde Automator verwenden, um einen Dienst zu erstellen, der das Apple-Skript ausführt. Und als Bonus können Sie auch die Systemeinstellungen verwenden, um dem Dienst eine Tastenkombination zuzuweisen.
Nachfolgend sind die Schritte aufgeführt, die für jeden erforderlich sind.
1. Erstellen Sie einen Dienst mit Automator
Jetzt würde ich den Dienst testen, indem ich ein paar Fenster vom Bildschirm wegbewege. Sie können den Dienst von jeder Anwendung aus ausführen, indem Sie in einem beliebigen Anwendungsmenü zur Liste der Dienste gehen (z. B. Finder > Dienste, Safari > Dienste, TextEdit > Dienste usw.) und den gerade erstellten Dienst auswählen.
Vorausgesetzt, es funktioniert, können Sie auch eine Tastenkombination erstellen, um es auszuführen.
2. Erstellen Sie Ihre Verknüpfung
Jetzt sollten Sie in der Lage sein, die Tastenkombination zum Ausführen des Dienstes zu verwenden.
HINWEIS: Mir ist bekannt, dass Tastaturkürzel für einige Benutzer nicht zu funktionieren scheinen, obwohl sie einem Dienst zugewiesen wurden. Dies ist ein ganz anderes Thema, aber wenn dies in Ihrem Fall passiert, können Sie den Dienst zumindest in jeder Anwendung ausführen, die Sie verwenden.
Lass mich wissen, wie es dir geht.
TH