diff --git a/CHANGELOG.md b/CHANGELOG.md
index df66182ff..aeaaf466a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,12 +6,21 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
-## Unreleased
+## Unrealeased
### Changed
+- App `title` and `sub_title` attributes can be set to any type https://github.com/Textualize/textual/issues/2521
- Using `Widget.move_child` where the target and the child being moved are the same is now a no-op https://github.com/Textualize/textual/issues/1743
+### Fixed
+
+- Fixed `ZeroDivisionError` in `resolve_fraction_unit` https://github.com/Textualize/textual/issues/2502
+- Fixed `TreeNode.expand` and `TreeNode.expand_all` not posting a `Tree.NodeExpanded` message https://github.com/Textualize/textual/issues/2535
+- Fixed `TreeNode.collapse` and `TreeNode.collapse_all` not posting a `Tree.NodeCollapsed` message https://github.com/Textualize/textual/issues/2535
+- Fixed `TreeNode.toggle` and `TreeNode.toggle_all` not posting a `Tree.NodeExpanded` or `Tree.NodeCollapsed` message https://github.com/Textualize/textual/issues/2535
+- `footer--description` component class was being ignored https://github.com/Textualize/textual/issues/2544
+
## [0.24.1] - 2023-05-08
### Fixed
diff --git a/reference/spacing.monopic b/reference/spacing.monopic
new file mode 100644
index 000000000..474d7d3ad
Binary files /dev/null and b/reference/spacing.monopic differ
diff --git a/src/textual/_resolve.py b/src/textual/_resolve.py
index ddbdd1d5c..79a1a1e3e 100644
--- a/src/textual/_resolve.py
+++ b/src/textual/_resolve.py
@@ -143,7 +143,7 @@ def resolve_fraction_unit(
resolved: list[Fraction | None] = [None] * len(resolve)
remaining_fraction = Fraction(sum(scalar.value for scalar, _, _ in resolve))
- while True:
+ while remaining_fraction > 0:
remaining_space_changed = False
resolve_fraction = Fraction(remaining_space, remaining_fraction)
for index, (scalar, min_value, max_value) in enumerate(resolve):
@@ -166,7 +166,7 @@ def resolve_fraction_unit(
return (
Fraction(remaining_space, remaining_fraction)
- if remaining_space
+ if remaining_space > 0
else Fraction(1)
)
diff --git a/src/textual/app.py b/src/textual/app.py
index 113a7a220..12f66cf04 100644
--- a/src/textual/app.py
+++ b/src/textual/app.py
@@ -316,6 +316,7 @@ class App(Generic[ReturnType], DOMNode):
the name of the app if it doesn't.
Assign a new value to this attribute to change the title.
+ The new value is always converted to string.
"""
self.sub_title = self.SUB_TITLE if self.SUB_TITLE is not None else ""
@@ -328,6 +329,7 @@ class App(Generic[ReturnType], DOMNode):
the file being worker on.
Assign a new value to this attribute to change the sub-title.
+ The new value is always converted to string.
"""
self._logger = Logger(self._log)
@@ -406,6 +408,14 @@ class App(Generic[ReturnType], DOMNode):
self.set_class(self.dark, "-dark-mode")
self.set_class(not self.dark, "-light-mode")
+ def validate_title(self, title: Any) -> str:
+ """Make sure the title is set to a string."""
+ return str(title)
+
+ def validate_sub_title(self, sub_title: Any) -> str:
+ """Make sure the sub-title is set to a string."""
+ return str(sub_title)
+
@property
def workers(self) -> WorkerManager:
"""The [worker](guide/workers/) manager.
diff --git a/src/textual/dom.py b/src/textual/dom.py
index e136a5588..c6efd1c4f 100644
--- a/src/textual/dom.py
+++ b/src/textual/dom.py
@@ -887,7 +887,7 @@ class DOMNode(MessagePump):
Example:
- Here's how you could detect when the app changes from dark to light mode (and visa versa).
+ Here's how you could detect when the app changes from dark to light mode (and vice versa).
```python
def on_dark_change(old_value:bool, new_value:bool):
diff --git a/src/textual/geometry.py b/src/textual/geometry.py
index 706e264f5..4b337a4d9 100644
--- a/src/textual/geometry.py
+++ b/src/textual/geometry.py
@@ -839,7 +839,7 @@ class Region(NamedTuple):
@lru_cache(maxsize=1024)
def split_horizontal(self, cut: int) -> tuple[Region, Region]:
- """Split a region in to two, from a given x offset.
+ """Split a region in to two, from a given y offset.
```
┌─────────┐
@@ -852,8 +852,8 @@ class Region(NamedTuple):
```
Args:
- cut: An offset from self.x where the cut should be made. May be negative,
- for the offset to start from the right edge.
+ cut: An offset from self.y where the cut should be made. May be negative,
+ for the offset to start from the lower edge.
Returns:
Two regions, which add up to the original (self).
@@ -909,7 +909,19 @@ class Region(NamedTuple):
class Spacing(NamedTuple):
"""The spacing around a renderable, such as padding and border
- Spacing is defined by four integers for the space at the top, right, bottom, and left of a region,
+ Spacing is defined by four integers for the space at the top, right, bottom, and left of a region.
+
+ ```
+ ┌ ─ ─ ─ ─ ─ ─ ─▲─ ─ ─ ─ ─ ─ ─ ─ ┐
+ │ top
+ │ ┏━━━━━▼━━━━━━┓ │
+ ◀──────▶┃ ┃◀───────▶
+ │ left ┃ ┃ right │
+ ┃ ┃
+ │ ┗━━━━━▲━━━━━━┛ │
+ │ bottom
+ └ ─ ─ ─ ─ ─ ─ ─▼─ ─ ─ ─ ─ ─ ─ ─ ┘
+ ```
Example:
```python
diff --git a/src/textual/strip.py b/src/textual/strip.py
index 554acdecf..c1f9e2587 100644
--- a/src/textual/strip.py
+++ b/src/textual/strip.py
@@ -379,16 +379,22 @@ class Strip:
"""
pos = 0
+ cell_length = self.cell_length
+ cuts = [cut for cut in cuts if cut <= cell_length]
cache_key = tuple(cuts)
cached = self._divide_cache.get(cache_key)
if cached is not None:
return cached
- strips: list[Strip] = []
- add_strip = strips.append
- for segments, cut in zip(Segment.divide(self._segments, cuts), cuts):
- add_strip(Strip(segments, cut - pos))
- pos = cut
+ strips: list[Strip]
+ if cuts == [cell_length]:
+ strips = [self]
+ else:
+ strips = []
+ add_strip = strips.append
+ for segments, cut in zip(Segment.divide(self._segments, cuts), cuts):
+ add_strip(Strip(segments, cut - pos))
+ pos = cut
self._divide_cache[cache_key] = strips
return strips
diff --git a/src/textual/widgets/_footer.py b/src/textual/widgets/_footer.py
index c9b74ddc0..a52e05785 100644
--- a/src/textual/widgets/_footer.py
+++ b/src/textual/widgets/_footer.py
@@ -98,6 +98,7 @@ class Footer(Widget):
highlight_style = self.get_component_rich_style("footer--highlight")
highlight_key_style = self.get_component_rich_style("footer--highlight-key")
key_style = self.get_component_rich_style("footer--key")
+ description_style = self.get_component_rich_style("footer--description")
bindings = [
binding
@@ -122,7 +123,7 @@ class Footer(Widget):
(f" {key_display} ", highlight_key_style if hovered else key_style),
(
f" {binding.description} ",
- highlight_style if hovered else base_style,
+ highlight_style if hovered else base_style + description_style,
),
meta={
"@click": f"app.check_bindings('{binding.key}')",
diff --git a/src/textual/widgets/_tree.py b/src/textual/widgets/_tree.py
index aab6e9cc5..01cf2f180 100644
--- a/src/textual/widgets/_tree.py
+++ b/src/textual/widgets/_tree.py
@@ -207,6 +207,7 @@ class TreeNode(Generic[TreeDataType]):
"""
self._expanded = True
self._updates += 1
+ self._tree.post_message(Tree.NodeExpanded(self._tree, self))
if expand_all:
for child in self.children:
child._expand(expand_all)
@@ -239,6 +240,7 @@ class TreeNode(Generic[TreeDataType]):
"""
self._expanded = False
self._updates += 1
+ self._tree.post_message(Tree.NodeCollapsed(self._tree, self))
if collapse_all:
for child in self.children:
child._collapse(collapse_all)
@@ -1157,10 +1159,8 @@ class Tree(Generic[TreeDataType], ScrollView, can_focus=True):
return
if node.is_expanded:
node.collapse()
- self.post_message(self.NodeCollapsed(self, node))
else:
node.expand()
- self.post_message(self.NodeExpanded(self, node))
async def _on_click(self, event: events.Click) -> None:
meta = event.style.meta
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots.ambr b/tests/snapshot_tests/__snapshots__/test_snapshots.ambr
index cbee7ba35..8b03449d9 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots.ambr
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots.ambr
@@ -21,137 +21,138 @@
font-weight: 700;
}
- .terminal-369237853-matrix {
+ .terminal-1593336641-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-369237853-title {
+ .terminal-1593336641-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-369237853-r1 { fill: #c5c8c6 }
- .terminal-369237853-r2 { fill: #7ae998 }
- .terminal-369237853-r3 { fill: #0a180e;font-weight: bold }
- .terminal-369237853-r4 { fill: #008139 }
- .terminal-369237853-r5 { fill: #e1e1e1 }
- .terminal-369237853-r6 { fill: #e76580 }
- .terminal-369237853-r7 { fill: #f5e5e9;font-weight: bold }
- .terminal-369237853-r8 { fill: #780028 }
+ .terminal-1593336641-r1 { fill: #c5c8c6 }
+ .terminal-1593336641-r2 { fill: #7ae998 }
+ .terminal-1593336641-r3 { fill: #0a180e;font-weight: bold }
+ .terminal-1593336641-r4 { fill: #008139 }
+ .terminal-1593336641-r5 { fill: #e3dbce }
+ .terminal-1593336641-r6 { fill: #e1e1e1 }
+ .terminal-1593336641-r7 { fill: #e76580 }
+ .terminal-1593336641-r8 { fill: #f5e5e9;font-weight: bold }
+ .terminal-1593336641-r9 { fill: #780028 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- AlignContainersApp
+ AlignContainersApp
-
-
-
- ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- center
- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-
-
-
-
-
-
-
-
-
- ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- middle
- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-
-
-
-
-
-
-
-
+
+
+
+ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ center
+ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+
+
+
+
+
+
+
+
+
+ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ middle
+ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+
+
+
+
+
+
+
+
@@ -346,202 +347,202 @@
font-weight: 700;
}
- .terminal-2978213952-matrix {
+ .terminal-3056812568-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2978213952-title {
+ .terminal-3056812568-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2978213952-r1 { fill: #c5c8c6 }
- .terminal-2978213952-r2 { fill: #e3e3e3 }
- .terminal-2978213952-r3 { fill: #004578 }
- .terminal-2978213952-r4 { fill: #e1e1e1 }
- .terminal-2978213952-r5 { fill: #632ca6 }
- .terminal-2978213952-r6 { fill: #dde6ed;font-weight: bold }
- .terminal-2978213952-r7 { fill: #14191f }
- .terminal-2978213952-r8 { fill: #23568b }
+ .terminal-3056812568-r1 { fill: #c5c8c6 }
+ .terminal-3056812568-r2 { fill: #e3e3e3 }
+ .terminal-3056812568-r3 { fill: #004578 }
+ .terminal-3056812568-r4 { fill: #e1e1e1 }
+ .terminal-3056812568-r5 { fill: #632ca6 }
+ .terminal-3056812568-r6 { fill: #dde6ed;font-weight: bold }
+ .terminal-3056812568-r7 { fill: #14191f }
+ .terminal-3056812568-r8 { fill: #23568b }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- MyApp
+ MyApp
-
-
-
- ⭘MyApp
- ╭──────────────────╮╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
- │ok││test│
- │╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍││╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍│
- │││╭─ 0 ──────────────────────────────────────╮╭─ 1 ──────────────────────────────────────╮╭─ 2 ─────│
- │││││││││
- ││││ Foo Bar Baz ││ Foo Bar Baz ││ Foo │
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY▁▁││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY▁▁││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
- │││╰──────────────────────────────────────────╯╰──────────────────────────────────────────╯╰─────────│
- │││▋│
- ╰──────────────────╯╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
+
+
+
+ ⭘MyApp
+ ╭──────────────────╮╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
+ │ok││test│
+ │╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍││╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍│
+ │││╭─ 0 ──────────────────────────────────────╮╭─ 1 ──────────────────────────────────────╮╭─ 2 ─────│
+ │││││││││
+ ││││ Foo Bar Baz ││ Foo Bar Baz ││ Foo │
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY▁▁││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY▁▁││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ ││││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH 0123456789 IJKLMNOPQRSTUVWXY││ ABCDEFGH│
+ │││╰──────────────────────────────────────────╯╰──────────────────────────────────────────╯╰─────────│
+ │││▋│
+ ╰──────────────────╯╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
@@ -571,136 +572,136 @@
font-weight: 700;
}
- .terminal-3956291897-matrix {
+ .terminal-1625062503-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3956291897-title {
+ .terminal-1625062503-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3956291897-r1 { fill: #c5c8c6 }
- .terminal-3956291897-r2 { fill: #e3e3e3 }
- .terminal-3956291897-r3 { fill: #1e1e1e }
- .terminal-3956291897-r4 { fill: #0178d4 }
- .terminal-3956291897-r5 { fill: #e1e1e1 }
- .terminal-3956291897-r6 { fill: #e2e2e2 }
- .terminal-3956291897-r7 { fill: #ddedf9 }
+ .terminal-1625062503-r1 { fill: #c5c8c6 }
+ .terminal-1625062503-r2 { fill: #e3e3e3 }
+ .terminal-1625062503-r3 { fill: #1e1e1e }
+ .terminal-1625062503-r4 { fill: #0178d4 }
+ .terminal-1625062503-r5 { fill: #e1e1e1 }
+ .terminal-1625062503-r6 { fill: #e2e2e2 }
+ .terminal-1625062503-r7 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- InputWidthAutoApp
+ InputWidthAutoApp
-
-
-
- ⭘InputWidthAutoApp
- ▊▔▔▔▔▔▔▔▔▔▔▎
- ▊Hello▎
- ▊▁▁▁▁▁▁▁▁▁▁▎
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ ⭘InputWidthAutoApp
+ ▊▔▔▔▔▔▔▔▔▔▔▎
+ ▊Hello▎
+ ▊▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -731,136 +732,137 @@
font-weight: 700;
}
- .terminal-2059832628-matrix {
+ .terminal-2470781732-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2059832628-title {
+ .terminal-2470781732-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2059832628-r1 { fill: #1e1e1e }
- .terminal-2059832628-r2 { fill: #c5c8c6 }
- .terminal-2059832628-r3 { fill: #183118 }
- .terminal-2059832628-r4 { fill: #124512 }
- .terminal-2059832628-r5 { fill: #0c580c }
- .terminal-2059832628-r6 { fill: #066c06 }
- .terminal-2059832628-r7 { fill: #008000 }
+ .terminal-2470781732-r1 { fill: #1e1e1e }
+ .terminal-2470781732-r2 { fill: #c5c8c6 }
+ .terminal-2470781732-r3 { fill: #e1e1e1 }
+ .terminal-2470781732-r4 { fill: #183118 }
+ .terminal-2470781732-r5 { fill: #124512 }
+ .terminal-2470781732-r6 { fill: #0c580c }
+ .terminal-2470781732-r7 { fill: #066c06 }
+ .terminal-2470781732-r8 { fill: #008000 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- BorderAlphaApp
+ BorderAlphaApp
-
-
-
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
- ┃┃
- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
- ┃┃
- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
- ┃┃
- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
- ┃┃
- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
- ┃┃
- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
- ┃┃
- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
-
-
-
-
-
+
+
+
+ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+ ┃┃
+ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+ ┃┃
+ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+ ┃┃
+ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+ ┃┃
+ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+ ┃┃
+ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+ ┃┃
+ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+
+
+
+
+
@@ -1055,161 +1057,162 @@
font-weight: 700;
}
- .terminal-3643133712-matrix {
+ .terminal-619468389-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3643133712-title {
+ .terminal-619468389-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3643133712-r1 { fill: #c5c8c6 }
- .terminal-3643133712-r2 { fill: #e1e1e1;font-weight: bold }
- .terminal-3643133712-r3 { fill: #454a50 }
- .terminal-3643133712-r4 { fill: #35383c }
- .terminal-3643133712-r5 { fill: #24292f;font-weight: bold }
- .terminal-3643133712-r6 { fill: #7c7d7e;font-weight: bold }
- .terminal-3643133712-r7 { fill: #000000 }
- .terminal-3643133712-r8 { fill: #0c0c0c }
- .terminal-3643133712-r9 { fill: #507bb3 }
- .terminal-3643133712-r10 { fill: #3c5577 }
- .terminal-3643133712-r11 { fill: #dde6ed;font-weight: bold }
- .terminal-3643133712-r12 { fill: #75828b;font-weight: bold }
- .terminal-3643133712-r13 { fill: #001541 }
- .terminal-3643133712-r14 { fill: #0c1833 }
- .terminal-3643133712-r15 { fill: #7ae998 }
- .terminal-3643133712-r16 { fill: #559767 }
- .terminal-3643133712-r17 { fill: #0a180e;font-weight: bold }
- .terminal-3643133712-r18 { fill: #192e1f;font-weight: bold }
- .terminal-3643133712-r19 { fill: #008139 }
- .terminal-3643133712-r20 { fill: #0c592e }
- .terminal-3643133712-r21 { fill: #ffcf56 }
- .terminal-3643133712-r22 { fill: #a5883f }
- .terminal-3643133712-r23 { fill: #211505;font-weight: bold }
- .terminal-3643133712-r24 { fill: #3a2a13;font-weight: bold }
- .terminal-3643133712-r25 { fill: #b86b00 }
- .terminal-3643133712-r26 { fill: #7a4c0c }
- .terminal-3643133712-r27 { fill: #e76580 }
- .terminal-3643133712-r28 { fill: #964858 }
- .terminal-3643133712-r29 { fill: #f5e5e9;font-weight: bold }
- .terminal-3643133712-r30 { fill: #978186;font-weight: bold }
- .terminal-3643133712-r31 { fill: #780028 }
- .terminal-3643133712-r32 { fill: #540c24 }
+ .terminal-619468389-r1 { fill: #e1e1e1 }
+ .terminal-619468389-r2 { fill: #c5c8c6 }
+ .terminal-619468389-r3 { fill: #e1e1e1;font-weight: bold }
+ .terminal-619468389-r4 { fill: #454a50 }
+ .terminal-619468389-r5 { fill: #35383c }
+ .terminal-619468389-r6 { fill: #24292f;font-weight: bold }
+ .terminal-619468389-r7 { fill: #7c7d7e;font-weight: bold }
+ .terminal-619468389-r8 { fill: #000000 }
+ .terminal-619468389-r9 { fill: #0c0c0c }
+ .terminal-619468389-r10 { fill: #507bb3 }
+ .terminal-619468389-r11 { fill: #3c5577 }
+ .terminal-619468389-r12 { fill: #dde6ed;font-weight: bold }
+ .terminal-619468389-r13 { fill: #75828b;font-weight: bold }
+ .terminal-619468389-r14 { fill: #001541 }
+ .terminal-619468389-r15 { fill: #0c1833 }
+ .terminal-619468389-r16 { fill: #7ae998 }
+ .terminal-619468389-r17 { fill: #559767 }
+ .terminal-619468389-r18 { fill: #0a180e;font-weight: bold }
+ .terminal-619468389-r19 { fill: #192e1f;font-weight: bold }
+ .terminal-619468389-r20 { fill: #008139 }
+ .terminal-619468389-r21 { fill: #0c592e }
+ .terminal-619468389-r22 { fill: #ffcf56 }
+ .terminal-619468389-r23 { fill: #a5883f }
+ .terminal-619468389-r24 { fill: #211505;font-weight: bold }
+ .terminal-619468389-r25 { fill: #3a2a13;font-weight: bold }
+ .terminal-619468389-r26 { fill: #b86b00 }
+ .terminal-619468389-r27 { fill: #7a4c0c }
+ .terminal-619468389-r28 { fill: #e76580 }
+ .terminal-619468389-r29 { fill: #964858 }
+ .terminal-619468389-r30 { fill: #f5e5e9;font-weight: bold }
+ .terminal-619468389-r31 { fill: #978186;font-weight: bold }
+ .terminal-619468389-r32 { fill: #780028 }
+ .terminal-619468389-r33 { fill: #540c24 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- ButtonsApp
+ ButtonsApp
-
-
-
-
- Standard ButtonsDisabled Buttons
-
- ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- DefaultDefault
- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-
- ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Primary!Primary!
- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-
- ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Success!Success!
- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-
- ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Warning!Warning!
- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-
- ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Error!Error!
- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-
+
+
+
+
+ Standard ButtonsDisabled Buttons
+
+ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ DefaultDefault
+ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+
+ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ Primary!Primary!
+ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+
+ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ Success!Success!
+ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+
+ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ Warning!Warning!
+ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+
+ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ Error!Error!
+ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+
@@ -2482,134 +2485,135 @@
font-weight: 700;
}
- .terminal-2323733830-matrix {
+ .terminal-1331556511-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2323733830-title {
+ .terminal-1331556511-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2323733830-r1 { fill: #808080 }
- .terminal-2323733830-r2 { fill: #e1e1e1 }
- .terminal-2323733830-r3 { fill: #c5c8c6 }
- .terminal-2323733830-r4 { fill: #ddedf9 }
+ .terminal-1331556511-r1 { fill: #808080 }
+ .terminal-1331556511-r2 { fill: #e1e1e1 }
+ .terminal-1331556511-r3 { fill: #c5c8c6 }
+ .terminal-1331556511-r4 { fill: #ddedf9 }
+ .terminal-1331556511-r5 { fill: #e2e2e2 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- AlignAllApp
+ AlignAllApp
-
-
-
- ┌────────────────────────┐┌────────────────────────┐┌────────────────────────┐
- │left top││center top││right top│
- ││││││
- ││││││
- ││││││
- ││││││
- └────────────────────────┘└────────────────────────┘└────────────────────────┘
-
- ┌────────────────────────┐┌────────────────────────┐┌────────────────────────┐
- ││││││
- ││││││
- │left middle││center middle││right middle│
- ││││││
- ││││││
- └────────────────────────┘└────────────────────────┘└────────────────────────┘
-
- ┌────────────────────────┐┌────────────────────────┐┌────────────────────────┐
- ││││││
- ││││││
- ││││││
- ││││││
- ││││││
- │left bottom││center bottom││right bottom│
- └────────────────────────┘└────────────────────────┘└────────────────────────┘
+
+
+
+ ┌────────────────────────┐┌────────────────────────┐┌────────────────────────┐
+ │left top││center top││right top│
+ ││││││
+ ││││││
+ ││││││
+ ││││││
+ └────────────────────────┘└────────────────────────┘└────────────────────────┘
+
+ ┌────────────────────────┐┌────────────────────────┐┌────────────────────────┐
+ ││││││
+ ││││││
+ │left middle││center middle││right middle│
+ ││││││
+ ││││││
+ └────────────────────────┘└────────────────────────┘└────────────────────────┘
+
+ ┌────────────────────────┐┌────────────────────────┐┌────────────────────────┐
+ ││││││
+ ││││││
+ ││││││
+ ││││││
+ ││││││
+ │left bottom││center bottom││right bottom│
+ └────────────────────────┘└────────────────────────┘└────────────────────────┘
@@ -3273,141 +3277,141 @@
font-weight: 700;
}
- .terminal-1536397390-matrix {
+ .terminal-1997861159-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1536397390-title {
+ .terminal-1997861159-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1536397390-r1 { fill: #c5c8c6 }
- .terminal-1536397390-r2 { fill: #fea62b }
- .terminal-1536397390-r3 { fill: #fea62b;font-weight: bold }
- .terminal-1536397390-r4 { fill: #fea62b;font-weight: bold;font-style: italic; }
- .terminal-1536397390-r5 { fill: #cc555a;font-weight: bold }
- .terminal-1536397390-r6 { fill: #e1e1e1 }
- .terminal-1536397390-r7 { fill: #1e1e1e }
- .terminal-1536397390-r8 { fill: #1e1e1e;text-decoration: underline; }
- .terminal-1536397390-r9 { fill: #fea62b;text-decoration: underline; }
- .terminal-1536397390-r10 { fill: #4b4e55;text-decoration: underline; }
- .terminal-1536397390-r11 { fill: #4ebf71 }
- .terminal-1536397390-r12 { fill: #b93c5b }
+ .terminal-1997861159-r1 { fill: #e1e1e1 }
+ .terminal-1997861159-r2 { fill: #c5c8c6 }
+ .terminal-1997861159-r3 { fill: #fea62b }
+ .terminal-1997861159-r4 { fill: #fea62b;font-weight: bold }
+ .terminal-1997861159-r5 { fill: #fea62b;font-weight: bold;font-style: italic; }
+ .terminal-1997861159-r6 { fill: #cc555a;font-weight: bold }
+ .terminal-1997861159-r7 { fill: #1e1e1e }
+ .terminal-1997861159-r8 { fill: #1e1e1e;text-decoration: underline; }
+ .terminal-1997861159-r9 { fill: #fea62b;text-decoration: underline; }
+ .terminal-1997861159-r10 { fill: #4b4e55;text-decoration: underline; }
+ .terminal-1997861159-r11 { fill: #4ebf71 }
+ .terminal-1997861159-r12 { fill: #b93c5b }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- BorderSubTitleAlignAll
+ BorderSubTitleAlignAll
-
-
-
-
-
- ▏Border title▕╭─Lef…─╮▁▁▁▁▁Left▁▁▁▁▁
- ▏This is the story of▕│a Python│▎developer that▊
- ▏Border subtitle▕╰─Cen…─╯▔▔▔▔▔@@@▔▔▔▔▔▔
-
-
-
-
-
- +--------------+─Title─────────────────
- |had to fill up|nine labelsand ended up redoing it
- +-Left-------+──────────────Subtitle─
-
-
-
-
- ─Title, but really looo…─
- ─Title, but r…──Title, but reall…─
- because the first tryhad some labelsthat were too long.
- ─Subtitle, bu…──Subtitle, but re…─
- ─Subtitle, but really l…─
-
+
+
+
+
+
+ ▏Border title▕╭─Lef…─╮▁▁▁▁▁Left▁▁▁▁▁
+ ▏This is the story of▕│a Python│▎developer that▊
+ ▏Border subtitle▕╰─Cen…─╯▔▔▔▔▔@@@▔▔▔▔▔▔
+
+
+
+
+
+ +--------------+─Title─────────────────
+ |had to fill up|nine labelsand ended up redoing it
+ +-Left-------+──────────────Subtitle─
+
+
+
+
+ ─Title, but really looo…─
+ ─Title, but r…──Title, but reall…─
+ because the first tryhad some labelsthat were too long.
+ ─Subtitle, bu…──Subtitle, but re…─
+ ─Subtitle, but really l…─
+
@@ -5014,132 +5018,132 @@
font-weight: 700;
}
- .terminal-1564714526-matrix {
+ .terminal-1840966081-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1564714526-title {
+ .terminal-1840966081-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1564714526-r1 { fill: #e1e1e1 }
- .terminal-1564714526-r2 { fill: #c5c8c6 }
- .terminal-1564714526-r3 { fill: #ffffff }
+ .terminal-1840966081-r1 { fill: #e1e1e1 }
+ .terminal-1840966081-r2 { fill: #c5c8c6 }
+ .terminal-1840966081-r3 { fill: #ffffff }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- DockAllApp
+ DockAllApp
-
-
-
-
-
-
- ╭──────────────────────────────────────────────────────────╮
- │top│
- ││
- ││
- ││
- ││
- ││
- ││
- │leftright│
- ││
- ││
- ││
- ││
- ││
- ││
- ││
- │bottom│
- ╰──────────────────────────────────────────────────────────╯
-
-
+
+
+
+
+
+
+ ╭──────────────────────────────────────────────────────────╮
+ │top│
+ ││
+ ││
+ ││
+ ││
+ ││
+ ││
+ │leftright│
+ ││
+ ││
+ ││
+ ││
+ ││
+ ││
+ ││
+ │bottom│
+ ╰──────────────────────────────────────────────────────────╯
+
+
@@ -6427,132 +6431,134 @@
font-weight: 700;
}
- .terminal-2726481143-matrix {
+ .terminal-2838975926-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2726481143-title {
+ .terminal-2838975926-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2726481143-r1 { fill: #c5c8c6 }
- .terminal-2726481143-r2 { fill: #000000 }
- .terminal-2726481143-r3 { fill: #e1e1e1 }
+ .terminal-2838975926-r1 { fill: #efddef }
+ .terminal-2838975926-r2 { fill: #c5c8c6 }
+ .terminal-2838975926-r3 { fill: #000000 }
+ .terminal-2838975926-r4 { fill: #ddefef }
+ .terminal-2838975926-r5 { fill: #e1e1e1 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- LayoutApp
+ LayoutApp
-
-
-
-
- Layout
-
- Is
-
- Vertical
-
-
- LayoutIsHorizontal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Layout
+
+ Is
+
+ Vertical
+
+
+ LayoutIsHorizontal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -7839,140 +7845,141 @@
font-weight: 700;
}
- .terminal-4172255139-matrix {
+ .terminal-2245771963-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-4172255139-title {
+ .terminal-2245771963-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-4172255139-r1 { fill: #ffffff }
- .terminal-4172255139-r2 { fill: #c5c8c6 }
- .terminal-4172255139-r3 { fill: #ece5e5 }
- .terminal-4172255139-r4 { fill: #eee8e3 }
- .terminal-4172255139-r5 { fill: #e7e0e6 }
- .terminal-4172255139-r6 { fill: #eae2e4 }
- .terminal-4172255139-r7 { fill: #e3ede7 }
- .terminal-4172255139-r8 { fill: #e8ede4 }
- .terminal-4172255139-r9 { fill: #e1eceb }
- .terminal-4172255139-r10 { fill: #eeeddf }
+ .terminal-2245771963-r1 { fill: #ffffff }
+ .terminal-2245771963-r2 { fill: #c5c8c6 }
+ .terminal-2245771963-r3 { fill: #e0e0e0 }
+ .terminal-2245771963-r4 { fill: #ece5e5 }
+ .terminal-2245771963-r5 { fill: #eee8e3 }
+ .terminal-2245771963-r6 { fill: #e7e0e6 }
+ .terminal-2245771963-r7 { fill: #eae2e4 }
+ .terminal-2245771963-r8 { fill: #e3ede7 }
+ .terminal-2245771963-r9 { fill: #e8ede4 }
+ .terminal-2245771963-r10 { fill: #e1eceb }
+ .terminal-2245771963-r11 { fill: #eeeddf }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- MarginAllApp
+ MarginAllApp
-
-
-
- ╭────────────────╮╭─────────────────╮╭────────────────╮╭─────────────────╮
- ││││││││
- ││││││││
- ││││││││
- │││││margin││margin: 1 │
- │no margin││margin: 1││: 1 5││1 2 6│
- ││││││││
- ││││││││
- ││││││││
- ││││││││
- ╰────────────────╯╰─────────────────╯╰────────────────╯╰─────────────────╯
-
- ╭────────────────╮╭─────────────────╮╭────────────────╮╭─────────────────╮
- ││││││││
- ││││││││
- │││││margin-bottom: 4│││
- ││││││││
- │││margin-right: ││││margin-left: 3│
- │││3│││││
- │margin-top: 4│││││││
- ││││││││
- ││││││││
- ││││││││
- ╰────────────────╯╰─────────────────╯╰────────────────╯╰─────────────────╯
+
+
+
+ ╭────────────────╮╭─────────────────╮╭────────────────╮╭─────────────────╮
+ ││││││││
+ ││││││││
+ ││││││││
+ │││││margin││margin: 1 │
+ │no margin││margin: 1││: 1 5││1 2 6│
+ ││││││││
+ ││││││││
+ ││││││││
+ ││││││││
+ ╰────────────────╯╰─────────────────╯╰────────────────╯╰─────────────────╯
+
+ ╭────────────────╮╭─────────────────╮╭────────────────╮╭─────────────────╮
+ ││││││││
+ ││││││││
+ │││││margin-bottom: 4│││
+ ││││││││
+ │││margin-right: ││││margin-left: 3│
+ │││3│││││
+ │margin-top: 4│││││││
+ ││││││││
+ ││││││││
+ ││││││││
+ ╰────────────────╯╰─────────────────╯╰────────────────╯╰─────────────────╯
@@ -8160,134 +8167,134 @@
font-weight: 700;
}
- .terminal-987506037-matrix {
+ .terminal-1398959741-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-987506037-title {
+ .terminal-1398959741-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-987506037-r1 { fill: #c5c8c6 }
- .terminal-987506037-r2 { fill: #e8e0e7 }
- .terminal-987506037-r3 { fill: #eae3e5 }
- .terminal-987506037-r4 { fill: #ede6e6 }
- .terminal-987506037-r5 { fill: #efe9e4 }
+ .terminal-1398959741-r1 { fill: #c5c8c6 }
+ .terminal-1398959741-r2 { fill: #e8e0e7 }
+ .terminal-1398959741-r3 { fill: #eae3e5 }
+ .terminal-1398959741-r4 { fill: #ede6e6 }
+ .terminal-1398959741-r5 { fill: #efe9e4 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- MaxWidthApp
+ MaxWidthApp
-
-
-
-
-
- max-width:
- 50h
-
-
-
-
- max-width: 999
-
-
-
-
-
- max-width: 50%
-
-
-
-
-
- max-width: 30
-
-
+
+
+
+
+
+ max-width:
+ 50h
+
+
+
+
+ max-width: 999
+
+
+
+
+
+ max-width: 50%
+
+
+
+
+
+ max-width: 30
+
+
@@ -8637,134 +8644,134 @@
font-weight: 700;
}
- .terminal-3520697079-matrix {
+ .terminal-292160688-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3520697079-title {
+ .terminal-292160688-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3520697079-r1 { fill: #000000 }
- .terminal-3520697079-r2 { fill: #0000ff }
- .terminal-3520697079-r3 { fill: #c5c8c6 }
- .terminal-3520697079-r4 { fill: #ff0000 }
- .terminal-3520697079-r5 { fill: #008000 }
+ .terminal-292160688-r1 { fill: #000000 }
+ .terminal-292160688-r2 { fill: #0000ff }
+ .terminal-292160688-r3 { fill: #c5c8c6 }
+ .terminal-292160688-r4 { fill: #ff0000 }
+ .terminal-292160688-r5 { fill: #008000 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- OffsetApp
+ OffsetApp
-
-
-
- ▌▐
- ▌Chani (offset 0 ▐
- ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜▌-3)▐
- ▌▐▌▐
- ▌▐▌▐
- ▌▐▌▐
- ▌Paul (offset 8 2)▐▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟
- ▌▐
- ▌▐
- ▌▐
- ▌▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜
- ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌▐
- ▌▐
- ▌▐
- ▌Duncan (offset 4 ▐
- ▌10)▐
- ▌▐
- ▌▐
- ▌▐
- ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟
-
-
-
+
+
+
+ ▌▐
+ ▌Chani (offset 0 ▐
+ ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜▌-3)▐
+ ▌▐▌▐
+ ▌▐▌▐
+ ▌▐▌▐
+ ▌Paul (offset 8 2)▐▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟
+ ▌▐
+ ▌▐
+ ▌▐
+ ▌▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜
+ ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌▐
+ ▌▐
+ ▌▐
+ ▌Duncan (offset 4 ▐
+ ▌10)▐
+ ▌▐
+ ▌▐
+ ▌▐
+ ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟
+
+
+
@@ -9429,136 +9436,136 @@
font-weight: 700;
}
- .terminal-3720200886-matrix {
+ .terminal-2990670852-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3720200886-title {
+ .terminal-2990670852-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3720200886-r1 { fill: #c5c8c6 }
- .terminal-3720200886-r2 { fill: #000000 }
- .terminal-3720200886-r3 { fill: #008000 }
- .terminal-3720200886-r4 { fill: #e5f0e5 }
- .terminal-3720200886-r5 { fill: #036a03 }
- .terminal-3720200886-r6 { fill: #14191f }
+ .terminal-2990670852-r1 { fill: #c5c8c6 }
+ .terminal-2990670852-r2 { fill: #000000 }
+ .terminal-2990670852-r3 { fill: #008000 }
+ .terminal-2990670852-r4 { fill: #e5f0e5 }
+ .terminal-2990670852-r5 { fill: #036a03 }
+ .terminal-2990670852-r6 { fill: #14191f }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- OverflowApp
+ OverflowApp
-
-
-
-
- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
- ▎I must not fear.▊▎I must not fear.▊
- ▎Fear is the mind-killer.▊▎Fear is the mind-killer.▊
- ▎Fear is the little-death that ▊▎Fear is the little-death that ▊
- ▎brings total obliteration.▊▎brings total obliteration.▊
- ▎I will face my fear.▊▎I will face my fear.▊
- ▎I will permit it to pass over me▊▎I will permit it to pass over me ▊
- ▎and through me.▊▎and through me.▊
- ▎And when it has gone past, I ▊▎And when it has gone past, I will ▊
- ▎will turn the inner eye to see ▊▎turn the inner eye to see its ▊
- ▎its path.▊▁▁▎path.▊
- ▎Where the fear has gone there ▊▎Where the fear has gone there will▊
- ▎will be nothing. Only I will ▊▎be nothing. Only I will remain.▊
- ▎remain.▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎I must not fear.▊
- ▎I must not fear.▊▎Fear is the mind-killer.▊
- ▎Fear is the mind-killer.▊▎Fear is the little-death that ▊
- ▎Fear is the little-death that ▊▎brings total obliteration.▊
- ▎brings total obliteration.▊▎I will face my fear.▊
- ▎I will face my fear.▊▎I will permit it to pass over me ▊
- ▎I will permit it to pass over me▊▎and through me.▊
+
+
+
+
+ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+ ▎I must not fear.▊▎I must not fear.▊
+ ▎Fear is the mind-killer.▊▎Fear is the mind-killer.▊
+ ▎Fear is the little-death that ▊▎Fear is the little-death that ▊
+ ▎brings total obliteration.▊▎brings total obliteration.▊
+ ▎I will face my fear.▊▎I will face my fear.▊
+ ▎I will permit it to pass over me▊▎I will permit it to pass over me ▊
+ ▎and through me.▊▎and through me.▊
+ ▎And when it has gone past, I ▊▎And when it has gone past, I will ▊
+ ▎will turn the inner eye to see ▊▎turn the inner eye to see its ▊
+ ▎its path.▊▁▁▎path.▊
+ ▎Where the fear has gone there ▊▎Where the fear has gone there will▊
+ ▎will be nothing. Only I will ▊▎be nothing. Only I will remain.▊
+ ▎remain.▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎I must not fear.▊
+ ▎I must not fear.▊▎Fear is the mind-killer.▊
+ ▎Fear is the mind-killer.▊▎Fear is the little-death that ▊
+ ▎Fear is the little-death that ▊▎brings total obliteration.▊
+ ▎brings total obliteration.▊▎I will face my fear.▊
+ ▎I will face my fear.▊▎I will permit it to pass over me ▊
+ ▎I will permit it to pass over me▊▎and through me.▊
@@ -9743,138 +9750,138 @@
font-weight: 700;
}
- .terminal-2103878337-matrix {
+ .terminal-1642992271-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2103878337-title {
+ .terminal-1642992271-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2103878337-r1 { fill: #e7e0e6 }
- .terminal-2103878337-r2 { fill: #c5c8c6 }
- .terminal-2103878337-r3 { fill: #eae2e4 }
- .terminal-2103878337-r4 { fill: #ece5e5 }
- .terminal-2103878337-r5 { fill: #eee8e3 }
- .terminal-2103878337-r6 { fill: #e8ede4 }
- .terminal-2103878337-r7 { fill: #e3ede7 }
- .terminal-2103878337-r8 { fill: #e1eceb }
- .terminal-2103878337-r9 { fill: #eeeddf }
+ .terminal-1642992271-r1 { fill: #c5c8c6 }
+ .terminal-1642992271-r2 { fill: #e7e0e6 }
+ .terminal-1642992271-r3 { fill: #eae2e4 }
+ .terminal-1642992271-r4 { fill: #ece5e5 }
+ .terminal-1642992271-r5 { fill: #eee8e3 }
+ .terminal-1642992271-r6 { fill: #e8ede4 }
+ .terminal-1642992271-r7 { fill: #e3ede7 }
+ .terminal-1642992271-r8 { fill: #e1eceb }
+ .terminal-1642992271-r9 { fill: #eeeddf }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- PaddingAllApp
+ PaddingAllApp
-
-
-
- no padding
- padding: 1padding:padding: 1 1
- 1 52 6
-
-
-
-
-
-
-
-
-
- padding-right: 3padding-bottom: 4padding-left: 3
-
-
-
- padding-top: 4
-
-
-
-
-
-
+
+
+
+ no padding
+ padding: 1padding:padding: 1 1
+ 1 52 6
+
+
+
+
+
+
+
+
+
+ padding-right: 3padding-bottom: 4padding-left: 3
+
+
+
+ padding-top: 4
+
+
+
+
+
+
@@ -12284,141 +12291,141 @@
font-weight: 700;
}
- .terminal-1052270191-matrix {
+ .terminal-1938916138-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1052270191-title {
+ .terminal-1938916138-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1052270191-r1 { fill: #c5c8c6 }
- .terminal-1052270191-r2 { fill: #e8e0e7 }
- .terminal-1052270191-r3 { fill: #eae3e5 }
- .terminal-1052270191-r4 { fill: #ede6e6 }
- .terminal-1052270191-r5 { fill: #efe9e4 }
- .terminal-1052270191-r6 { fill: #efeedf }
- .terminal-1052270191-r7 { fill: #e9eee5 }
- .terminal-1052270191-r8 { fill: #e4eee8 }
- .terminal-1052270191-r9 { fill: #e2edeb }
- .terminal-1052270191-r10 { fill: #dfebed }
- .terminal-1052270191-r11 { fill: #ddedf9 }
+ .terminal-1938916138-r1 { fill: #c5c8c6 }
+ .terminal-1938916138-r2 { fill: #e8e0e7 }
+ .terminal-1938916138-r3 { fill: #eae3e5 }
+ .terminal-1938916138-r4 { fill: #ede6e6 }
+ .terminal-1938916138-r5 { fill: #efe9e4 }
+ .terminal-1938916138-r6 { fill: #efeedf }
+ .terminal-1938916138-r7 { fill: #e9eee5 }
+ .terminal-1938916138-r8 { fill: #e4eee8 }
+ .terminal-1938916138-r9 { fill: #e2edeb }
+ .terminal-1938916138-r10 { fill: #dfebed }
+ .terminal-1938916138-r11 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- HeightComparisonApp
+ HeightComparisonApp
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #cells#percent#w#h#vw#vh#auto#fr1#fr3
-
-
-
-
-
-
-
-
-
-
-
- ····•····•····•····•····•····•····•····•····•····•····•····•····•····•····•····•
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #cells#percent#w#h#vw#vh#auto#fr1#fr3
+
+
+
+
+
+
+
+
+
+
+
+ ····•····•····•····•····•····•····•····•····•····•····•····•····•····•····•····•
@@ -13562,168 +13569,168 @@
font-weight: 700;
}
- .terminal-614458704-matrix {
+ .terminal-4033540874-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-614458704-title {
+ .terminal-4033540874-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-614458704-r1 { fill: #c5c8c6 }
- .terminal-614458704-r2 { fill: #e3e3e3 }
- .terminal-614458704-r3 { fill: #e1e1e1 }
- .terminal-614458704-r4 { fill: #e2e2e2 }
- .terminal-614458704-r5 { fill: #14191f }
- .terminal-614458704-r6 { fill: #004578 }
- .terminal-614458704-r7 { fill: #262626 }
- .terminal-614458704-r8 { fill: #e2e2e2;font-weight: bold;text-decoration: underline; }
- .terminal-614458704-r9 { fill: #e2e2e2;font-weight: bold }
- .terminal-614458704-r10 { fill: #7ae998 }
- .terminal-614458704-r11 { fill: #4ebf71;font-weight: bold }
- .terminal-614458704-r12 { fill: #008139 }
- .terminal-614458704-r13 { fill: #dde8f3;font-weight: bold }
- .terminal-614458704-r14 { fill: #ddedf9 }
+ .terminal-4033540874-r1 { fill: #c5c8c6 }
+ .terminal-4033540874-r2 { fill: #e3e3e3 }
+ .terminal-4033540874-r3 { fill: #e1e1e1 }
+ .terminal-4033540874-r4 { fill: #e2e2e2 }
+ .terminal-4033540874-r5 { fill: #14191f }
+ .terminal-4033540874-r6 { fill: #004578 }
+ .terminal-4033540874-r7 { fill: #262626 }
+ .terminal-4033540874-r8 { fill: #e2e2e2;font-weight: bold;text-decoration: underline; }
+ .terminal-4033540874-r9 { fill: #e2e2e2;font-weight: bold }
+ .terminal-4033540874-r10 { fill: #7ae998 }
+ .terminal-4033540874-r11 { fill: #4ebf71;font-weight: bold }
+ .terminal-4033540874-r12 { fill: #008139 }
+ .terminal-4033540874-r13 { fill: #dde8f3;font-weight: bold }
+ .terminal-4033540874-r14 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- Textual Demo
+ Textual Demo
-
-
-
- ⭘Textual Demo
-
-
- TOP
-
- ▆▆
-
- Widgets
- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
- ▎▊
- ▎▊
- Rich content▎Textual Demo▊
- ▎▊
- ▎Welcome! Textual is a framework for creating sophisticated▊
- ▎applications with the terminal.▊
- CSS▎▊
- ▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▊
- ▎Start▊
- ▎▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▊
- ▎▊
- ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-
-
-
-
-
-
-
-
- CTRL+C Quit CTRL+B Sidebar CTRL+T Toggle Dark mode CTRL+S Screenshot F1 Notes
+
+
+
+ ⭘Textual Demo
+
+
+ TOP
+
+ ▆▆
+
+ Widgets
+ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+ ▎▊
+ ▎▊
+ Rich content▎Textual Demo▊
+ ▎▊
+ ▎Welcome! Textual is a framework for creating sophisticated▊
+ ▎applications with the terminal.▊
+ CSS▎▊
+ ▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▊
+ ▎Start▊
+ ▎▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▊
+ ▎▊
+ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+
+
+
+
+
+
+
+
+ CTRL+C Quit CTRL+B Sidebar CTRL+T Toggle Dark mode CTRL+S Screenshot F1 Notes
@@ -14094,141 +14101,141 @@
font-weight: 700;
}
- .terminal-2216843056-matrix {
+ .terminal-2702154472-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2216843056-title {
+ .terminal-2702154472-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2216843056-r1 { fill: #c5c8c6 }
- .terminal-2216843056-r2 { fill: #1e1e1e }
- .terminal-2216843056-r3 { fill: #1f1f1f }
- .terminal-2216843056-r4 { fill: #ff0000 }
- .terminal-2216843056-r5 { fill: #dde8f3;font-weight: bold }
- .terminal-2216843056-r6 { fill: #ddedf9 }
- .terminal-2216843056-r7 { fill: #c7cdd2 }
+ .terminal-2702154472-r1 { fill: #c5c8c6 }
+ .terminal-2702154472-r2 { fill: #1e1e1e }
+ .terminal-2702154472-r3 { fill: #1f1f1f }
+ .terminal-2702154472-r4 { fill: #ff0000 }
+ .terminal-2702154472-r5 { fill: #dde8f3;font-weight: bold }
+ .terminal-2702154472-r6 { fill: #ddedf9 }
+ .terminal-2702154472-r7 { fill: #c7cdd2 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- TestApp
+ TestApp
-
-
-
- ⭘TestApp
- ┌─────────┐
- │this│
- │is│
- │a│
- │sample│
- │sentence│
- │and│
- │here│
- │are│
- │some│
- │wordsthis│
- │is│
- │a│
- │sample│
- │sentence│
- │and│
- │here│
- │are│
- │some│
- │words│
- CTRL+Q Quit
-
-
- ▇▇
+
+
+
+ ⭘TestApp
+ ┌─────────┐
+ │this│
+ │is│
+ │a│
+ │sample│
+ │sentence│
+ │and│
+ │here│
+ │are│
+ │some│
+ │wordsthis│
+ │is│
+ │a│
+ │sample│
+ │sentence│
+ │and│
+ │here│
+ │are│
+ │some│
+ │words│
+ CTRL+Q Quit
+
+
+ ▇▇
@@ -14428,135 +14435,135 @@
font-weight: 700;
}
- .terminal-2886576672-matrix {
+ .terminal-1801121102-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2886576672-title {
+ .terminal-1801121102-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2886576672-r1 { fill: #c5c8c6 }
- .terminal-2886576672-r2 { fill: #e3e3e3 }
- .terminal-2886576672-r3 { fill: #ffdddd }
- .terminal-2886576672-r4 { fill: #e1e1e1 }
- .terminal-2886576672-r5 { fill: #14191f }
- .terminal-2886576672-r6 { fill: #ddedf9 }
+ .terminal-1801121102-r1 { fill: #c5c8c6 }
+ .terminal-1801121102-r2 { fill: #e3e3e3 }
+ .terminal-1801121102-r3 { fill: #ffdddd }
+ .terminal-1801121102-r4 { fill: #e1e1e1 }
+ .terminal-1801121102-r5 { fill: #14191f }
+ .terminal-1801121102-r6 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- StyleBugApp
+ StyleBugApp
-
-
-
- ⭘StyleBugApp
- test widget 0
- test widget 1
- test widget 2
- test widget 3
- test widget 4
- test widget 5
- test widget 6
- test widget 7
- test widget 8
- test widget 9
- test widget 10
- test widget 11
- test widget 12▇▇
- test widget 13
- test widget 14
- test widget 15
- test widget 16
- test widget 17
- test widget 18
- test widget 19
- test widget 20
- test widget 21
+
+
+
+ ⭘StyleBugApp
+ test widget 0
+ test widget 1
+ test widget 2
+ test widget 3
+ test widget 4
+ test widget 5
+ test widget 6
+ test widget 7
+ test widget 8
+ test widget 9
+ test widget 10
+ test widget 11
+ test widget 12▇▇
+ test widget 13
+ test widget 14
+ test widget 15
+ test widget 16
+ test widget 17
+ test widget 18
+ test widget 19
+ test widget 20
+ test widget 21
@@ -14744,137 +14751,138 @@
font-weight: 700;
}
- .terminal-1298369243-matrix {
+ .terminal-1665781252-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1298369243-title {
+ .terminal-1665781252-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1298369243-r1 { fill: #008000 }
- .terminal-1298369243-r2 { fill: #c5c8c6 }
- .terminal-1298369243-r3 { fill: #e0e6e0 }
+ .terminal-1665781252-r1 { fill: #008000 }
+ .terminal-1665781252-r2 { fill: #c5c8c6 }
+ .terminal-1665781252-r3 { fill: #e0e4e0 }
+ .terminal-1665781252-r4 { fill: #e0e6e0 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- TestApp
+ TestApp
-
-
-
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
- ┃┃
- ┃┃
- ┃Hello┃
- ┃┃
- ┃┃
- ┃┃
- ┃┃
- ┃┃
- ┃┃
- ┃World┃
- ┃┃
- ┃┃
- ┃┃
- ┃┃
- ┃┃
- ┃┃
- ┃!!┃
- ┃┃
- ┃┃
- ┃┃
- ┃┃
- ┃┃
- ┃┃
- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+
+
+
+ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+ ┃┃
+ ┃┃
+ ┃Hello┃
+ ┃┃
+ ┃┃
+ ┃┃
+ ┃┃
+ ┃┃
+ ┃┃
+ ┃World┃
+ ┃┃
+ ┃┃
+ ┃┃
+ ┃┃
+ ┃┃
+ ┃┃
+ ┃!!┃
+ ┃┃
+ ┃┃
+ ┃┃
+ ┃┃
+ ┃┃
+ ┃┃
+ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
@@ -14904,135 +14912,136 @@
font-weight: 700;
}
- .terminal-2371169958-matrix {
+ .terminal-1035580841-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2371169958-title {
+ .terminal-1035580841-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2371169958-r1 { fill: #c5c8c6 }
- .terminal-2371169958-r2 { fill: #e3e3e3 }
- .terminal-2371169958-r3 { fill: #e3e4e5 }
- .terminal-2371169958-r4 { fill: #e2e3e3 }
- .terminal-2371169958-r5 { fill: #14191f }
- .terminal-2371169958-r6 { fill: #ddedf9 }
+ .terminal-1035580841-r1 { fill: #c5c8c6 }
+ .terminal-1035580841-r2 { fill: #e3e3e3 }
+ .terminal-1035580841-r3 { fill: #ddddff }
+ .terminal-1035580841-r4 { fill: #e3e4e5 }
+ .terminal-1035580841-r5 { fill: #e2e3e3 }
+ .terminal-1035580841-r6 { fill: #14191f }
+ .terminal-1035580841-r7 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- ScreenSplitApp
+ ScreenSplitApp
-
-
-
- ⭘ScreenSplitApp
- This is content This is content number 0
- number 0This is content number 1
- This is content ▄▄This is content number 2
- number 1This is content number 3
- This is content This is content number 4▁▁
- number 2This is content number 5
- This is content This is content number 6
- number 3This is content number 7
- This is content This is content number 8
- number 4This is content number 9
- This is content This is content number 10
- number 5This is content number 11
- This is content This is content number 12
- number 6This is content number 13
- This is content This is content number 14
- number 7This is content number 15
- This is content This is content number 16
- number 8This is content number 17
- This is content This is content number 18
- number 9This is content number 19
- This is content This is content number 20
- number 10This is content number 21
+
+
+
+ ⭘ScreenSplitApp
+ This is content This is content number 0
+ number 0This is content number 1
+ This is content ▄▄This is content number 2
+ number 1This is content number 3
+ This is content This is content number 4▁▁
+ number 2This is content number 5
+ This is content This is content number 6
+ number 3This is content number 7
+ This is content This is content number 8
+ number 4This is content number 9
+ This is content This is content number 10
+ number 5This is content number 11
+ This is content This is content number 12
+ number 6This is content number 13
+ This is content This is content number 14
+ number 7This is content number 15
+ This is content This is content number 16
+ number 8This is content number 17
+ This is content This is content number 18
+ number 9This is content number 19
+ This is content This is content number 20
+ number 10This is content number 21
@@ -15687,132 +15696,132 @@
font-weight: 700;
}
- .terminal-2648118808-matrix {
+ .terminal-4077214022-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2648118808-title {
+ .terminal-4077214022-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2648118808-r1 { fill: #c5c8c6 }
- .terminal-2648118808-r2 { fill: #e3e3e3 }
- .terminal-2648118808-r3 { fill: #e1e1e1 }
+ .terminal-4077214022-r1 { fill: #c5c8c6 }
+ .terminal-4077214022-r2 { fill: #e3e3e3 }
+ .terminal-4077214022-r3 { fill: #e1e1e1 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- HeaderApp
+ HeaderApp
-
-
-
- ⭘HeaderApp
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ ⭘HeaderApp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -16473,146 +16482,146 @@
font-weight: 700;
}
- .terminal-641812469-matrix {
+ .terminal-2572323619-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-641812469-title {
+ .terminal-2572323619-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-641812469-r1 { fill: #c5c8c6 }
- .terminal-641812469-r2 { fill: #e3e3e3 }
- .terminal-641812469-r3 { fill: #e1e1e1 }
- .terminal-641812469-r4 { fill: #e1e1e1;text-decoration: underline; }
- .terminal-641812469-r5 { fill: #e1e1e1;font-weight: bold }
- .terminal-641812469-r6 { fill: #e1e1e1;font-style: italic; }
- .terminal-641812469-r7 { fill: #98729f;font-weight: bold }
- .terminal-641812469-r8 { fill: #d0b344 }
- .terminal-641812469-r9 { fill: #98a84b }
- .terminal-641812469-r10 { fill: #00823d;font-style: italic; }
- .terminal-641812469-r11 { fill: #ffcf56 }
- .terminal-641812469-r12 { fill: #e76580 }
- .terminal-641812469-r13 { fill: #211505;font-weight: bold }
- .terminal-641812469-r14 { fill: #f5e5e9;font-weight: bold }
- .terminal-641812469-r15 { fill: #b86b00 }
- .terminal-641812469-r16 { fill: #780028 }
+ .terminal-2572323619-r1 { fill: #c5c8c6 }
+ .terminal-2572323619-r2 { fill: #e3e3e3 }
+ .terminal-2572323619-r3 { fill: #e1e1e1 }
+ .terminal-2572323619-r4 { fill: #e1e1e1;text-decoration: underline; }
+ .terminal-2572323619-r5 { fill: #e1e1e1;font-weight: bold }
+ .terminal-2572323619-r6 { fill: #e1e1e1;font-style: italic; }
+ .terminal-2572323619-r7 { fill: #98729f;font-weight: bold }
+ .terminal-2572323619-r8 { fill: #d0b344 }
+ .terminal-2572323619-r9 { fill: #98a84b }
+ .terminal-2572323619-r10 { fill: #00823d;font-style: italic; }
+ .terminal-2572323619-r11 { fill: #ffcf56 }
+ .terminal-2572323619-r12 { fill: #e76580 }
+ .terminal-2572323619-r13 { fill: #211505;font-weight: bold }
+ .terminal-2572323619-r14 { fill: #f5e5e9;font-weight: bold }
+ .terminal-2572323619-r15 { fill: #b86b00 }
+ .terminal-2572323619-r16 { fill: #780028 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- Textual Keys
+ Textual Keys
-
-
-
- ⭘Textual Keys
- ╭────────────────────────────────────────────────────────────────────────────╮
- │Press some keys!│
- ││
- │To quit the app press ctrl+ctwice or press the Quit button below.│
- ╰────────────────────────────────────────────────────────────────────────────╯
- Key(key='a', character='a', name='a', is_printable=True)
- Key(key='b', character='b', name='b', is_printable=True)
-
-
-
-
-
-
-
-
-
-
-
-
-
- ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- ClearQuit
- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+
+
+
+ ⭘Textual Keys
+ ╭────────────────────────────────────────────────────────────────────────────╮
+ │Press some keys!│
+ ││
+ │To quit the app press ctrl+ctwice or press the Quit button below.│
+ ╰────────────────────────────────────────────────────────────────────────────╯
+ Key(key='a', character='a', name='a', is_printable=True)
+ Key(key='b', character='b', name='b', is_printable=True)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ ClearQuit
+ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
@@ -16800,136 +16809,136 @@
font-weight: 700;
}
- .terminal-513592180-matrix {
+ .terminal-1675990519-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-513592180-title {
+ .terminal-1675990519-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-513592180-r1 { fill: #c5c8c6 }
- .terminal-513592180-r2 { fill: #e3e3e3 }
- .terminal-513592180-r3 { fill: #ff0000 }
- .terminal-513592180-r4 { fill: #e1e1e1 }
- .terminal-513592180-r5 { fill: #dde8f3;font-weight: bold }
- .terminal-513592180-r6 { fill: #ddedf9 }
+ .terminal-1675990519-r1 { fill: #c5c8c6 }
+ .terminal-1675990519-r2 { fill: #e3e3e3 }
+ .terminal-1675990519-r3 { fill: #e1e1e1 }
+ .terminal-1675990519-r4 { fill: #ff0000 }
+ .terminal-1675990519-r5 { fill: #dde8f3;font-weight: bold }
+ .terminal-1675990519-r6 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- DialogIssueApp
+ DialogIssueApp
-
-
-
- ⭘DialogIssueApp
-
-
-
-
-
- ╭───────────────────────────────────────╮
- ││
- ││
- ││
- ││
- ││
- │This should not cause a scrollbar to ap│
- ││
- ││
- ││
- ││
- ││
- ╰───────────────────────────────────────╯
-
-
-
-
- D Toggle the dialog
+
+
+
+ ⭘DialogIssueApp
+
+
+
+
+
+ ╭───────────────────────────────────────╮
+ ││
+ ││
+ ││
+ ││
+ ││
+ │This should not cause a scrollbar to ap│
+ ││
+ ││
+ ││
+ ││
+ ││
+ ╰───────────────────────────────────────╯
+
+
+
+
+ D Toggle the dialog
@@ -17927,135 +17936,135 @@
font-weight: 700;
}
- .terminal-2423395429-matrix {
+ .terminal-543315859-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2423395429-title {
+ .terminal-543315859-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2423395429-r1 { fill: #c5c8c6 }
- .terminal-2423395429-r2 { fill: #e3e3e3 }
- .terminal-2423395429-r3 { fill: #e1e1e1 }
- .terminal-2423395429-r4 { fill: #dde8f3;font-weight: bold }
- .terminal-2423395429-r5 { fill: #ddedf9 }
+ .terminal-543315859-r1 { fill: #c5c8c6 }
+ .terminal-543315859-r2 { fill: #e3e3e3 }
+ .terminal-543315859-r3 { fill: #e1e1e1 }
+ .terminal-543315859-r4 { fill: #dde8f3;font-weight: bold }
+ .terminal-543315859-r5 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- ModalApp
+ ModalApp
-
-
-
- ⭘ModalApp
- Hello
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ⏎ Open Dialog
+
+
+
+ ⭘ModalApp
+ Hello
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ⏎ Open Dialog
@@ -18722,136 +18731,136 @@
font-weight: 700;
}
- .terminal-1829927563-matrix {
+ .terminal-1812315577-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1829927563-title {
+ .terminal-1812315577-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1829927563-r1 { fill: #c5c8c6 }
- .terminal-1829927563-r2 { fill: #e3e3e3 }
- .terminal-1829927563-r3 { fill: #e1e1e1 }
- .terminal-1829927563-r4 { fill: #004578 }
- .terminal-1829927563-r5 { fill: #e0e8ee;font-weight: bold }
- .terminal-1829927563-r6 { fill: #e2e3e3 }
- .terminal-1829927563-r7 { fill: #ddedf9 }
+ .terminal-1812315577-r1 { fill: #c5c8c6 }
+ .terminal-1812315577-r2 { fill: #e3e3e3 }
+ .terminal-1812315577-r3 { fill: #e1e1e1 }
+ .terminal-1812315577-r4 { fill: #004578 }
+ .terminal-1812315577-r5 { fill: #e0e8ee;font-weight: bold }
+ .terminal-1812315577-r6 { fill: #e2e3e3 }
+ .terminal-1812315577-r7 { 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│
+ ││
+ ││
+ ╰──────────────────────────────────────────────────────╯
+
+
+
@@ -18882,139 +18891,139 @@
font-weight: 700;
}
- .terminal-2055091312-matrix {
+ .terminal-1041266590-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2055091312-title {
+ .terminal-1041266590-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2055091312-r1 { fill: #c5c8c6 }
- .terminal-2055091312-r2 { fill: #e3e3e3 }
- .terminal-2055091312-r3 { fill: #e1e1e1 }
- .terminal-2055091312-r4 { fill: #004578 }
- .terminal-2055091312-r5 { fill: #e0e8ee;font-weight: bold }
- .terminal-2055091312-r6 { fill: #e2e3e3 }
- .terminal-2055091312-r7 { fill: #42464b }
- .terminal-2055091312-r8 { fill: #777a7e }
- .terminal-2055091312-r9 { fill: #14191f }
- .terminal-2055091312-r10 { fill: #ddedf9 }
+ .terminal-1041266590-r1 { fill: #c5c8c6 }
+ .terminal-1041266590-r2 { fill: #e3e3e3 }
+ .terminal-1041266590-r3 { fill: #e1e1e1 }
+ .terminal-1041266590-r4 { fill: #004578 }
+ .terminal-1041266590-r5 { fill: #e0e8ee;font-weight: bold }
+ .terminal-1041266590-r6 { fill: #e2e3e3 }
+ .terminal-1041266590-r7 { fill: #42464b }
+ .terminal-1041266590-r8 { fill: #777a7e }
+ .terminal-1041266590-r9 { fill: #14191f }
+ .terminal-1041266590-r10 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- OptionListApp
+ OptionListApp
-
-
-
- ⭘OptionListApp
-
-
-
- ╭──────────────────────────────────────────────────────╮
- │Aerilon│
- │Aquaria│
- │────────────────────────────────────────────────────│
- │Canceron│
- │Caprica│
- │────────────────────────────────────────────────────│
- │Gemenon│
- │────────────────────────────────────────────────────│
- │Leonis│
- │Libran│
- │────────────────────────────────────────────────────▅▅│
- │Picon│
- │────────────────────────────────────────────────────│
- │Sagittaron│
- ╰──────────────────────────────────────────────────────╯
-
-
-
+
+
+
+ ⭘OptionListApp
+
+
+
+ ╭──────────────────────────────────────────────────────╮
+ │Aerilon│
+ │Aquaria│
+ │────────────────────────────────────────────────────│
+ │Canceron│
+ │Caprica│
+ │────────────────────────────────────────────────────│
+ │Gemenon│
+ │────────────────────────────────────────────────────│
+ │Leonis│
+ │Libran│
+ │────────────────────────────────────────────────────▅▅│
+ │Picon│
+ │────────────────────────────────────────────────────│
+ │Sagittaron│
+ ╰──────────────────────────────────────────────────────╯
+
+
+
@@ -19045,140 +19054,140 @@
font-weight: 700;
}
- .terminal-1395459687-matrix {
+ .terminal-1620527509-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1395459687-title {
+ .terminal-1620527509-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1395459687-r1 { fill: #c5c8c6 }
- .terminal-1395459687-r2 { fill: #e3e3e3 }
- .terminal-1395459687-r3 { fill: #e1e1e1 }
- .terminal-1395459687-r4 { fill: #004578 }
- .terminal-1395459687-r5 { fill: #e0e8ee;font-weight: bold;font-style: italic; }
- .terminal-1395459687-r6 { fill: #e2e3e3 }
- .terminal-1395459687-r7 { fill: #e0e8ee;font-weight: bold }
- .terminal-1395459687-r8 { fill: #14191f }
- .terminal-1395459687-r9 { fill: #e2e3e3;font-style: italic; }
- .terminal-1395459687-r10 { fill: #e2e3e3;font-weight: bold }
- .terminal-1395459687-r11 { fill: #ddedf9 }
+ .terminal-1620527509-r1 { fill: #c5c8c6 }
+ .terminal-1620527509-r2 { fill: #e3e3e3 }
+ .terminal-1620527509-r3 { fill: #e1e1e1 }
+ .terminal-1620527509-r4 { fill: #004578 }
+ .terminal-1620527509-r5 { fill: #e0e8ee;font-weight: bold;font-style: italic; }
+ .terminal-1620527509-r6 { fill: #e2e3e3 }
+ .terminal-1620527509-r7 { fill: #e0e8ee;font-weight: bold }
+ .terminal-1620527509-r8 { fill: #14191f }
+ .terminal-1620527509-r9 { fill: #e2e3e3;font-style: italic; }
+ .terminal-1620527509-r10 { fill: #e2e3e3;font-weight: bold }
+ .terminal-1620527509-r11 { 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 │
+ │┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓│
+ ╰──────────────────────────────────────────────────────╯
+
+
+
@@ -19367,136 +19376,136 @@
font-weight: 700;
}
- .terminal-3980370474-matrix {
+ .terminal-1392305496-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3980370474-title {
+ .terminal-1392305496-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3980370474-r1 { fill: #ffff00 }
- .terminal-3980370474-r2 { fill: #e3e3e3 }
- .terminal-3980370474-r3 { fill: #c5c8c6 }
- .terminal-3980370474-r4 { fill: #e1e1e1 }
- .terminal-3980370474-r5 { fill: #dde8f3;font-weight: bold }
- .terminal-3980370474-r6 { fill: #ddedf9 }
+ .terminal-1392305496-r1 { fill: #ffff00 }
+ .terminal-1392305496-r2 { fill: #e3e3e3 }
+ .terminal-1392305496-r3 { fill: #c5c8c6 }
+ .terminal-1392305496-r4 { fill: #e1e1e1 }
+ .terminal-1392305496-r5 { fill: #dde8f3;font-weight: bold }
+ .terminal-1392305496-r6 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- Layers
+ Layers
-
-
-
- ┌──────────────────────────────────┐Layers
- ││It's full of stars! My God! It's full of sta
- ││
- │This should float over the top│
- ││
- ││
- └──────────────────────────────────┘
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- T Toggle Screen
+
+
+
+ ┌──────────────────────────────────┐Layers
+ ││It's full of stars! My God! It's full of sta
+ ││
+ │This should float over the top│
+ ││
+ ││
+ └──────────────────────────────────┘
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ T Toggle Screen
@@ -19526,136 +19535,136 @@
font-weight: 700;
}
- .terminal-1053593998-matrix {
+ .terminal-3727479996-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1053593998-title {
+ .terminal-3727479996-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1053593998-r1 { fill: #ffff00 }
- .terminal-1053593998-r2 { fill: #e3e3e3 }
- .terminal-1053593998-r3 { fill: #c5c8c6 }
- .terminal-1053593998-r4 { fill: #ddeedd }
- .terminal-1053593998-r5 { fill: #dde8f3;font-weight: bold }
- .terminal-1053593998-r6 { fill: #ddedf9 }
+ .terminal-3727479996-r1 { fill: #ffff00 }
+ .terminal-3727479996-r2 { fill: #e3e3e3 }
+ .terminal-3727479996-r3 { fill: #c5c8c6 }
+ .terminal-3727479996-r4 { fill: #ddeedd }
+ .terminal-3727479996-r5 { fill: #dde8f3;font-weight: bold }
+ .terminal-3727479996-r6 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- Layers
+ Layers
-
-
-
- ┌──────────────────────────────────┐Layers
- ││It's full of stars! My God! It's full of sta
- ││
- │This should float over the top│
- ││
- ││
- └──────────────────────────────────┘
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- T Toggle Screen
+
+
+
+ ┌──────────────────────────────────┐Layers
+ ││It's full of stars! My God! It's full of sta
+ ││
+ │This should float over the top│
+ ││
+ ││
+ └──────────────────────────────────┘
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ T Toggle Screen
@@ -19685,142 +19694,142 @@
font-weight: 700;
}
- .terminal-700023403-matrix {
+ .terminal-1570661136-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-700023403-title {
+ .terminal-1570661136-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-700023403-r1 { fill: #c5c8c6 }
- .terminal-700023403-r2 { fill: #eae3e5 }
- .terminal-700023403-r3 { fill: #e8e0e7 }
- .terminal-700023403-r4 { fill: #efe9e4 }
- .terminal-700023403-r5 { fill: #ede6e6 }
- .terminal-700023403-r6 { fill: #efeedf }
- .terminal-700023403-r7 { fill: #e9eee5 }
- .terminal-700023403-r8 { fill: #e2edeb }
- .terminal-700023403-r9 { fill: #e4eee8;font-weight: bold }
- .terminal-700023403-r10 { fill: #dfebed;font-weight: bold }
- .terminal-700023403-r11 { fill: #dfe9ed }
- .terminal-700023403-r12 { fill: #e3e6eb;font-weight: bold }
- .terminal-700023403-r13 { fill: #e6e3e9 }
+ .terminal-1570661136-r1 { fill: #c5c8c6 }
+ .terminal-1570661136-r2 { fill: #eae3e5 }
+ .terminal-1570661136-r3 { fill: #e8e0e7 }
+ .terminal-1570661136-r4 { fill: #efe9e4 }
+ .terminal-1570661136-r5 { fill: #ede6e6 }
+ .terminal-1570661136-r6 { fill: #efeedf }
+ .terminal-1570661136-r7 { fill: #e9eee5 }
+ .terminal-1570661136-r8 { fill: #e2edeb }
+ .terminal-1570661136-r9 { fill: #e4eee8;font-weight: bold }
+ .terminal-1570661136-r10 { fill: #dfebed;font-weight: bold }
+ .terminal-1570661136-r11 { fill: #dfe9ed }
+ .terminal-1570661136-r12 { fill: #e3e6eb;font-weight: bold }
+ .terminal-1570661136-r13 { fill: #e6e3e9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- PlaceholderApp
+ PlaceholderApp
-
-
-
-
- Placeholder p2 here!
- This is a custom label for p1.
- #p4
- #p3#p5Placeholde
- r
-
- Lorem ipsum dolor sit
- 26 x 6amet, consectetur 27 x 6
- adipiscing elit. Etiam
- feugiat ac elit sit amet
-
-
- Lorem ipsum dolor sit amet,
- consectetur adipiscing elit. Etiam 40 x 6
- feugiat ac elit sit amet accumsan.
- Suspendisse bibendum nec libero quis
- gravida. Phasellus id eleifend ligula.
- Nullam imperdiet sem tellus, sed
- vehicula nisl faucibus sit amet. Lorem ipsum dolor sit amet,
- Praesent iaculis tempor ultricies. Sedconsectetur adipiscing elit. Etiam
- lacinia, tellus id rutrum lacinia, feugiat ac elit sit amet accumsan.
- sapien sapien congue mauris, sit amet Suspendisse bibendum nec libero quis
+
+
+
+
+ Placeholder p2 here!
+ This is a custom label for p1.
+ #p4
+ #p3#p5Placeholde
+ r
+
+ Lorem ipsum dolor sit
+ 26 x 6amet, consectetur 27 x 6
+ adipiscing elit. Etiam
+ feugiat ac elit sit amet
+
+
+ Lorem ipsum dolor sit amet,
+ consectetur adipiscing elit. Etiam 40 x 6
+ feugiat ac elit sit amet accumsan.
+ Suspendisse bibendum nec libero quis
+ gravida. Phasellus id eleifend ligula.
+ Nullam imperdiet sem tellus, sed
+ vehicula nisl faucibus sit amet. Lorem ipsum dolor sit amet,
+ Praesent iaculis tempor ultricies. Sedconsectetur adipiscing elit. Etiam
+ lacinia, tellus id rutrum lacinia, feugiat ac elit sit amet accumsan.
+ sapien sapien congue mauris, sit amet Suspendisse bibendum nec libero quis
@@ -20006,135 +20015,135 @@
font-weight: 700;
}
- .terminal-1426024135-matrix {
+ .terminal-230009450-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1426024135-title {
+ .terminal-230009450-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1426024135-r1 { fill: #c5c8c6 }
- .terminal-1426024135-r2 { fill: #4ebf71 }
- .terminal-1426024135-r3 { fill: #e1e1e1 }
- .terminal-1426024135-r4 { fill: #dde8f3;font-weight: bold }
- .terminal-1426024135-r5 { fill: #ddedf9 }
+ .terminal-230009450-r1 { fill: #c5c8c6 }
+ .terminal-230009450-r2 { fill: #e1e1e1 }
+ .terminal-230009450-r3 { fill: #4ebf71 }
+ .terminal-230009450-r4 { fill: #dde8f3;font-weight: bold }
+ .terminal-230009450-r5 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- IndeterminateProgressBar
+ IndeterminateProgressBar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━100%--:--:--
-
-
-
-
-
-
-
-
-
-
-
- S Start
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━100%--:--:--
+
+
+
+
+
+
+
+
+
+
+
+ S Start
@@ -20164,136 +20173,137 @@
font-weight: 700;
}
- .terminal-1998155485-matrix {
+ .terminal-3162092160-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1998155485-title {
+ .terminal-3162092160-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1998155485-r1 { fill: #c5c8c6 }
- .terminal-1998155485-r2 { fill: #b93c5b }
- .terminal-1998155485-r3 { fill: #1e1e1e }
- .terminal-1998155485-r4 { fill: #e1e1e1;text-decoration: underline; }
- .terminal-1998155485-r5 { fill: #dde8f3;font-weight: bold }
- .terminal-1998155485-r6 { fill: #ddedf9 }
+ .terminal-3162092160-r1 { fill: #c5c8c6 }
+ .terminal-3162092160-r2 { fill: #e1e1e1 }
+ .terminal-3162092160-r3 { fill: #b93c5b }
+ .terminal-3162092160-r4 { fill: #1e1e1e }
+ .terminal-3162092160-r5 { fill: #e1e1e1;text-decoration: underline; }
+ .terminal-3162092160-r6 { fill: #dde8f3;font-weight: bold }
+ .terminal-3162092160-r7 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- StyledProgressBar
+ StyledProgressBar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━100%--:--:--
-
-
-
-
-
-
-
-
-
-
-
- S Start
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━100%--:--:--
+
+
+
+
+
+
+
+
+
+
+
+ S Start
@@ -20323,136 +20333,136 @@
font-weight: 700;
}
- .terminal-836496735-matrix {
+ .terminal-1630089489-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-836496735-title {
+ .terminal-1630089489-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-836496735-r1 { fill: #c5c8c6 }
- .terminal-836496735-r2 { fill: #fea62b }
- .terminal-836496735-r3 { fill: #323232 }
- .terminal-836496735-r4 { fill: #e1e1e1 }
- .terminal-836496735-r5 { fill: #dde8f3;font-weight: bold }
- .terminal-836496735-r6 { fill: #ddedf9 }
+ .terminal-1630089489-r1 { fill: #c5c8c6 }
+ .terminal-1630089489-r2 { fill: #e1e1e1 }
+ .terminal-1630089489-r3 { fill: #fea62b }
+ .terminal-1630089489-r4 { fill: #323232 }
+ .terminal-1630089489-r5 { fill: #dde8f3;font-weight: bold }
+ .terminal-1630089489-r6 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- IndeterminateProgressBar
+ IndeterminateProgressBar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━39%00:00:07
-
-
-
-
-
-
-
-
-
-
-
- S Start
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━39%00:00:07
+
+
+
+
+
+
+
+
+
+
+
+ S Start
@@ -20482,137 +20492,138 @@
font-weight: 700;
}
- .terminal-1783624548-matrix {
+ .terminal-1532901142-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1783624548-title {
+ .terminal-1532901142-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1783624548-r1 { fill: #c5c8c6 }
- .terminal-1783624548-r2 { fill: #004578 }
- .terminal-1783624548-r3 { fill: #152939 }
- .terminal-1783624548-r4 { fill: #1e1e1e }
- .terminal-1783624548-r5 { fill: #e1e1e1;text-decoration: underline; }
- .terminal-1783624548-r6 { fill: #dde8f3;font-weight: bold }
- .terminal-1783624548-r7 { fill: #ddedf9 }
+ .terminal-1532901142-r1 { fill: #c5c8c6 }
+ .terminal-1532901142-r2 { fill: #e1e1e1 }
+ .terminal-1532901142-r3 { fill: #004578 }
+ .terminal-1532901142-r4 { fill: #152939 }
+ .terminal-1532901142-r5 { fill: #1e1e1e }
+ .terminal-1532901142-r6 { fill: #e1e1e1;text-decoration: underline; }
+ .terminal-1532901142-r7 { fill: #dde8f3;font-weight: bold }
+ .terminal-1532901142-r8 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- StyledProgressBar
+ StyledProgressBar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━39%00:00:07
-
-
-
-
-
-
-
-
-
-
-
- S Start
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━39%00:00:07
+
+
+
+
+
+
+
+
+
+
+
+ S Start
@@ -20642,136 +20653,136 @@
font-weight: 700;
}
- .terminal-2036756687-matrix {
+ .terminal-3440292978-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2036756687-title {
+ .terminal-3440292978-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2036756687-r1 { fill: #c5c8c6 }
- .terminal-2036756687-r2 { fill: #323232 }
- .terminal-2036756687-r3 { fill: #b93c5b }
- .terminal-2036756687-r4 { fill: #e1e1e1 }
- .terminal-2036756687-r5 { fill: #dde8f3;font-weight: bold }
- .terminal-2036756687-r6 { fill: #ddedf9 }
+ .terminal-3440292978-r1 { fill: #c5c8c6 }
+ .terminal-3440292978-r2 { fill: #e1e1e1 }
+ .terminal-3440292978-r3 { fill: #323232 }
+ .terminal-3440292978-r4 { fill: #b93c5b }
+ .terminal-3440292978-r5 { fill: #dde8f3;font-weight: bold }
+ .terminal-3440292978-r6 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- IndeterminateProgressBar
+ IndeterminateProgressBar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ━╸━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━--%--:--:--
-
-
-
-
-
-
-
-
-
-
-
- S Start
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ━╸━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━--%--:--:--
+
+
+
+
+
+
+
+
+
+
+
+ S Start
@@ -20801,137 +20812,138 @@
font-weight: 700;
}
- .terminal-4086988071-matrix {
+ .terminal-4046569674-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-4086988071-title {
+ .terminal-4046569674-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-4086988071-r1 { fill: #c5c8c6 }
- .terminal-4086988071-r2 { fill: #fea62b }
- .terminal-4086988071-r3 { fill: #004578 }
- .terminal-4086988071-r4 { fill: #1e1e1e }
- .terminal-4086988071-r5 { fill: #e1e1e1;text-decoration: underline; }
- .terminal-4086988071-r6 { fill: #dde8f3;font-weight: bold }
- .terminal-4086988071-r7 { fill: #ddedf9 }
+ .terminal-4046569674-r1 { fill: #c5c8c6 }
+ .terminal-4046569674-r2 { fill: #e1e1e1 }
+ .terminal-4046569674-r3 { fill: #fea62b }
+ .terminal-4046569674-r4 { fill: #004578 }
+ .terminal-4046569674-r5 { fill: #1e1e1e }
+ .terminal-4046569674-r6 { fill: #e1e1e1;text-decoration: underline; }
+ .terminal-4046569674-r7 { fill: #dde8f3;font-weight: bold }
+ .terminal-4046569674-r8 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- StyledProgressBar
+ StyledProgressBar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ━╸━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━--%--:--:--
-
-
-
-
-
-
-
-
-
-
-
- S Start
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ━╸━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━--%--:--:--
+
+
+
+
+
+
+
+
+
+
+
+ S Start
@@ -21444,137 +21456,137 @@
font-weight: 700;
}
- .terminal-2779683141-matrix {
+ .terminal-1869274227-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2779683141-title {
+ .terminal-1869274227-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2779683141-r1 { fill: #c5c8c6 }
- .terminal-2779683141-r2 { fill: #e3e3e3 }
- .terminal-2779683141-r3 { fill: #008000 }
- .terminal-2779683141-r4 { fill: #ffff00 }
- .terminal-2779683141-r5 { fill: #e1e1e1 }
- .terminal-2779683141-r6 { fill: #dde8f3;font-weight: bold }
- .terminal-2779683141-r7 { fill: #ddedf9 }
+ .terminal-1869274227-r1 { fill: #c5c8c6 }
+ .terminal-1869274227-r2 { fill: #e3e3e3 }
+ .terminal-1869274227-r3 { fill: #008000 }
+ .terminal-1869274227-r4 { fill: #ffff00 }
+ .terminal-1869274227-r5 { fill: #e1e1e1 }
+ .terminal-1869274227-r6 { fill: #dde8f3;font-weight: bold }
+ .terminal-1869274227-r7 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- VerticalRemoveApp
+ VerticalRemoveApp
-
-
-
- ⭘VerticalRemoveApp
- ╭──────────────────────────────────────────────────────────────────────────────╮
- │╭────────────────────╮│
- ││This is a test label││
- │╰────────────────────╯│
- ╰──────────────────────────────────────────────────────────────────────────────╯
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- A Add D Delete
+
+
+
+ ⭘VerticalRemoveApp
+ ╭──────────────────────────────────────────────────────────────────────────────╮
+ │╭────────────────────╮│
+ ││This is a test label││
+ │╰────────────────────╯│
+ ╰──────────────────────────────────────────────────────────────────────────────╯
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A Add D Delete
@@ -21604,135 +21616,135 @@
font-weight: 700;
}
- .terminal-3992644605-matrix {
+ .terminal-1316892474-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3992644605-title {
+ .terminal-1316892474-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3992644605-r1 { fill: #c5c8c6 }
- .terminal-3992644605-r2 { fill: #e3e3e3 }
- .terminal-3992644605-r3 { fill: #e1e1e1 }
- .terminal-3992644605-r4 { fill: #dde8f3;font-weight: bold }
- .terminal-3992644605-r5 { fill: #ddedf9 }
+ .terminal-1316892474-r1 { fill: #c5c8c6 }
+ .terminal-1316892474-r2 { fill: #e3e3e3 }
+ .terminal-1316892474-r3 { fill: #e1e1e1 }
+ .terminal-1316892474-r4 { fill: #dde8f3;font-weight: bold }
+ .terminal-1316892474-r5 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- ModalApp
+ ModalApp
-
-
-
- ⭘ModalApp
- B
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- A Push screen A
+
+
+
+ ⭘ModalApp
+ B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A Push screen A
@@ -22075,134 +22087,134 @@
font-weight: 700;
}
- .terminal-2749576739-matrix {
+ .terminal-1647606097-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2749576739-title {
+ .terminal-1647606097-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2749576739-r1 { fill: #c5c8c6 }
- .terminal-2749576739-r2 { fill: #e3e3e3 }
- .terminal-2749576739-r3 { fill: #ff0000 }
- .terminal-2749576739-r4 { fill: #dde2e8 }
- .terminal-2749576739-r5 { fill: #ddedf9 }
+ .terminal-1647606097-r1 { fill: #c5c8c6 }
+ .terminal-1647606097-r2 { fill: #e3e3e3 }
+ .terminal-1647606097-r3 { fill: #ff0000 }
+ .terminal-1647606097-r4 { fill: #dde2e8 }
+ .terminal-1647606097-r5 { fill: #ddedf9 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- ScrollViewTester
+ ScrollViewTester
-
-
-
- ⭘ScrollViewTester
- ╭─ 1 ──────────────────────────────────────────────────────────────────────────╮
- │Welcome to line 980│
- │Welcome to line 981│
- │Welcome to line 982│
- │Welcome to line 983│
- │Welcome to line 984│
- │Welcome to line 985│
- │Welcome to line 986│
- │Welcome to line 987│
- │Welcome to line 988│
- │Welcome to line 989│
- │Welcome to line 990│
- │Welcome to line 991│
- │Welcome to line 992│
- │Welcome to line 993│
- │Welcome to line 994│
- │Welcome to line 995│
- │Welcome to line 996│
- │Welcome to line 997│
- │Welcome to line 998│
- │Welcome to line 999│
- ╰──────────────────────────────────────────────────────────────────────────────╯
+
+
+
+ ⭘ScrollViewTester
+ ╭─ 1 ──────────────────────────────────────────────────────────────────────────╮
+ │Welcome to line 980│
+ │Welcome to line 981│
+ │Welcome to line 982│
+ │Welcome to line 983│
+ │Welcome to line 984│
+ │Welcome to line 985│
+ │Welcome to line 986│
+ │Welcome to line 987│
+ │Welcome to line 988│
+ │Welcome to line 989│
+ │Welcome to line 990│
+ │Welcome to line 991│
+ │Welcome to line 992│
+ │Welcome to line 993│
+ │Welcome to line 994│
+ │Welcome to line 995│
+ │Welcome to line 996│
+ │Welcome to line 997│
+ │Welcome to line 998│
+ │Welcome to line 999│
+ ╰──────────────────────────────────────────────────────────────────────────────╯
@@ -22233,136 +22245,136 @@
font-weight: 700;
}
- .terminal-4198692207-matrix {
+ .terminal-1422407852-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-4198692207-title {
+ .terminal-1422407852-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-4198692207-r1 { fill: #c5c8c6 }
- .terminal-4198692207-r2 { fill: #e3e3e3 }
- .terminal-4198692207-r3 { fill: #e1e1e1 }
- .terminal-4198692207-r4 { fill: #1e1e1e }
- .terminal-4198692207-r5 { fill: #121212 }
- .terminal-4198692207-r6 { fill: #787878 }
- .terminal-4198692207-r7 { fill: #a8a8a8 }
+ .terminal-1422407852-r1 { fill: #c5c8c6 }
+ .terminal-1422407852-r2 { fill: #e3e3e3 }
+ .terminal-1422407852-r3 { fill: #e1e1e1 }
+ .terminal-1422407852-r4 { fill: #1e1e1e }
+ .terminal-1422407852-r5 { fill: #121212 }
+ .terminal-1422407852-r6 { fill: #787878 }
+ .terminal-1422407852-r7 { fill: #a8a8a8 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- SelectApp
+ SelectApp
-
-
-
- ⭘SelectApp
-
-
- ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
- ▊Select▼▎
- ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ ⭘SelectApp
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊Select▼▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -22393,140 +22405,140 @@
font-weight: 700;
}
- .terminal-1874975621-matrix {
+ .terminal-2035490498-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1874975621-title {
+ .terminal-2035490498-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1874975621-r1 { fill: #c5c8c6 }
- .terminal-1874975621-r2 { fill: #e3e3e3 }
- .terminal-1874975621-r3 { fill: #e1e1e1 }
- .terminal-1874975621-r4 { fill: #1e1e1e }
- .terminal-1874975621-r5 { fill: #0178d4 }
- .terminal-1874975621-r6 { fill: #787878 }
- .terminal-1874975621-r7 { fill: #a8a8a8 }
- .terminal-1874975621-r8 { fill: #121212 }
- .terminal-1874975621-r9 { fill: #ddedf9;font-weight: bold }
- .terminal-1874975621-r10 { fill: #85beea;font-weight: bold }
- .terminal-1874975621-r11 { fill: #e2e3e3 }
+ .terminal-2035490498-r1 { fill: #c5c8c6 }
+ .terminal-2035490498-r2 { fill: #e3e3e3 }
+ .terminal-2035490498-r3 { fill: #e1e1e1 }
+ .terminal-2035490498-r4 { fill: #1e1e1e }
+ .terminal-2035490498-r5 { fill: #0178d4 }
+ .terminal-2035490498-r6 { fill: #787878 }
+ .terminal-2035490498-r7 { fill: #a8a8a8 }
+ .terminal-2035490498-r8 { fill: #121212 }
+ .terminal-2035490498-r9 { fill: #ddedf9;font-weight: bold }
+ .terminal-2035490498-r10 { fill: #85beea;font-weight: bold }
+ .terminal-2035490498-r11 { fill: #e2e3e3 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- SelectApp
+ SelectApp
-
-
-
- ⭘SelectApp
-
-
- ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
- ▊Select▲▎
- ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
- ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
- ▊Select▎
- ▊I must not fear.▎
- ▊Fear is the mind-killer.▎
- ▊Fear is the little-death that brings total ▎
- ▊obliteration.▎
- ▊I will face my fear.▎
- ▊I will permit it to pass over me and through me.▎
- ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-
-
-
-
-
-
-
-
+
+
+
+ ⭘SelectApp
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊Select▲▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊Select▎
+ ▊I must not fear.▎
+ ▊Fear is the mind-killer.▎
+ ▊Fear is the little-death that brings total ▎
+ ▊obliteration.▎
+ ▊I will face my fear.▎
+ ▊I will permit it to pass over me and through me.▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+
+
+
+
+
@@ -22557,136 +22569,136 @@
font-weight: 700;
}
- .terminal-2181889025-matrix {
+ .terminal-4010426174-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2181889025-title {
+ .terminal-4010426174-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2181889025-r1 { fill: #c5c8c6 }
- .terminal-2181889025-r2 { fill: #e3e3e3 }
- .terminal-2181889025-r3 { fill: #e1e1e1 }
- .terminal-2181889025-r4 { fill: #1e1e1e }
- .terminal-2181889025-r5 { fill: #0178d4 }
- .terminal-2181889025-r6 { fill: #e2e2e2 }
- .terminal-2181889025-r7 { fill: #a8a8a8 }
+ .terminal-4010426174-r1 { fill: #c5c8c6 }
+ .terminal-4010426174-r2 { fill: #e3e3e3 }
+ .terminal-4010426174-r3 { fill: #e1e1e1 }
+ .terminal-4010426174-r4 { fill: #1e1e1e }
+ .terminal-4010426174-r5 { fill: #0178d4 }
+ .terminal-4010426174-r6 { fill: #e2e2e2 }
+ .terminal-4010426174-r7 { fill: #a8a8a8 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- SelectApp
+ SelectApp
-
-
-
- ⭘I must not fear.
-
-
- ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
- ▊I must not fear.▼▎
- ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ ⭘I must not fear.
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+ ▊I must not fear.▼▎
+ ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -22717,136 +22729,136 @@
font-weight: 700;
}
- .terminal-932889121-matrix {
+ .terminal-2914557706-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-932889121-title {
+ .terminal-2914557706-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-932889121-r1 { fill: #e1e1e1 }
- .terminal-932889121-r2 { fill: #c5c8c6 }
- .terminal-932889121-r3 { fill: #e1e1e1;font-weight: bold }
- .terminal-932889121-r4 { fill: #1e1e1e }
- .terminal-932889121-r5 { fill: #0178d4 }
- .terminal-932889121-r6 { fill: #e2e3e3 }
- .terminal-932889121-r7 { fill: #e3e8e8 }
+ .terminal-2914557706-r1 { fill: #e1e1e1 }
+ .terminal-2914557706-r2 { fill: #c5c8c6 }
+ .terminal-2914557706-r3 { fill: #e1e1e1;font-weight: bold }
+ .terminal-2914557706-r4 { fill: #1e1e1e }
+ .terminal-2914557706-r5 { fill: #0178d4 }
+ .terminal-2914557706-r6 { fill: #e2e3e3 }
+ .terminal-2914557706-r7 { fill: #e3e8e8 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- SwitchApp
+ SwitchApp
-
-
-
-
-
-
-
- Example switches
-
-
- ▊▔▔▔▔▔▔▔▔▎
- off: ▊▎
- ▊▁▁▁▁▁▁▁▁▎
- ▊▔▔▔▔▔▔▔▔▎
- on: ▊▎
- ▊▁▁▁▁▁▁▁▁▎
- ▊▔▔▔▔▔▔▔▔▎
- focused: ▊▎
- ▊▁▁▁▁▁▁▁▁▎
- ▊▔▔▔▔▔▔▔▔▎
- custom: ▊▎
- ▊▁▁▁▁▁▁▁▁▎
-
-
-
-
+
+
+
+
+
+
+
+ Example switches
+
+
+ ▊▔▔▔▔▔▔▔▔▎
+ off: ▊▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ on: ▊▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ focused: ▊▎
+ ▊▁▁▁▁▁▁▁▁▎
+ ▊▔▔▔▔▔▔▔▔▎
+ custom: ▊▎
+ ▊▁▁▁▁▁▁▁▁▎
+
+
+
+
diff --git a/tests/test_app.py b/tests/test_app.py
index e529cfbd7..54bde8221 100644
--- a/tests/test_app.py
+++ b/tests/test_app.py
@@ -36,3 +36,33 @@ async def test_hover_update_styles():
# We've hovered, so ensure the pseudoclass is present and background changed
assert button.pseudo_classes == {"enabled", "hover"}
assert button.styles.background != initial_background
+
+
+def test_setting_title():
+ app = MyApp()
+ app.title = None
+ assert app.title == "None"
+
+ app.title = ""
+ assert app.title == ""
+
+ app.title = 0.125
+ assert app.title == "0.125"
+
+ app.title = [True, False, 2]
+ assert app.title == "[True, False, 2]"
+
+
+def test_setting_sub_title():
+ app = MyApp()
+ app.sub_title = None
+ assert app.sub_title == "None"
+
+ app.sub_title = ""
+ assert app.sub_title == ""
+
+ app.sub_title = 0.125
+ assert app.sub_title == "0.125"
+
+ app.sub_title = [True, False, 2]
+ assert app.sub_title == "[True, False, 2]"
diff --git a/tests/test_resolve.py b/tests/test_resolve.py
index c36e1a406..202299747 100644
--- a/tests/test_resolve.py
+++ b/tests/test_resolve.py
@@ -1,4 +1,5 @@
from fractions import Fraction
+from itertools import chain
import pytest
@@ -122,3 +123,22 @@ def test_resolve_fraction_unit():
Fraction(32),
resolve_dimension="width",
) == Fraction(2)
+
+
+def test_resolve_issue_2502():
+ """Test https://github.com/Textualize/textual/issues/2502"""
+
+ widget = Widget()
+ widget.styles.width = "1fr"
+ widget.styles.min_width = 11
+
+ assert isinstance(
+ resolve_fraction_unit(
+ (widget.styles,),
+ Size(80, 24),
+ Size(80, 24),
+ Fraction(10),
+ resolve_dimension="width",
+ ),
+ Fraction,
+ )
diff --git a/tests/tree/test_tree_messages.py b/tests/tree/test_tree_messages.py
index ef742319a..bc55a7d81 100644
--- a/tests/tree/test_tree_messages.py
+++ b/tests/tree/test_tree_messages.py
@@ -78,6 +78,20 @@ async def test_tree_node_expanded_message() -> None:
assert pilot.app.messages == [("NodeExpanded", "test-tree")]
+async def tree_node_expanded_by_code_message() -> None:
+ """Expanding a node via the API should result in an expanded message being posted."""
+ async with TreeApp().run_test() as pilot:
+ pilot.app.query_one(Tree).root.children[0].expand()
+ assert pilot.app.messages == [("NodeExpanded", "test-tree")]
+
+
+async def tree_node_all_expanded_by_code_message() -> None:
+ """Expanding all nodes via the API should result in expanded messages being posted."""
+ async with TreeApp().run_test() as pilot:
+ pilot.app.query_one(Tree).root.children[0].expand_all()
+ assert pilot.app.messages == [("NodeExpanded", "test-tree")]
+
+
async def test_tree_node_collapsed_message() -> None:
"""Collapsing a node should result in a collapsed message being emitted."""
async with TreeApp().run_test() as pilot:
@@ -89,6 +103,46 @@ async def test_tree_node_collapsed_message() -> None:
]
+async def tree_node_collapsed_by_code_message() -> None:
+ """Collapsing a node via the API should result in a collapsed message being posted."""
+ async with TreeApp().run_test() as pilot:
+ pilot.app.query_one(Tree).root.children[0].expand().collapse()
+ assert pilot.app.messages == [
+ ("NodeExpanded", "test-tree"),
+ ("NodeCollapsed", "test-tree"),
+ ]
+
+
+async def tree_node_all_collapsed_by_code_message() -> None:
+ """Collapsing all nodes via the API should result in collapsed messages being posted."""
+ async with TreeApp().run_test() as pilot:
+ pilot.app.query_one(Tree).root.children[0].expand_all().collapse_all()
+ assert pilot.app.messages == [
+ ("NodeExpanded", "test-tree"),
+ ("NodeCollapsed", "test-tree"),
+ ]
+
+
+async def tree_node_toggled_by_code_message() -> None:
+ """Toggling a node twice via the API should result in expanded and collapsed messages."""
+ async with TreeApp().run_test() as pilot:
+ pilot.app.query_one(Tree).root.children[0].toggle().toggle()
+ assert pilot.app.messages == [
+ ("NodeExpanded", "test-tree"),
+ ("NodeCollapsed", "test-tree"),
+ ]
+
+
+async def tree_node_all_toggled_by_code_message() -> None:
+ """Toggling all nodes twice via the API should result in expanded and collapsed messages."""
+ async with TreeApp().run_test() as pilot:
+ pilot.app.query_one(Tree).root.children[0].toggle_all().toggle_all()
+ assert pilot.app.messages == [
+ ("NodeExpanded", "test-tree"),
+ ("NodeCollapsed", "test-tree"),
+ ]
+
+
async def test_tree_node_highlighted_message() -> None:
"""Highlighting a node should result in a highlighted message being emitted."""
async with TreeApp().run_test() as pilot: