So erstellen Sie vier Fenster der gleichen App, die vier Quadranten eines Bildschirms mit Schiefer füllen

628
abbood

Ich kann ein Fenster in die obere linke Ecke eines Bildschirms verschieben, indem ich etwas wie dieses in einer Schieferplatte verwendet

bind a:shift;cmd;alt move screenOriginX;screenOriginY screenSizeX/2;screenSizeY/2 

normalerweise, wenn ich sequel pro feuere. Ich mag es, automatisch vier Fenster zu machen, die vier Quadranten des Bildschirms bedecken.

Ich habe mich gefragt, ob ich einen Schlüssel in Schiefer binden kann, um das automatisch zu machen (es ist in Ordnung, wenn ich manuell vier Fenster davon erstellen muss. Alles, was ich brauche, ist Schiefer, um diese Fenster an den richtigen Stellen zu platzieren).

2

1 Antwort auf die Frage

2
user495470

Ich konnte nicht herausfinden, wie es geht, ohne den Namen der Anwendung fest zu codieren, aber ich versuche es so:

alias topleft move screenOriginX;screenOriginY screenSizeX/2;screenSizeY/2 alias topright move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2 alias bottomleft move screenOriginX;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2 alias bottomright move screenOriginX+screenSizeX/2;screenOriginY+screenSizeY/2 screenSizeX/2;screenSizeY/2  layout texteditquadrants 'TextEdit' $ | $ | $ | $ bind 1:ctrl layout texteditquadrants 

Wenn Sie nur einen Bildschirm haben, können Sie ein AppleScript wie folgt verwenden:

tell application "Finder" set to bounds of window of desktop end tell tell application "System Events" to tell (process 1 where frontmost is true) set n to number of windows if n > 4 then set n to 4 repeat with i from 1 to n set p to item i of {,, , } set position of window i to p set size of window i to  end repeat end tell 

Dadurch werden vier neue TextEdit-Fenster erstellt und auf dem Bildschirm angezeigt:

tell application "Finder" set to bounds of window of desktop end tell set ytop to 22 set yhalf to (h - 22) / 2 tell application "TextEdit" close windows repeat with i from 1 to 4 make new document end repeat set bounds of window 1 to  set bounds of window 2 to  set bounds of window 3 to  set bounds of window 4 to  end tell 
Oh mein Gott .. du bist * gut * abbood vor 10 Jahren 0
es funktionierte perfekt mit der textedit-app .. aber mit ein paar anderen apps, einschließlich sequel pro und google chrome und den script-kacheln * alle * der vier fenster in der oberen linken ecke .. ich habe gerade den anwendungsnamen im befehl nichts geändert sonst .. irgendeine Ahnung, was passiert? abbood vor 10 Jahren 0
nach einigem herumspielen .. habe ich festgestellt, dass Ihr script (das slate-Skript) für Apps funktioniert, die keine Leerzeichen enthalten (z. B. TextEdit oder SourceTree). Apps wie "Google Chrome" oder "Pro Sequel" gehen jedoch davon aus, dass Sie " Wenden Sie den Befehl nur auf das erste Argument an. abbood vor 10 Jahren 0