Created
August 10, 2020 15:51
-
-
Save MarceloAlves/d6cf356a278a0ec7dafd9e38f328073f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Set this property to true to always open in a new window | |
property open_in_new_window : false | |
-- Handlers | |
on new_window() | |
tell application "iTerm" to create window with default profile | |
end new_window | |
on new_tab() | |
tell application "iTerm" to tell the first window to create tab with default profile | |
end new_tab | |
on call_forward() | |
tell application "iTerm" to activate | |
end call_forward | |
on is_running() | |
application "iTerm" is running | |
end is_running | |
on has_windows() | |
if not is_running() then return false | |
if windows of application "iTerm" is {} then return false | |
true | |
end has_windows | |
on send_text(custom_text) | |
tell application "iTerm" to tell the first window to tell current session to write text custom_text | |
end send_text | |
-- Main | |
on alfred_script(query) | |
if has_windows() then | |
if open_in_new_window then | |
new_window() | |
else | |
new_tab() | |
end if | |
else | |
-- If iTerm is not running and we tell it to create a new window, we get two | |
-- One from opening the application, and the other from the command | |
if is_running() then | |
new_window() | |
else | |
call_forward() | |
end if | |
end if | |
-- Make sure a window exists before we continue, or the write may fail | |
repeat until has_windows() | |
delay 0.01 | |
end repeat | |
send_text(query) | |
call_forward() | |
end alfred_script |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment