mirror of
https://github.com/onyx-and-iris/vban-tui.git
synced 2026-03-23 18:29:17 +00:00
add --no-rich_log flag
use it to disable the RichLog and load the tui_no_log tcss. update README and add no log screenshot
This commit is contained in:
parent
eaf15584a2
commit
ae39a318d9
@ -33,6 +33,11 @@ The TUI should now be discoverable as `vban-tui`
|
||||
vban-tui --host=localhost --port=6980 --streamname=Command1
|
||||
```
|
||||
|
||||
Additional Flags:
|
||||
|
||||
- --rich_log/--no-rich_log: Use this to [disable the RichLog window](./img/tui-no_log.png).
|
||||
- This is useful if you're sending commands to Voicemeeter because you won't receive any responses anyway.
|
||||
|
||||
### Environment Variables
|
||||
|
||||
example .envrc:
|
||||
|
||||
BIN
img/tui-no_log.png
Executable file
BIN
img/tui-no_log.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 8.2 KiB |
@ -27,6 +27,7 @@ class Settings(BaseSettings):
|
||||
host: Annotated[str, AfterValidator(is_valid_host)] = 'localhost'
|
||||
port: Annotated[int, AfterValidator(is_valid_port)] = 6980
|
||||
streamname: Annotated[str, AfterValidator(is_valid_streamname)] = 'Command1'
|
||||
rich_log: bool = True
|
||||
|
||||
model_config = SettingsConfigDict(
|
||||
env_file=(
|
||||
|
||||
@ -11,11 +11,15 @@ from .settings import Settings
|
||||
class VbanTui(App):
|
||||
"""A Textual App to display VBAN data."""
|
||||
|
||||
CSS_PATH = 'tui.tcss'
|
||||
def _select_css(self):
|
||||
if hasattr(self, '_settings') and not self._settings.rich_log:
|
||||
return 'tui_no_log.tcss'
|
||||
return 'tui.tcss'
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self._settings = Settings()
|
||||
self.CSS_PATH = self._select_css()
|
||||
super().__init__()
|
||||
self._command_history = CommandHistory()
|
||||
self._history_index = None
|
||||
|
||||
@ -62,6 +66,11 @@ class VbanTui(App):
|
||||
|
||||
self.query_one('#request-input').focus()
|
||||
|
||||
if not self._settings.rich_log:
|
||||
self.query_one('#response-log').remove()
|
||||
self.query_one('#main-grid').styles.height = '20'
|
||||
self.query_one('#main-grid').refresh(layout=True)
|
||||
|
||||
def on_key(self, event):
|
||||
"""Handle key events."""
|
||||
request_input = self.query_one('#request-input')
|
||||
|
||||
85
src/vban_tui/tui_no_log.tcss
Normal file
85
src/vban_tui/tui_no_log.tcss
Normal file
@ -0,0 +1,85 @@
|
||||
#main-grid {
|
||||
height: 20;
|
||||
margin: 1 2;
|
||||
background: #232a38;
|
||||
color: #f5e0dc;
|
||||
border: heavy #a5b6d7;
|
||||
border-title-color: #b7bdfc;
|
||||
border-title-style: bold;
|
||||
padding: 1 1;
|
||||
grid-size: 3 2;
|
||||
grid-gutter: 1 1;
|
||||
grid-rows: 1fr 1fr;
|
||||
grid-columns: 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
#host-labelinput {
|
||||
height: auto;
|
||||
width: 100%;
|
||||
content-align: left middle;
|
||||
text-align: left;
|
||||
background: #3a415a;
|
||||
border: solid #a5b6d7;
|
||||
border-title-color: #b7bdfc;
|
||||
padding: 0 1 0 1;
|
||||
margin: 0 1 0 1;
|
||||
}
|
||||
|
||||
#host-label {
|
||||
padding: 0 1;
|
||||
}
|
||||
|
||||
#port-labelinput {
|
||||
height: auto;
|
||||
width: 100%;
|
||||
content-align: left middle;
|
||||
text-align: left;
|
||||
background: #3a415a;
|
||||
border: solid #a5b6d7;
|
||||
border-title-color: #b7bdfc;
|
||||
padding: 0 1 0 1;
|
||||
margin: 0 1 0 1;
|
||||
}
|
||||
|
||||
#port-label {
|
||||
padding: 0 1;
|
||||
}
|
||||
|
||||
#streamname-labelinput {
|
||||
height: auto;
|
||||
width: 100%;
|
||||
content-align: left middle;
|
||||
text-align: left;
|
||||
background: #3a415a;
|
||||
border: solid #a5b6d7;
|
||||
border-title-color: #c6a0f6;
|
||||
padding: 0 1 0 1;
|
||||
margin: 0 1 0 1;
|
||||
}
|
||||
|
||||
#streamname-label {
|
||||
padding: 0 1;
|
||||
}
|
||||
|
||||
#request-labelinput {
|
||||
height: auto;
|
||||
width: 100%;
|
||||
content-align: left middle;
|
||||
text-align: left;
|
||||
background: #3a415a;
|
||||
border: solid #a5b6d7;
|
||||
border-title-color: #b7bdfc;
|
||||
padding: 0 1 0 1;
|
||||
margin: 0 1 0 1;
|
||||
column-span: 3;
|
||||
}
|
||||
|
||||
#request-label {
|
||||
padding: 0 1;
|
||||
}
|
||||
|
||||
#request-input {
|
||||
width: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user