Coverage for src / lilbee / cli / tui / widgets / bottom_bars.py: 100%
7 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-04-29 19:16 +0000
« prev ^ index » next coverage.py v7.13.4, created at 2026-04-29 19:16 +0000
1"""Single dock-bottom container for the per-screen bottom stack.
3Textual's ``dock: bottom`` does not stack siblings: every dock-bottom
4widget lands at the same edge row and overlaps, so only the
5last-composed widget paints. Each screen composes exactly one
6``BottomBars`` holding the per-screen bottom widgets
7(``TaskBar``, ``ViewTabs``, ``Footer``, and on chat the prompt area)
8so they stack vertically instead of colliding.
9"""
11from __future__ import annotations
13from pathlib import Path
14from typing import ClassVar
16from textual.containers import Vertical
18_CSS_FILE = Path(__file__).parent / "bottom_bars.tcss"
21class BottomBars(Vertical):
22 """Vertical container docked to the screen's bottom edge.
24 Children stack top-to-bottom inside the container so TaskBar,
25 ViewTabs, and Footer each get their own row instead of colliding
26 at the screen's bottom edge.
27 """
29 DEFAULT_CSS: ClassVar[str] = _CSS_FILE.read_text(encoding="utf-8")