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

1"""Single dock-bottom container for the per-screen bottom stack. 

2 

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""" 

10 

11from __future__ import annotations 

12 

13from pathlib import Path 

14from typing import ClassVar 

15 

16from textual.containers import Vertical 

17 

18_CSS_FILE = Path(__file__).parent / "bottom_bars.tcss" 

19 

20 

21class BottomBars(Vertical): 

22 """Vertical container docked to the screen's bottom edge. 

23 

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 """ 

28 

29 DEFAULT_CSS: ClassVar[str] = _CSS_FILE.read_text(encoding="utf-8")