MCPcopy Index your code
hub / github.com/tmux-python/tmuxp / on_event

Method on_event

src/tmuxp/cli/_progress.py:437–486  ·  view source on GitHub ↗

Update tree state from a build event dict. Examples -------- >>> tree = BuildTree() >>> tree.on_event({ ... "event": "session_created", "name": "dev", "window_total": 2, ... }) >>> tree.session_name 'dev' >>> tree.window_to

(self, event: dict[str, t.Any])

Source from the content-addressed store, hash-verified

435 self._before_script_event: threading.Event = threading.Event()
436
437 def on_event(self, event: dict[str, t.Any]) -> None:
438 """Update tree state from a build event dict.
439
440 Examples
441 --------
442 >>> tree = BuildTree()
443 >>> tree.on_event({
444 ... "event": "session_created", "name": "dev", "window_total": 2,
445 ... })
446 >>> tree.session_name
447 'dev'
448 >>> tree.window_total
449 2
450 >>> tree.on_event({
451 ... "event": "window_started", "name": "editor", "pane_total": 3,
452 ... })
453 >>> len(tree.windows)
454 1
455 >>> tree.windows[0].name
456 'editor'
457 """
458 kind = event["event"]
459 if kind == "session_created":
460 self.session_name = event["name"]
461 self.window_total = event.get("window_total")
462 self.session_pane_total = event.get("session_pane_total")
463 elif kind == "before_script_started":
464 self._before_script_event.set()
465 elif kind == "before_script_done":
466 self._before_script_event.clear()
467 elif kind == "window_started":
468 self.windows.append(
469 _WindowStatus(name=event["name"], pane_total=event["pane_total"])
470 )
471 elif kind == "pane_creating":
472 if self.windows:
473 w = self.windows[-1]
474 w.pane_num = event["pane_num"]
475 w.pane_total = event["pane_total"]
476 elif kind == "window_done":
477 if self.windows:
478 w = self.windows[-1]
479 w.done = True
480 w.pane_num = None
481 w.pane_done = w.pane_total or 0
482 self.session_panes_done += w.pane_done
483 self.windows_done += 1
484 elif kind == "workspace_built":
485 for w in self.windows:
486 w.done = True
487
488 def render(self, colors: Colors, width: int) -> list[str]:
489 """Render the current tree state to a list of display strings.

Calls 1

_WindowStatusClass · 0.85