yield obs.API(1, id="api")
logger.debug("Composing OBSCtlApp")
with ScrollableContainer(id="content_container"):
- with Vertical(id="blocks_v_container", classes="blocks_containers"):
- with Horizontal(id="blocks_h_container1", classes="blocks_h_containers"):
- yield RecordControls(id="record_controls")
- with TabbedContent(id="settings_container", classes="blocks"):
- with TabPane("OBS Settings", id="settings-tab"):
- yield OBSSettingsPane(id="settings-content")
- with TabPane("OBS Connection", id="connection-tab"):
- yield Placeholder("CONNECTION BLOCK", id="conection-plc")
- with TabPane("obs-ctl Settings", id="clients-tab"):
- yield Placeholder("CLIENT SETTINGS BLOCK", id="client-plc")
- yield StatsDisplay(id="stats_display")
+ with Horizontal(id="blocks_h_container1", classes="blocks_h_containers"):
+ yield RecordControls(id="record_controls")
+ with TabbedContent(id="settings_container", classes="blocks"):
+ with TabPane("OBS Settings", id="settings-tab"):
+ yield OBSSettingsPane(id="settings-content")
+ with TabPane("OBS Connection", id="connection-tab"):
+ yield Placeholder("CONNECTION BLOCK", id="conection-plc")
+ with TabPane("obs-ctl Settings", id="clients-tab"):
+ yield Placeholder("CLIENT SETTINGS BLOCK", id="client-plc")
+ yield StatsDisplay(id="stats_display")
@on(obs.API.Report, "#api")
-from textual.containers import Grid, Horizontal, Container
+from textual.containers import Grid, ScrollableContainer
from textual.reactive import reactive
from ..element import TextReadout
from .. import obs
-class StatsDisplay(Container):
+class StatsDisplay(ScrollableContainer):
"""Displays information about the OBS WebSocket connection.
# Component Classes
stats_display--dropped_ren
stats_display--dropped_enc
"""
- DEFAULT_CSS="""
- StatsDisplay {
- Grid {
- grid-size:4;
- }
+ DEFAULT_CSS = """
+ Grid {
+ grid-size:4;
+ grid-rows:4;
}
"""
COMPONENT_CLASSES = {