Search code examples
applescriptiterm2

iTerm applescript to write in two seperate verticle panes


I am trying to write an applescript that: - opens a new window - changes directory - splits panes vertically into that same directory - writes text in the left pane - writes text in the right pane

and if possible then executes both panes simultaneously.

The closest I can get is doing similar but opening two separate windows. like so:

    tell application "iTerm"
       set myterm to create window with default profile
       tell myterm
          activate current session
          launch session "Default Session"
          tell the current session
             write text "cd ~/Desktop"
             write text "xcodebuild clean -workspace -scheme WelcomeScreenTests -sdk iphonesimulator -destination 'platform=iOS Simulator,id=476E9E8C-8248-4EF6-8054-67900D603E83'  test | xcpretty"
          end tell
    end tell
    set myterm to create window with default profile
    tell myterm
       activate current session
       launch session "Default Session"
       tell the current session
          write text "cd ~/Desktop"
          write text "xcodebuild clean -workspace -scheme WelcomeScreenTests2 -sdk iphonesimulator -destination 'platform=iOS Simulator,id=F3DEA448-147B-4DDB-AD83-16D18BA1A87F' test | xcpretty"
       end tell
    end tell

Any help would be great thanks


Solution

  • It's possible.

    tell application "iTerm"
        set myterm to create window with default profile
        tell myterm
            activate current session
            launch session "Default Session"
            tell the current session
                write text "cd ~/Desktop"
    
                -- use 'without newline' to write without executing the command
                write text "xcodebuild clean -workspace -scheme WelcomeScreenTests -sdk iphonesimulator -destination 'platform=iOS Simulator,id=476E9E8C-8248-4EF6-8054-67900D603E83'  test | xcpretty" without newline
                tell (split vertically with same profile)
                    write text "cd ~/Desktop"
    
                    -- use 'without newline' to write without executing the command
                    write text "xcodebuild clean -workspace -scheme WelcomeScreenTests2 -sdk iphonesimulator -destination 'platform=iOS Simulator,id=F3DEA448-147B-4DDB-AD83-16D18BA1A87F' test | xcpretty" without newline
                end tell
            end tell
            write (sessions of current tab) text linefeed -- append newline to the last line of each session to executes both panes simultaneously.
        end tell
    end tell