:canonical: archivebox.misc.progress_layout.CrawlQueueTreePanel
```{autodoc2-docstring} archivebox.misc.progress_layout.CrawlQueueTreePanel
```
```{rubric} Initialization
```
```{autodoc2-docstring} archivebox.misc.progress_layout.CrawlQueueTreePanel.__init__
```
````{py:method} update_crawls(crawls: list[dict[str, typing.Any]]) -> None
:canonical: archivebox.misc.progress_layout.CrawlQueueTreePanel.update_crawls
```{autodoc2-docstring} archivebox.misc.progress_layout.CrawlQueueTreePanel.update_crawls
```
````
````{py:method} __rich__() -> rich.panel.Panel
:canonical: archivebox.misc.progress_layout.CrawlQueueTreePanel.__rich__
```{autodoc2-docstring} archivebox.misc.progress_layout.CrawlQueueTreePanel.__rich__
```
````
````{py:method} _status_icon(status: str) -> str
:canonical: archivebox.misc.progress_layout.CrawlQueueTreePanel._status_icon
:staticmethod:
```{autodoc2-docstring} archivebox.misc.progress_layout.CrawlQueueTreePanel._status_icon
```
````
````{py:method} _hook_style(status: str, is_bg: bool = False, is_running: bool = False, is_pending: bool = False) -> tuple[str, str]
:canonical: archivebox.misc.progress_layout.CrawlQueueTreePanel._hook_style
:staticmethod:
```{autodoc2-docstring} archivebox.misc.progress_layout.CrawlQueueTreePanel._hook_style
```
````
````{py:method} _hook_stats(size: str = '', elapsed: str = '', timeout: str = '', status: str = '') -> str
:canonical: archivebox.misc.progress_layout.CrawlQueueTreePanel._hook_stats
:staticmethod:
```{autodoc2-docstring} archivebox.misc.progress_layout.CrawlQueueTreePanel._hook_stats
```
````
````{py:method} _terminal_width() -> int
:canonical: archivebox.misc.progress_layout.CrawlQueueTreePanel._terminal_width
:staticmethod:
```{autodoc2-docstring} archivebox.misc.progress_layout.CrawlQueueTreePanel._terminal_width
```
````
````{py:method} _truncate_to_width(text: str, max_width: int) -> str
:canonical: archivebox.misc.progress_layout.CrawlQueueTreePanel._truncate_to_width
:staticmethod:
```{autodoc2-docstring} archivebox.misc.progress_layout.CrawlQueueTreePanel._truncate_to_width
```
````
````{py:method} _truncate_tail(text: str, max_width: int) -> str
:canonical: archivebox.misc.progress_layout.CrawlQueueTreePanel._truncate_tail
:staticmethod:
```{autodoc2-docstring} archivebox.misc.progress_layout.CrawlQueueTreePanel._truncate_tail
```
````
````{py:method} _available_width(left_text: str, indent: int = 0) -> int
:canonical: archivebox.misc.progress_layout.CrawlQueueTreePanel._available_width
```{autodoc2-docstring} archivebox.misc.progress_layout.CrawlQueueTreePanel._available_width
```
````