Reputation: 1885
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
Upvotes: 2
Views: 327
Reputation: 7191
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
Upvotes: 2