Create Window — Custom Escape Sequence¶
This demonstrates handling a custom escape sequence to perform an action. In this case, the action is to create a new window. This script is meant to be a starting point for developing your own custom escape sequence handler.
import iterm2
async def main(connection):
async with iterm2.CustomControlSequenceMonitor(
connection, "shared-secret", r'^create-window$') as mon:
while True:
match = await mon.async_get()
await iterm2.Window.async_create(connection)
iterm2.run_forever(main)
To create a window when this script is running, invoke this command:
printf "\033]1337;Custom=id=%s:%s\a" "shared-secret" "create-window"
The shared-secret string is used to prevent untrusted code from invoking your function. For example, if you cat a text file, it could include escape sequences, but they won’t work unless they contain the proper secret string.