Close Tabs to the RightΒΆ

This script defines a function that closes tabs to the right of the current tab in the current window. It demonstrates closing tabs and using asyncio.gather to run many async functions at once.

You can bind it to a keystroke in Prefs > Keys by selecting the action Invoke Script Function and giving it the invocation close_to_the_right().

#!/usr/bin/env python3

import asyncio
import iterm2

async def main(connection):
    app = await iterm2.async_get_app(connection)

    async def close_to_the_right():
        current_tab = app.current_terminal_window.current_tab
        i = app.current_terminal_window.tabs.index(current_tab)
        tabs_to_close=list(app.current_terminal_window.tabs[(i + 1):])
        coros = []
        for tab in tabs_to_close:
            coro = tab.async_close(force=True)
        await asyncio.gather(*coros)

    await close_to_the_right.async_register(connection)