gpt4 book ai didi

python - 如何在 iTerm 2(使用 API)中获取和设置窗口、选项卡和 session 的标题?

转载 作者:行者123 更新时间:2023-12-04 15:45:15 36 4
gpt4 key购买 nike

我一直在看the documentation for iTerm2's Python API ,试图找出一种方法来获取和设置的名称/标题

  • window ,
  • 标签,和
  • session 。

  • 我还在 iTerm Python REPL 中进行了试验,但无济于事。

    窗口标题似乎仍然可以使用旧的 shell 转义码进行设置,例如使用这样的函数:
    window_title() {
    echo -ne "\e]2;$@\a\e]1;$@\a"
    }

    但我什至找不到设置 session 标题或选项卡标题的替代方法,更不用说通过 Python API 这样做了。

    窗口标题、选项卡标题和 session 标题之间的关系如果查看其效果就可以更清楚地看到(假设 session 标题设置为显示 session 名称——如果它们没有设置为相同的)。

    The relationship between window title, tab title, and session title

    最佳答案

    读:

    # https://iterm2.com/python-api/session.html#iterm2.Session.async_get_variable
    session_title = (await session.async_get_variable("autoName"))
    环境:
    # https://iterm2.com/python-api/session.html#iterm2.Session.async_set_name
    await session.async_set_name(session_title + "!")
    这是一个更详细的例子:
    async def get_all_sessions(app:iterm2.app.App):
    for window in app.windows:
    window_title = (await window.async_get_variable("titleOverride"))
    print("window title: %s" % (window_title))
    # add window title suffix
    # await window.async_set_title(window_title+" ;)")
    # remove the added window title suffix
    # await window.async_set_title(window_title[0:-3])
    # print("window detailed: %s" % (window.pretty_str()))
    for tab in window.tabs:
    tab_title = (await tab.async_get_variable("titleOverride"))
    print("\t\ttab title: %s" % (tab_title))
    for session in tab.sessions:
    # https://iterm2.com/documentation-session-title.html
    # https://stackoverflow.com/questions/56069701/how-do-i-get-and-set-the-titles-of-the-window-tab-and-session-in-iterm-2-with
    # https://iterm2.com/python-api/session.html#iterm2.Session.async_get_variable
    session_title = (await session.async_get_variable("autoName"))
    print("\t\t\tsession title: %s" % (session_title))
    if session_title == "colabo-GIST":
    print("\t\t\t: changing session name: %s" % (session_title))
    # https://iterm2.com/python-api/session.html#iterm2.Session.async_set_name
    await session.async_set_name(session_title + "!")
    # await session.async_inject(code)

    关于python - 如何在 iTerm 2(使用 API)中获取和设置窗口、选项卡和 session 的标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56069701/

    36 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com