diff --git a/CHANGELOG.md b/CHANGELOG.md
index e9c9c20041..90ba3e1436 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
### Changed
- Breaking change: The `@on` decorator will now match a message class and any child classes https://github.com/Textualize/textual/pull/2746
+- Breaking change: Styles update to checkbox, radiobutton, OptionList, Select, SelectionList, Switch https://github.com/Textualize/textual/pull/2777
## [0.27.0] - 2023-06-01
diff --git a/docs/examples/widgets/checkbox.css b/docs/examples/widgets/checkbox.css
index b6e17c093e..d1b09295ba 100644
--- a/docs/examples/widgets/checkbox.css
+++ b/docs/examples/widgets/checkbox.css
@@ -5,7 +5,6 @@ Screen {
VerticalScroll {
width: auto;
height: auto;
- border: solid $primary;
- background: $panel;
+ background: $boost;
padding: 2;
}
diff --git a/docs/examples/widgets/option_list.css b/docs/examples/widgets/option_list.css
index cc1b7365f5..20c4d44022 100644
--- a/docs/examples/widgets/option_list.css
+++ b/docs/examples/widgets/option_list.css
@@ -3,8 +3,6 @@ Screen {
}
OptionList {
- background: $panel;
- border: round $primary;
width: 70%;
- height: 70%;
+ height: 80%;
}
diff --git a/src/textual/pilot.py b/src/textual/pilot.py
index 64cd602bf2..a94b41a908 100644
--- a/src/textual/pilot.py
+++ b/src/textual/pilot.py
@@ -26,7 +26,7 @@ def _get_mouse_message_arguments(
control: bool = False,
) -> dict[str, Any]:
"""Get the arguments to pass into mouse messages for the click and hover methods."""
- click_x, click_y, _, _ = target.region.translate(offset)
+ click_x, click_y = target.region.offset + offset
message_arguments = {
"x": click_x,
"y": click_y,
@@ -134,6 +134,7 @@ async def hover(
message_arguments = _get_mouse_message_arguments(
target_widget, offset, button=0
)
+ await self.pause()
app.post_message(MouseMove(**message_arguments))
await self.pause()
diff --git a/src/textual/widgets/_option_list.py b/src/textual/widgets/_option_list.py
index 65fd77470d..d010ac645d 100644
--- a/src/textual/widgets/_option_list.py
+++ b/src/textual/widgets/_option_list.py
@@ -172,9 +172,17 @@ class OptionList(ScrollView, can_focus=True):
DEFAULT_CSS = """
OptionList {
- background: $panel-lighten-1;
+ height: auto;
+ background: $boost;
color: $text;
overflow-x: hidden;
+ border: tall transparent;
+ padding: 0 1;
+ }
+
+ OptionList:focus {
+ border: tall $accent;
+
}
OptionList > .option-list--separator {
@@ -182,7 +190,6 @@ class OptionList(ScrollView, can_focus=True):
}
OptionList > .option-list--option-highlighted {
- background: $accent 50%;
color: $text;
text-style: bold;
}
@@ -197,11 +204,11 @@ class OptionList(ScrollView, can_focus=True):
OptionList > .option-list--option-highlighted-disabled {
color: $text-disabled;
- background: $accent 30%;
+ background: $accent 20%;
}
OptionList:focus > .option-list--option-highlighted-disabled {
- background: $accent 40%;
+ background: $accent 30%;
}
OptionList > .option-list--option-hover {
@@ -401,6 +408,7 @@ def _on_mouse_move(self, event: MouseMove) -> None:
Args:
event: The mouse movement event.
"""
+ print(event, event.style.meta)
self._mouse_hovering_over = event.style.meta.get("option")
def _on_leave(self, _: Leave) -> None:
diff --git a/src/textual/widgets/_radio_set.py b/src/textual/widgets/_radio_set.py
index b3c98aec06..3a0ee116bf 100644
--- a/src/textual/widgets/_radio_set.py
+++ b/src/textual/widgets/_radio_set.py
@@ -25,23 +25,27 @@ class RadioSet(Container, can_focus=True, can_focus_children=False):
DEFAULT_CSS = """
RadioSet {
- border: round #666;
+ border: tall transparent;
+ background: $boost;
+ padding: 0 1 0 0;
height: auto;
width: auto;
}
RadioSet:focus {
- border: round $accent;
- }
-
- App.-light-mode RadioSet {
- border: round #CCC;
+ border: tall $accent;
}
/* The following rules/styles mimic similar ToggleButton:focus rules in
* ToggleButton. If those styles ever get updated, these should be too.
*/
+ RadioSet > * {
+ background: transparent;
+ border: none;
+ padding: 0 1;
+ }
+
RadioSet:focus > RadioButton.-selected > .toggle--label {
text-style: underline;
}
diff --git a/src/textual/widgets/_select.py b/src/textual/widgets/_select.py
index ce667f526c..90e6f18411 100644
--- a/src/textual/widgets/_select.py
+++ b/src/textual/widgets/_select.py
@@ -32,6 +32,9 @@ class SelectOverlay(OptionList):
width: 100%;
padding: 0 1;
}
+ SelectOverlay:focus {
+ border: tall $background;
+ }
SelectOverlay > .option-list--option {
padding: 0 1;
}
@@ -79,7 +82,7 @@ class SelectCurrent(Horizontal):
DEFAULT_CSS = """
SelectCurrent {
- border: tall $background;
+ border: tall transparent;
background: $boost;
color: $text;
width: 100%;
diff --git a/src/textual/widgets/_selection_list.py b/src/textual/widgets/_selection_list.py
index 556e4732d9..4c02a13073 100644
--- a/src/textual/widgets/_selection_list.py
+++ b/src/textual/widgets/_selection_list.py
@@ -93,6 +93,22 @@ class SelectionList(Generic[SelectionType], OptionList):
"""
DEFAULT_CSS = """
+ SelectionList {
+ height: auto;
+ }
+
+ .-light-mode SelectionList:focus > .selection-list--button-selected {
+ color: $primary;
+ }
+
+ .-light-mode SelectionList > .selection-list--button-selected-highlighted {
+ color: $primary;
+ }
+
+ .-light-mode SelectionList:focus > .selection-list--button-selected-highlighted {
+ color: $primary;
+ }
+
SelectionList > .selection-list--button {
text-style: bold;
background: $foreground 15%;
@@ -115,7 +131,6 @@ class SelectionList(Generic[SelectionType], OptionList):
SelectionList > .selection-list--button-selected {
text-style: bold;
- background: $foreground 15%;
}
SelectionList:focus > .selection-list--button-selected {
diff --git a/src/textual/widgets/_switch.py b/src/textual/widgets/_switch.py
index e66acd1d8d..d19ee168e0 100644
--- a/src/textual/widgets/_switch.py
+++ b/src/textual/widgets/_switch.py
@@ -46,7 +46,7 @@ class Switch(Widget, can_focus=True):
DEFAULT_CSS = """
Switch {
border: tall transparent;
- background: $panel;
+ background: $boost;
height: auto;
width: auto;
padding: 0 2;
diff --git a/src/textual/widgets/_toggle_button.py b/src/textual/widgets/_toggle_button.py
index 30f23e1781..cb9b959012 100644
--- a/src/textual/widgets/_toggle_button.py
+++ b/src/textual/widgets/_toggle_button.py
@@ -54,6 +54,13 @@ class ToggleButton(Static, can_focus=True):
DEFAULT_CSS = """
ToggleButton {
width: auto;
+ border: tall transparent;
+ padding: 0 1;
+ background: $boost;
+ }
+
+ ToggleButton:focus {
+ border: tall $accent;
}
ToggleButton:hover {
diff --git a/tests/option_list/test_option_list_mouse_hover.py b/tests/option_list/test_option_list_mouse_hover.py
index 33aec34ab4..73c6ef84b5 100644
--- a/tests/option_list/test_option_list_mouse_hover.py
+++ b/tests/option_list/test_option_list_mouse_hover.py
@@ -28,7 +28,7 @@ async def test_no_hover() -> None:
async def test_hover_highlight() -> None:
"""The mouse hover value should react to the mouse hover over a highlighted option."""
async with OptionListApp().run_test() as pilot:
- await pilot.hover(OptionList)
+ await pilot.hover(OptionList, Offset(2, 1))
option_list = pilot.app.query_one(OptionList)
assert option_list._mouse_hovering_over == 0
assert option_list._mouse_hovering_over == option_list.highlighted
@@ -37,7 +37,7 @@ async def test_hover_highlight() -> None:
async def test_hover_no_highlight() -> None:
"""The mouse hover value should react to the mouse hover over a non-highlighted option."""
async with OptionListApp().run_test() as pilot:
- await pilot.hover(OptionList, Offset(1, 1))
+ await pilot.hover(OptionList, Offset(1, 1) + Offset(2, 1))
option_list = pilot.app.query_one(OptionList)
assert option_list._mouse_hovering_over == 1
assert option_list._mouse_hovering_over != option_list.highlighted
@@ -46,7 +46,7 @@ async def test_hover_no_highlight() -> None:
async def test_hover_disabled() -> None:
"""The mouse hover value should react to the mouse hover over a disabled option."""
async with OptionListApp().run_test() as pilot:
- await pilot.hover(OptionList, Offset(1, 3))
+ await pilot.hover(OptionList, Offset(1, 3) + Offset(2, 1))
option_list = pilot.app.query_one(OptionList)
assert option_list._mouse_hovering_over == 3
assert option_list.get_option_at_index(
@@ -58,7 +58,7 @@ async def test_hover_disabled() -> None:
async def test_hover_then_leave() -> None:
"""After a mouse has been over an OptionList and left _mouse_hovering_over should be None again."""
async with OptionListApp().run_test() as pilot:
- await pilot.hover(OptionList)
+ await pilot.hover(OptionList, Offset(2, 1))
option_list = pilot.app.query_one(OptionList)
assert option_list._mouse_hovering_over == 0
await pilot.hover(Label)
diff --git a/tests/option_list/test_option_messages.py b/tests/option_list/test_option_messages.py
index d76d2f8976..e66debc458 100644
--- a/tests/option_list/test_option_messages.py
+++ b/tests/option_list/test_option_messages.py
@@ -105,7 +105,7 @@ async def test_click_option_with_mouse() -> None:
"""Clicking on an option via the mouse should result in highlight and select messages."""
async with OptionListApp().run_test() as pilot:
assert isinstance(pilot.app, OptionListApp)
- await pilot.click(OptionList, Offset(1, 1))
+ await pilot.click(OptionList, Offset(2, 2))
assert pilot.app.messages[1:] == [
("OptionHighlighted", "1", 1),
("OptionSelected", "1", 1),
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots.ambr b/tests/snapshot_tests/__snapshots__/test_snapshots.ambr
index b2f1bfe8c5..ec59fef9c5 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots.ambr
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots.ambr
@@ -1401,141 +1401,143 @@
font-weight: 700;
}
- .terminal-2118990000-matrix {
+ .terminal-1541091233-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2118990000-title {
+ .terminal-1541091233-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2118990000-r1 { fill: #e1e1e1 }
- .terminal-2118990000-r2 { fill: #c5c8c6 }
- .terminal-2118990000-r3 { fill: #004578 }
- .terminal-2118990000-r4 { fill: #42464b }
- .terminal-2118990000-r5 { fill: #24292f;font-weight: bold }
- .terminal-2118990000-r6 { fill: #e2e3e3 }
- .terminal-2118990000-r7 { fill: #e2e3e3;font-weight: bold }
- .terminal-2118990000-r8 { fill: #98729f }
- .terminal-2118990000-r9 { fill: #4ebf71;font-weight: bold }
- .terminal-2118990000-r10 { fill: #565a5e }
- .terminal-2118990000-r11 { fill: #e2e3e3;text-decoration: underline; }
+ .terminal-1541091233-r1 { fill: #e1e1e1 }
+ .terminal-1541091233-r2 { fill: #c5c8c6 }
+ .terminal-1541091233-r3 { fill: #262626 }
+ .terminal-1541091233-r4 { fill: #4a4a4a }
+ .terminal-1541091233-r5 { fill: #2e2e2e;font-weight: bold }
+ .terminal-1541091233-r6 { fill: #e3e3e3 }
+ .terminal-1541091233-r7 { fill: #e3e3e3;font-weight: bold }
+ .terminal-1541091233-r8 { fill: #98729f }
+ .terminal-1541091233-r9 { fill: #4ebf71;font-weight: bold }
+ .terminal-1541091233-r10 { fill: #0178d4 }
+ .terminal-1541091233-r11 { fill: #14191f }
+ .terminal-1541091233-r12 { fill: #5d5d5d }
+ .terminal-1541091233-r13 { fill: #e3e3e3;text-decoration: underline; }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- CheckboxApp
+ CheckboxApp
-
-
-
-
-
-
-
-
- ┌───────────────────┐
- ││
- ││
- │▐X▌Arrakis 😓│
- │▐X▌Caladan│
- │▐X▌Chusuk│
- │▐X▌Giedi Prime│
- │▐X▌Ginaz│
- │▐X▌Grumman│
- │▐X▌Kaitain│
- │▐X▌Novebruns│
- ││
- ││
- └───────────────────┘
-
-
-
-
-
+
+
+
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊▐X▌Arrakis 😓▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊▐X▌Caladan▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊▐X▌Chusuk▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊▐X▌Giedi Prime▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊▐X▌Ginaz▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊▐X▌Grumman▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▎▃▃
+ ▊▐X▌Kaitain▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
@@ -14590,139 +14592,141 @@
font-weight: 700;
}
- .terminal-3253336215-matrix {
+ .terminal-3279266708-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3253336215-title {
+ .terminal-3279266708-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3253336215-r1 { fill: #3d3d3d }
- .terminal-3253336215-r2 { fill: #1e1e1e;font-weight: bold }
- .terminal-3253336215-r3 { fill: #e1e1e1 }
- .terminal-3253336215-r4 { fill: #c5c8c6 }
- .terminal-3253336215-r5 { fill: #23568b }
- .terminal-3253336215-r6 { fill: #ddedf9 }
+ .terminal-3279266708-r1 { fill: #1e1e1e }
+ .terminal-3279266708-r2 { fill: #e1e1e1 }
+ .terminal-3279266708-r3 { fill: #c5c8c6 }
+ .terminal-3279266708-r4 { fill: #434343 }
+ .terminal-3279266708-r5 { fill: #262626;font-weight: bold }
+ .terminal-3279266708-r6 { fill: #e2e2e2 }
+ .terminal-3279266708-r7 { fill: #23568b }
+ .terminal-3279266708-r8 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- ScrollOffByOne
+ ScrollOffByOne
-
-
-
- ▐X▌76
- ▐X▌77
- ▐X▌78
- ▐X▌79
- ▐X▌80
- ▐X▌81
- ▐X▌82
- ▐X▌83
- ▐X▌84
- ▐X▌85
- ▐X▌86
- ▐X▌87
- ▐X▌88
- ▐X▌89
- ▐X▌90
- ▐X▌91
- ▐X▌92
- ▐X▌93
- ▐X▌94▂▂
- ▐X▌95
- ▐X▌96
- ▐X▌97
- ▐X▌98
- ▐X▌99
+
+
+
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌92▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌93▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌94▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌95▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌96▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌97▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌98▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌99▎▁▁
+ ▊▁▁▁▁▁▁▁▁▎
@@ -19543,135 +19547,137 @@
font-weight: 700;
}
- .terminal-1891986877-matrix {
+ .terminal-72094857-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1891986877-title {
+ .terminal-72094857-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1891986877-r1 { fill: #ddedf9;font-weight: bold }
- .terminal-1891986877-r2 { fill: #e1e9ef;font-weight: bold }
- .terminal-1891986877-r3 { fill: #c5c8c6 }
- .terminal-1891986877-r4 { fill: #e4e5e6 }
- .terminal-1891986877-r5 { fill: #4f5459 }
- .terminal-1891986877-r6 { fill: #cc555a }
+ .terminal-72094857-r1 { fill: #1e1e1e }
+ .terminal-72094857-r2 { fill: #0178d4 }
+ .terminal-72094857-r3 { fill: #c5c8c6 }
+ .terminal-72094857-r4 { fill: #ddedf9;font-weight: bold }
+ .terminal-72094857-r5 { fill: #e2e2e2;font-weight: bold }
+ .terminal-72094857-r6 { fill: #e2e2e2 }
+ .terminal-72094857-r7 { fill: #434343 }
+ .terminal-72094857-r8 { fill: #cc555a }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- OptionListApp
+ OptionListApp
-
-
-
- OneOneOne
- TwoTwoTwo
- ────────────────────────────────────────────────────────────────────────────────
- ThreeThreeThree
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊One▎▊One▎▊One▎
+ ▊Two▎▊Two▎▊Two▎
+ ▊──────────────────────▎▊───────────────────────▎▊───────────────────────▎
+ ▊Three▎▊Three▎▊Three▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -19702,139 +19708,140 @@
font-weight: 700;
}
- .terminal-2312905855-matrix {
+ .terminal-371403050-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2312905855-title {
+ .terminal-371403050-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2312905855-r1 { fill: #c5c8c6 }
- .terminal-2312905855-r2 { fill: #e3e3e3 }
- .terminal-2312905855-r3 { fill: #e1e1e1 }
- .terminal-2312905855-r4 { fill: #004578 }
- .terminal-2312905855-r5 { fill: #ddedf9;font-weight: bold }
- .terminal-2312905855-r6 { fill: #e2e3e3 }
- .terminal-2312905855-r7 { fill: #42464b }
- .terminal-2312905855-r8 { fill: #777a7e }
- .terminal-2312905855-r9 { fill: #14191f }
- .terminal-2312905855-r10 { fill: #ddedf9 }
+ .terminal-371403050-r1 { fill: #c5c8c6 }
+ .terminal-371403050-r2 { fill: #e3e3e3 }
+ .terminal-371403050-r3 { fill: #e1e1e1 }
+ .terminal-371403050-r4 { fill: #1e1e1e }
+ .terminal-371403050-r5 { fill: #0178d4 }
+ .terminal-371403050-r6 { fill: #ddedf9;font-weight: bold }
+ .terminal-371403050-r7 { fill: #e2e2e2 }
+ .terminal-371403050-r8 { fill: #434343 }
+ .terminal-371403050-r9 { fill: #787878 }
+ .terminal-371403050-r10 { fill: #14191f }
+ .terminal-371403050-r11 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- OptionListApp
+ OptionListApp
-
-
-
- ⭘OptionListApp
-
-
-
- ╭──────────────────────────────────────────────────────╮
- │Aerilon│
- │Aquaria│
- │────────────────────────────────────────────────────│
- │Canceron│
- │Caprica│
- │────────────────────────────────────────────────────│
- │Gemenon│
- │────────────────────────────────────────────────────│
- │Leonis│
- │Libran│
- │────────────────────────────────────────────────────▅▅│
- │Picon│
- │────────────────────────────────────────────────────│
- │Sagittaron│
- ╰──────────────────────────────────────────────────────╯
-
-
-
+
+
+
+ ⭘OptionListApp
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊Aerilon▎
+ ▊Aquaria▎
+ ▊───────────────────────────────────────────────────▎
+ ▊Canceron▎
+ ▊Caprica▎
+ ▊───────────────────────────────────────────────────▎
+ ▊Gemenon▎
+ ▊───────────────────────────────────────────────────▎
+ ▊Leonis▎
+ ▊Libran▎
+ ▊───────────────────────────────────────────────────▎
+ ▊Picon▎
+ ▊───────────────────────────────────────────────────▎
+ ▊Sagittaron▄▄▎
+ ▊Scorpia▎
+ ▊───────────────────────────────────────────────────▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
@@ -19865,136 +19872,137 @@
font-weight: 700;
}
- .terminal-4119903855-matrix {
+ .terminal-2341816165-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-4119903855-title {
+ .terminal-2341816165-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-4119903855-r1 { fill: #c5c8c6 }
- .terminal-4119903855-r2 { fill: #e3e3e3 }
- .terminal-4119903855-r3 { fill: #e1e1e1 }
- .terminal-4119903855-r4 { fill: #004578 }
- .terminal-4119903855-r5 { fill: #ddedf9;font-weight: bold }
- .terminal-4119903855-r6 { fill: #e2e3e3 }
- .terminal-4119903855-r7 { fill: #ddedf9 }
+ .terminal-2341816165-r1 { fill: #c5c8c6 }
+ .terminal-2341816165-r2 { fill: #e3e3e3 }
+ .terminal-2341816165-r3 { fill: #e1e1e1 }
+ .terminal-2341816165-r4 { fill: #1e1e1e }
+ .terminal-2341816165-r5 { fill: #0178d4 }
+ .terminal-2341816165-r6 { fill: #ddedf9;font-weight: bold }
+ .terminal-2341816165-r7 { fill: #e2e2e2 }
+ .terminal-2341816165-r8 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- OptionListApp
+ OptionListApp
-
-
-
- ⭘OptionListApp
-
-
-
- ╭──────────────────────────────────────────────────────╮
- │Aerilon│
- │Aquaria│
- │Canceron│
- │Caprica│
- │Gemenon│
- │Leonis│
- │Libran│
- │Picon│
- │Sagittaron│
- │Scorpia│
- │Tauron│
- │Virgon│
- ││
- ││
- ╰──────────────────────────────────────────────────────╯
-
-
-
+
+
+
+ ⭘OptionListApp
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊Aerilon▎
+ ▊Aquaria▎
+ ▊Canceron▎
+ ▊Caprica▎
+ ▊Gemenon▎
+ ▊Leonis▎
+ ▊Libran▎
+ ▊Picon▎
+ ▊Sagittaron▎
+ ▊Scorpia▎
+ ▊Tauron▎
+ ▊Virgon▎
+ ▊▎
+ ▊▎
+ ▊▎
+ ▊▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
@@ -20025,140 +20033,141 @@
font-weight: 700;
}
- .terminal-3932700002-matrix {
+ .terminal-228828675-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3932700002-title {
+ .terminal-228828675-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3932700002-r1 { fill: #c5c8c6 }
- .terminal-3932700002-r2 { fill: #e3e3e3 }
- .terminal-3932700002-r3 { fill: #e1e1e1 }
- .terminal-3932700002-r4 { fill: #004578 }
- .terminal-3932700002-r5 { fill: #ddedf9;font-weight: bold;font-style: italic; }
- .terminal-3932700002-r6 { fill: #e2e3e3 }
- .terminal-3932700002-r7 { fill: #ddedf9;font-weight: bold }
- .terminal-3932700002-r8 { fill: #14191f }
- .terminal-3932700002-r9 { fill: #e2e3e3;font-style: italic; }
- .terminal-3932700002-r10 { fill: #e2e3e3;font-weight: bold }
- .terminal-3932700002-r11 { fill: #ddedf9 }
+ .terminal-228828675-r1 { fill: #c5c8c6 }
+ .terminal-228828675-r2 { fill: #e3e3e3 }
+ .terminal-228828675-r3 { fill: #e1e1e1 }
+ .terminal-228828675-r4 { fill: #1e1e1e }
+ .terminal-228828675-r5 { fill: #0178d4 }
+ .terminal-228828675-r6 { fill: #ddedf9;font-weight: bold;font-style: italic; }
+ .terminal-228828675-r7 { fill: #e2e2e2 }
+ .terminal-228828675-r8 { fill: #ddedf9;font-weight: bold }
+ .terminal-228828675-r9 { fill: #14191f }
+ .terminal-228828675-r10 { fill: #e2e2e2;font-style: italic; }
+ .terminal-228828675-r11 { fill: #e2e2e2;font-weight: bold }
+ .terminal-228828675-r12 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- OptionListApp
+ OptionListApp
-
-
-
- ⭘OptionListApp
-
-
-
- ╭──────────────────────────────────────────────────────╮
- │ Data for Aerilon │
- │┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓│
- │┃Patron God ┃Population ┃Capital City ┃▂▂│
- │┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩│
- ││Demeter │1.2 Billion │Gaoth ││
- │└───────────────┴────────────────┴─────────────────┘│
- │ Data for Aquaria │
- │┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓│
- │┃Patron God ┃Population ┃Capital City ┃│
- │┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩│
- ││Hermes │75,000 │None ││
- │└────────────────┴───────────────┴─────────────────┘│
- │ Data for Canceron │
- │┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓│
- ╰──────────────────────────────────────────────────────╯
-
-
-
+
+
+
+ ⭘OptionListApp
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊ Data for Aerilon ▎
+ ▊┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓▎
+ ▊┃Patron God ┃Population ┃Capital City ┃▎
+ ▊┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩▃▃▎
+ ▊│Demeter │1.2 Billion │Gaoth │▎
+ ▊└───────────────┴────────────────┴────────────────┘▎
+ ▊ Data for Aquaria ▎
+ ▊┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓▎
+ ▊┃Patron God ┃Population ┃Capital City ┃▎
+ ▊┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩▎
+ ▊│Hermes │75,000 │None │▎
+ ▊└───────────────┴───────────────┴─────────────────┘▎
+ ▊ Data for Canceron ▎
+ ▊┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓▎
+ ▊┃Patron God ┃Population ┃Capital City ┃▎
+ ▊┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
@@ -21945,137 +21954,139 @@
font-weight: 700;
}
- .terminal-1099969603-matrix {
+ .terminal-3235965674-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1099969603-title {
+ .terminal-3235965674-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1099969603-r1 { fill: #e1e1e1 }
- .terminal-1099969603-r2 { fill: #c5c8c6 }
- .terminal-1099969603-r3 { fill: #0178d4 }
- .terminal-1099969603-r4 { fill: #515151 }
- .terminal-1099969603-r5 { fill: #1e1e1e;font-weight: bold }
- .terminal-1099969603-r6 { fill: #e1e1e1;text-decoration: underline; }
- .terminal-1099969603-r7 { fill: #3d3d3d }
- .terminal-1099969603-r8 { fill: #4ebf71;font-weight: bold }
+ .terminal-3235965674-r1 { fill: #e1e1e1 }
+ .terminal-3235965674-r2 { fill: #c5c8c6 }
+ .terminal-3235965674-r3 { fill: #1e1e1e }
+ .terminal-3235965674-r4 { fill: #0178d4 }
+ .terminal-3235965674-r5 { fill: #575757 }
+ .terminal-3235965674-r6 { fill: #262626;font-weight: bold }
+ .terminal-3235965674-r7 { fill: #e2e2e2 }
+ .terminal-3235965674-r8 { fill: #e2e2e2;text-decoration: underline; }
+ .terminal-3235965674-r9 { fill: #434343 }
+ .terminal-3235965674-r10 { fill: #4ebf71;font-weight: bold }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- RadioChoicesApp
+ RadioChoicesApp
-
-
-
-
-
-
-
-
-
- ╭───────────────────────────────────────╮
- │▐●▌Battlestar Galactica│
- │▐●▌Dune 1984│
- │▐●▌Dune 2021│
- │▐●▌Serenity│
- │▐●▌Star Trek: The Motion Picture│
- │▐●▌Star Wars: A New Hope│
- │▐●▌The Last Starfighter│
- │▐●▌Total Recall 👉 🔴│
- │▐●▌Wing Commander│
- ╰───────────────────────────────────────╯
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊▐●▌Battlestar Galactica▎
+ ▊▐●▌Dune 1984▎
+ ▊▐●▌Dune 2021▎
+ ▊▐●▌Serenity▎
+ ▊▐●▌Star Trek: The Motion Picture▎
+ ▊▐●▌Star Wars: A New Hope▎
+ ▊▐●▌The Last Starfighter▎
+ ▊▐●▌Total Recall 👉 🔴▎
+ ▊▐●▌Wing Commander▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+
+
+
@@ -22106,139 +22117,140 @@
font-weight: 700;
}
- .terminal-4163780602-matrix {
+ .terminal-2849727264-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-4163780602-title {
+ .terminal-2849727264-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-4163780602-r1 { fill: #e1e1e1 }
- .terminal-4163780602-r2 { fill: #c5c8c6 }
- .terminal-4163780602-r3 { fill: #0178d4 }
- .terminal-4163780602-r4 { fill: #666666 }
- .terminal-4163780602-r5 { fill: #515151 }
- .terminal-4163780602-r6 { fill: #1e1e1e;font-weight: bold }
- .terminal-4163780602-r7 { fill: #e1e1e1;text-decoration: underline; }
- .terminal-4163780602-r8 { fill: #3d3d3d }
- .terminal-4163780602-r9 { fill: #4ebf71;font-weight: bold }
- .terminal-4163780602-r10 { fill: #cc555a;font-weight: bold;font-style: italic; }
+ .terminal-2849727264-r1 { fill: #e1e1e1 }
+ .terminal-2849727264-r2 { fill: #c5c8c6 }
+ .terminal-2849727264-r3 { fill: #1e1e1e }
+ .terminal-2849727264-r4 { fill: #0178d4 }
+ .terminal-2849727264-r5 { fill: #575757 }
+ .terminal-2849727264-r6 { fill: #262626;font-weight: bold }
+ .terminal-2849727264-r7 { fill: #e2e2e2 }
+ .terminal-2849727264-r8 { fill: #e2e2e2;text-decoration: underline; }
+ .terminal-2849727264-r9 { fill: #434343 }
+ .terminal-2849727264-r10 { fill: #4ebf71;font-weight: bold }
+ .terminal-2849727264-r11 { fill: #cc555a;font-weight: bold;font-style: italic; }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- RadioChoicesApp
+ RadioChoicesApp
-
-
-
-
-
-
-
-
-
- ╭───────────────────────────────────╮╭───────────────────────────────────╮
- │▐●▌Battlestar Galactica││▐●▌Amanda│
- │▐●▌Dune 1984││▐●▌Connor MacLeod│
- │▐●▌Dune 2021││▐●▌Duncan MacLeod│
- │▐●▌Serenity││▐●▌Heather MacLeod│
- │▐●▌Star Trek: The Motion Picture││▐●▌Joe Dawson│
- │▐●▌Star Wars: A New Hope││▐●▌Kurgan, The│
- │▐●▌The Last Starfighter││▐●▌Methos│
- │▐●▌Total Recall 👉 🔴││▐●▌Rachel Ellenstein│
- │▐●▌Wing Commander││▐●▌Ramírez│
- ╰───────────────────────────────────╯╰───────────────────────────────────╯
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊▐●▌Battlestar Galactica▎▊▐●▌Amanda▎
+ ▊▐●▌Dune 1984▎▊▐●▌Connor MacLeod▎
+ ▊▐●▌Dune 2021▎▊▐●▌Duncan MacLeod▎
+ ▊▐●▌Serenity▎▊▐●▌Heather MacLeod▎
+ ▊▐●▌Star Trek: The Motion Picture▎▊▐●▌Joe Dawson▎
+ ▊▐●▌Star Wars: A New Hope▎▊▐●▌Kurgan, The▎
+ ▊▐●▌The Last Starfighter▎▊▐●▌Methos▎
+ ▊▐●▌Total Recall 👉 🔴▎▊▐●▌Rachel Ellenstein▎
+ ▊▐●▌Wing Commander▎▊▐●▌Ramírez▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+
+
+
@@ -22587,140 +22599,142 @@
font-weight: 700;
}
- .terminal-1594050745-matrix {
+ .terminal-2367026169-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1594050745-title {
+ .terminal-2367026169-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1594050745-r1 { fill: #3d3d3d }
- .terminal-1594050745-r2 { fill: #1e1e1e;font-weight: bold }
- .terminal-1594050745-r3 { fill: #e1e1e1 }
- .terminal-1594050745-r4 { fill: #c5c8c6 }
- .terminal-1594050745-r5 { fill: #23568b }
- .terminal-1594050745-r6 { fill: #14191f }
- .terminal-1594050745-r7 { fill: #ddedf9 }
+ .terminal-2367026169-r1 { fill: #1e1e1e }
+ .terminal-2367026169-r2 { fill: #c5c8c6 }
+ .terminal-2367026169-r3 { fill: #434343 }
+ .terminal-2367026169-r4 { fill: #262626;font-weight: bold }
+ .terminal-2367026169-r5 { fill: #e2e2e2 }
+ .terminal-2367026169-r6 { fill: #e1e1e1 }
+ .terminal-2367026169-r7 { fill: #23568b }
+ .terminal-2367026169-r8 { fill: #14191f }
+ .terminal-2367026169-r9 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- ScrollOffByOne
+ ScrollOffByOne
-
-
-
- ▐X▌27
- ▐X▌28
- ▐X▌29
- ▐X▌30
- ▐X▌31
- ▐X▌32
- ▐X▌33▄▄
- ▐X▌34
- ▐X▌35
- ▐X▌36
- ▐X▌37
- ▐X▌38
- ▐X▌39▂▂
- ▐X▌40
- ▐X▌41
- ▐X▌42
- ▐X▌43
- ▐X▌44
- ▐X▌45
- ▐X▌46
- ▐X▌47
- ▐X▌48
- ▐X▌49
- ▐X▌50
+
+
+
+ ▊▐X▌43▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌44▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌45▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌46▎
+ ▊▁▁▁▁▁▁▁▁▎▃▃
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌47▎▂▂
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌48▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌49▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ ▊▐X▌50▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
@@ -23872,141 +23886,141 @@
font-weight: 700;
}
- .terminal-3781955182-matrix {
+ .terminal-627774835-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3781955182-title {
+ .terminal-627774835-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3781955182-r1 { fill: #c5c8c6 }
- .terminal-3781955182-r2 { fill: #e3e3e3 }
- .terminal-3781955182-r3 { fill: #e1e1e1 }
- .terminal-3781955182-r4 { fill: #0178d4 }
- .terminal-3781955182-r5 { fill: #e1e1e1;font-weight: bold }
- .terminal-3781955182-r6 { fill: #62666a }
- .terminal-3781955182-r7 { fill: #4ebf71;font-weight: bold }
- .terminal-3781955182-r8 { fill: #ddedf9;font-weight: bold }
- .terminal-3781955182-r9 { fill: #98a84b }
- .terminal-3781955182-r10 { fill: #34393f;font-weight: bold }
- .terminal-3781955182-r11 { fill: #e4e5e6 }
- .terminal-3781955182-r12 { fill: #ddedf9 }
+ .terminal-627774835-r1 { fill: #c5c8c6 }
+ .terminal-627774835-r2 { fill: #e3e3e3 }
+ .terminal-627774835-r3 { fill: #e1e1e1 }
+ .terminal-627774835-r4 { fill: #0178d4 }
+ .terminal-627774835-r5 { fill: #e1e1e1;font-weight: bold }
+ .terminal-627774835-r6 { fill: #575757 }
+ .terminal-627774835-r7 { fill: #4ebf71;font-weight: bold }
+ .terminal-627774835-r8 { fill: #ddedf9;font-weight: bold }
+ .terminal-627774835-r9 { fill: #98a84b }
+ .terminal-627774835-r10 { fill: #262626;font-weight: bold }
+ .terminal-627774835-r11 { fill: #e2e2e2 }
+ .terminal-627774835-r12 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- SelectionListApp
+ SelectionListApp
-
-
-
- ⭘SelectionListApp
-
-
- ┌─ Shall we play some games? ──┐┌─ Selected games ─────────────┐
- │││[│
- │▐X▌Falken's Maze││'secret_back_door',│
- │▐X▌Black Jack││'a_nice_game_of_chess',│
- │▐X▌Gin Rummy││'fighter_combat'│
- │▐X▌Hearts││]│
- │▐X▌Bridge│└──────────────────────────────┘
- │▐X▌Checkers│
- │▐X▌Chess│
- │▐X▌Poker│
- │▐X▌Fighter Combat│
- ││
- ││
- ││
- ││
- ││
- └──────────────────────────────┘
-
-
-
+
+
+
+ ⭘SelectionListApp
+
+
+ ┌─ Shall we play some games? ──┐┌─ Selected games ─────────────┐
+ │││[│
+ │▐X▌Falken's Maze││'secret_back_door',│
+ │▐X▌Black Jack││'a_nice_game_of_chess',│
+ │▐X▌Gin Rummy││'fighter_combat'│
+ │▐X▌Hearts││]│
+ │▐X▌Bridge│└──────────────────────────────┘
+ │▐X▌Checkers│
+ │▐X▌Chess│
+ │▐X▌Poker│
+ │▐X▌Fighter Combat│
+ ││
+ └──────────────────────────────┘
+
+
+
+
+
+
+
@@ -24037,139 +24051,139 @@
font-weight: 700;
}
- .terminal-3782657965-matrix {
+ .terminal-575251527-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3782657965-title {
+ .terminal-575251527-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3782657965-r1 { fill: #c5c8c6 }
- .terminal-3782657965-r2 { fill: #e3e3e3 }
- .terminal-3782657965-r3 { fill: #e1e1e1 }
- .terminal-3782657965-r4 { fill: #0178d4 }
- .terminal-3782657965-r5 { fill: #62666a }
- .terminal-3782657965-r6 { fill: #4ebf71;font-weight: bold }
- .terminal-3782657965-r7 { fill: #ddedf9;font-weight: bold }
- .terminal-3782657965-r8 { fill: #34393f;font-weight: bold }
- .terminal-3782657965-r9 { fill: #e4e5e6 }
- .terminal-3782657965-r10 { fill: #ddedf9 }
+ .terminal-575251527-r1 { fill: #c5c8c6 }
+ .terminal-575251527-r2 { fill: #e3e3e3 }
+ .terminal-575251527-r3 { fill: #e1e1e1 }
+ .terminal-575251527-r4 { fill: #0178d4 }
+ .terminal-575251527-r5 { fill: #575757 }
+ .terminal-575251527-r6 { fill: #4ebf71;font-weight: bold }
+ .terminal-575251527-r7 { fill: #ddedf9;font-weight: bold }
+ .terminal-575251527-r8 { fill: #262626;font-weight: bold }
+ .terminal-575251527-r9 { fill: #e2e2e2 }
+ .terminal-575251527-r10 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- SelectionListApp
+ SelectionListApp
-
-
-
- ⭘SelectionListApp
-
-
- ┌─ Shall we play some games? ──────────────────────────────────┐
- ││
- │▐X▌Falken's Maze│
- │▐X▌Black Jack│
- │▐X▌Gin Rummy│
- │▐X▌Hearts│
- │▐X▌Bridge│
- │▐X▌Checkers│
- │▐X▌Chess│
- │▐X▌Poker│
- │▐X▌Fighter Combat│
- ││
- ││
- ││
- ││
- ││
- ││
- └──────────────────────────────────────────────────────────────┘
-
-
+
+
+
+ ⭘SelectionListApp
+
+
+ ┌─ Shall we play some games? ──────────────────────────────────┐
+ ││
+ │▐X▌Falken's Maze│
+ │▐X▌Black Jack│
+ │▐X▌Gin Rummy│
+ │▐X▌Hearts│
+ │▐X▌Bridge│
+ │▐X▌Checkers│
+ │▐X▌Chess│
+ │▐X▌Poker│
+ │▐X▌Fighter Combat│
+ ││
+ ││
+ ││
+ ││
+ ││
+ ││
+ └──────────────────────────────────────────────────────────────┘
+
+
@@ -24200,139 +24214,139 @@
font-weight: 700;
}
- .terminal-3782657965-matrix {
+ .terminal-575251527-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3782657965-title {
+ .terminal-575251527-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3782657965-r1 { fill: #c5c8c6 }
- .terminal-3782657965-r2 { fill: #e3e3e3 }
- .terminal-3782657965-r3 { fill: #e1e1e1 }
- .terminal-3782657965-r4 { fill: #0178d4 }
- .terminal-3782657965-r5 { fill: #62666a }
- .terminal-3782657965-r6 { fill: #4ebf71;font-weight: bold }
- .terminal-3782657965-r7 { fill: #ddedf9;font-weight: bold }
- .terminal-3782657965-r8 { fill: #34393f;font-weight: bold }
- .terminal-3782657965-r9 { fill: #e4e5e6 }
- .terminal-3782657965-r10 { fill: #ddedf9 }
+ .terminal-575251527-r1 { fill: #c5c8c6 }
+ .terminal-575251527-r2 { fill: #e3e3e3 }
+ .terminal-575251527-r3 { fill: #e1e1e1 }
+ .terminal-575251527-r4 { fill: #0178d4 }
+ .terminal-575251527-r5 { fill: #575757 }
+ .terminal-575251527-r6 { fill: #4ebf71;font-weight: bold }
+ .terminal-575251527-r7 { fill: #ddedf9;font-weight: bold }
+ .terminal-575251527-r8 { fill: #262626;font-weight: bold }
+ .terminal-575251527-r9 { fill: #e2e2e2 }
+ .terminal-575251527-r10 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- SelectionListApp
+ SelectionListApp
-
-
-
- ⭘SelectionListApp
-
-
- ┌─ Shall we play some games? ──────────────────────────────────┐
- ││
- │▐X▌Falken's Maze│
- │▐X▌Black Jack│
- │▐X▌Gin Rummy│
- │▐X▌Hearts│
- │▐X▌Bridge│
- │▐X▌Checkers│
- │▐X▌Chess│
- │▐X▌Poker│
- │▐X▌Fighter Combat│
- ││
- ││
- ││
- ││
- ││
- ││
- └──────────────────────────────────────────────────────────────┘
-
-
+
+
+
+ ⭘SelectionListApp
+
+
+ ┌─ Shall we play some games? ──────────────────────────────────┐
+ ││
+ │▐X▌Falken's Maze│
+ │▐X▌Black Jack│
+ │▐X▌Gin Rummy│
+ │▐X▌Hearts│
+ │▐X▌Bridge│
+ │▐X▌Checkers│
+ │▐X▌Chess│
+ │▐X▌Poker│
+ │▐X▌Fighter Combat│
+ ││
+ ││
+ ││
+ ││
+ ││
+ ││
+ └──────────────────────────────────────────────────────────────┘
+
+
@@ -25310,136 +25324,136 @@
font-weight: 700;
}
- .terminal-3771425298-matrix {
+ .terminal-333537270-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3771425298-title {
+ .terminal-333537270-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3771425298-r1 { fill: #e1e1e1 }
- .terminal-3771425298-r2 { fill: #c5c8c6 }
- .terminal-3771425298-r3 { fill: #e1e1e1;font-weight: bold }
- .terminal-3771425298-r4 { fill: #1e1e1e }
- .terminal-3771425298-r5 { fill: #0178d4 }
- .terminal-3771425298-r6 { fill: #e2e3e3 }
- .terminal-3771425298-r7 { fill: #e3e8e8 }
+ .terminal-333537270-r1 { fill: #e1e1e1 }
+ .terminal-333537270-r2 { fill: #c5c8c6 }
+ .terminal-333537270-r3 { fill: #e1e1e1;font-weight: bold }
+ .terminal-333537270-r4 { fill: #1e1e1e }
+ .terminal-333537270-r5 { fill: #0178d4 }
+ .terminal-333537270-r6 { fill: #e2e2e2 }
+ .terminal-333537270-r7 { fill: #e3e8e8 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- SwitchApp
+ SwitchApp
-
-
-
-
-
-
-
- Example switches
-
-
- ▊▔▔▔▔▔▔▔▔▎
- off: ▊▎
- ▊▁▁▁▁▁▁▁▁▎
- ▊▔▔▔▔▔▔▔▔▎
- on: ▊▎
- ▊▁▁▁▁▁▁▁▁▎
- ▊▔▔▔▔▔▔▔▔▎
- focused: ▊▎
- ▊▁▁▁▁▁▁▁▁▎
- ▊▔▔▔▔▔▔▔▔▎
- custom: ▊▎
- ▊▁▁▁▁▁▁▁▁▎
-
-
-
-
+
+
+
+
+
+
+
+ Example switches
+
+
+ ▊▔▔▔▔▔▔▔▔▎
+ off: ▊▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ on: ▊▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ focused: ▊▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ custom: ▊▎
+ ▊▁▁▁▁▁▁▁▁▎
+
+
+
+