_y_status: int
 
     def __init__(self, idx: int, term: Terminal) -> None:
-        self._idx = idx
+        self.idx = idx
         self._term = term
         self.log = LogWidget(self._term.wrap, self._term.write_yx)
         self.prompt = PromptWidget(self._term.write_yx)
         self.prompt.set_geometry(YX(self._term.size.y - 1, self._term.size.x))
 
     def draw(self) -> None:
-        idx_box = f'[{self._idx}]'
+        idx_box = f'[{self.idx}]'
         status_line = idx_box + '=' * (self._term.size.x - len(idx_box))
         self._term.clear()
         self.log.draw()
             conn_win = Window(len(self._windows), self._term)
             self._windows += [conn_win]
             self._conn_windows += [conn_win]
+            self._switch_window(conn_win.idx)
         elif event.type_ == 'ALERT':
             self.window.log.append(f'{event.type_} {event.payload}')
             self.window.log.draw()
         'Currently selected Window.'
         return self._windows[self._window_idx]
 
+    def _switch_window(self, idx: int) -> None:
+        self._window_idx = idx
+        self.window.draw()
+
     def cmd__connect(self,
                      hostname: str,
                      username: str,
             window_idx = int(towards)
             if not 0 <= window_idx < n_windows:
                 return f'unavailable window idx: {window_idx}'
-        self._window_idx = window_idx
-        self.window.draw()
+        self._switch_window(window_idx)
         return None