How can I open apps at a specific window size together? I found this one quite tough to Google.

I want to have a command (or an app) that opens these 2 applications just the way I want to. In this case I want to open them with these screen sizes -- more or less. If it has to be a terminal command, is it possible to create a shortcut for it? I will be creating more shortcuts for multiple app / screen size combinations.
Position your windows how you desire, then run the following AppleScript for each application.

tell application "Terminal" to tell window 1 to get bounds


This will return the bounds of the window, such as:

{200, 200, 700, 700}


Once you have your bounds of each window you wish to include in your specific window layout set, use the following to set the bounds:

tell application "Terminal" to tell window 1 to set bounds to {200, 200, 700, 700}


You can use multiple lines to set multiple window bounds at the same time.

Once you're happy with your layout, Script Editor can save the script as an application (File → Export and choose File Format: Application). This can then be added to your Dock for easy access.



If the application you're trying to manipulate is not scriptable, such as Sublime Text, you can use System Events to tell the application. This will require you to enable Accessibility control in System Preferences → Security &amp; Privacy → Privacy → Accessibility.

To get the bounds of a window of a non-scriptable application, you can use:

tell application "System Events" to tell application process "Sublime Text" to ¬
    get {size, position} of window 1


This will return the size and position of the window, such as:

{{500, 500}, {200, 200}}


To set the bounds of a non-scriptable application, using the result of the previous code:

tell application "System Events" to tell application process "Sublime Text" to ¬
    tell window 1 to set {size, position} to {{500, 500}, {200, 200}}




If the application whose windows you are trying to manipulate are not open prior to running this script, use the following:

tell application "Terminal" to activate


This can be combined with setting the bounds using:

tell application "Terminal"
    activate
    tell window 1 to set bounds to {200, 200, 700, 700}
end tell


No delay is necessary since AppleScript will wait for the application to open.