Beispiel #1
0
 def _windows_from_list_sessions_response(connection, response):
     windows = []
     for window in response.windows:
         tabs = []
         for tab in window.tabs:
             root = iterm2.session.Splitter.from_node(tab.root, connection)
             if tab.HasField("tmux_window_id"):
                 tmux_window_id = tab.tmux_window_id
             else:
                 tmux_window_id = None
             tabs.append(iterm2.tab.Tab(connection, tab.tab_id, root, tmux_window_id, tab.tmux_connection_id))
         windows.append(iterm2.window.Window(connection, window.window_id, tabs, window.frame, window.number))
     return windows
Beispiel #2
0
    def create_from_proto(connection, window):
        tabs = []
        for tab in window.tabs:
            root = iterm2.session.Splitter.from_node(tab.root, connection)
            if tab.HasField("tmux_window_id"):
                tmux_window_id = tab.tmux_window_id
            else:
                tmux_window_id = None
            tabs.append(iterm2.tab.Tab(connection, tab.tab_id, root, tmux_window_id, tab.tmux_connection_id))

        if not tabs:
            return None

        return iterm2.window.Window(connection, window.window_id, tabs, window.frame, window.number)
Beispiel #3
0
    def create_from_proto(connection, window):
        """Creates a new instance from a protobuf."""
        tabs = []
        for tab in window.tabs:
            root = iterm2.session.Splitter.from_node(tab.root, connection)
            if tab.HasField("tmux_window_id"):
                tmux_window_id = tab.tmux_window_id
            else:
                tmux_window_id = None
            minimized_sessions = [
                iterm2.session.Session(connection, None, summary)
                for summary in (tab.minimized_sessions or [])
            ]
            tabs.append(
                iterm2.tab.Tab(connection, tab.tab_id, root, tmux_window_id,
                               tab.tmux_connection_id, minimized_sessions))

        if not tabs:
            return None

        return iterm2.window.Window(connection, window.window_id, tabs,
                                    window.frame, window.number)