Take alloy_tui 7.0.0 and stop calling elevation a focus cue
- Co-Authored-By
- Claude Opus 5 (1M context) <noreply@anthropic.com>
4 files changed,
+51 insertions,
-41 deletions
| 38 |
38 |
|
|
| 39 |
39 |
|
[[package]]
|
| 40 |
40 |
|
name = "alloy_tui"
|
| 41 |
|
- |
version = "6.0.0"
|
| 42 |
|
- |
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 43 |
|
- |
checksum = "7476daad7f6c965767729f00d2cc5019b3c2aef143a50a8e1f857e8f5cc0fcad"
|
|
41 |
+ |
version = "7.0.0"
|
| 44 |
42 |
|
dependencies = [
|
| 45 |
43 |
|
"makeover",
|
| 46 |
44 |
|
"makeover-geometry",
|
| 897 |
895 |
|
|
| 898 |
896 |
|
[[package]]
|
| 899 |
897 |
|
name = "makeover"
|
| 900 |
|
- |
version = "2.5.0"
|
| 901 |
|
- |
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 902 |
|
- |
checksum = "3ba9cbc9da41bffe0514e6d6744cecf8097eb18676edcaf62a7dd08cea42e4aa"
|
|
898 |
+ |
version = "2.5.1"
|
| 903 |
899 |
|
dependencies = [
|
| 904 |
900 |
|
"include_dir",
|
| 905 |
901 |
|
"serde",
|
| 909 |
905 |
|
[[package]]
|
| 910 |
906 |
|
name = "makeover-geometry"
|
| 911 |
907 |
|
version = "0.7.0"
|
| 912 |
|
- |
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 913 |
|
- |
checksum = "91a82b16c4f5b66dd7e87ed92fff7d22185e4d88e5355de6166dd64450cf6a16"
|
| 914 |
908 |
|
|
| 915 |
909 |
|
[[package]]
|
| 916 |
910 |
|
name = "makeover-layout"
|
| 917 |
|
- |
version = "0.16.0"
|
| 918 |
|
- |
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 919 |
|
- |
checksum = "5d02837b5ab4db4ee5759ddf8f77965336890d4b63c6e88e15b5782c9703138d"
|
|
911 |
+ |
version = "0.19.0"
|
| 920 |
912 |
|
|
| 921 |
913 |
|
[[package]]
|
| 922 |
914 |
|
name = "makeover-tui"
|
| 923 |
|
- |
version = "0.15.0"
|
| 924 |
|
- |
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 925 |
|
- |
checksum = "17f9d6a744f90ad780bd7b98d8c4b1bb2c1e16116e66b9b87eaaee085975a7e1"
|
|
915 |
+ |
version = "0.18.0"
|
| 926 |
916 |
|
dependencies = [
|
| 927 |
917 |
|
"makeover",
|
| 928 |
918 |
|
"makeover-layout",
|
| 2171 |
2161 |
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 2172 |
2162 |
|
checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
|
| 2173 |
2163 |
|
|
| 2174 |
|
- |
[[patch.unused]]
|
| 2175 |
|
- |
name = "kberg"
|
| 2176 |
|
- |
version = "0.1.0"
|
| 2177 |
|
- |
|
| 2178 |
|
- |
[[patch.unused]]
|
| 2179 |
|
- |
name = "painhours"
|
| 2180 |
|
- |
version = "0.1.0"
|
| 2181 |
|
- |
|
| 2182 |
|
- |
[[patch.unused]]
|
| 2183 |
|
- |
name = "tagtree"
|
| 2184 |
|
- |
version = "0.4.0"
|
| 2185 |
|
- |
|
| 2186 |
|
- |
[[patch.unused]]
|
| 2187 |
|
- |
name = "docengine"
|
| 2188 |
|
- |
version = "0.7.0"
|
| 2189 |
|
- |
|
| 2190 |
|
- |
[[patch.unused]]
|
| 2191 |
|
- |
name = "synckit-client"
|
| 2192 |
|
- |
version = "0.8.0"
|
| 2193 |
|
- |
|
| 2194 |
|
- |
[[patch.unused]]
|
| 2195 |
|
- |
name = "synckit-config"
|
| 2196 |
|
- |
version = "0.2.0"
|
| 2197 |
|
- |
|
| 2198 |
2164 |
|
[[patch.unused]]
|
| 2199 |
2165 |
|
name = "quasi-axum"
|
| 2200 |
2166 |
|
version = "0.1.0"
|
| 2218 |
2184 |
|
[[patch.unused]]
|
| 2219 |
2185 |
|
name = "quasi-webview"
|
| 2220 |
2186 |
|
version = "0.1.0"
|
|
2187 |
+ |
|
|
2188 |
+ |
[[patch.unused]]
|
|
2189 |
+ |
name = "synckit-client"
|
|
2190 |
+ |
version = "0.8.0"
|
|
2191 |
+ |
|
|
2192 |
+ |
[[patch.unused]]
|
|
2193 |
+ |
name = "synckit-config"
|
|
2194 |
+ |
version = "0.2.0"
|
|
2195 |
+ |
|
|
2196 |
+ |
[[patch.unused]]
|
|
2197 |
+ |
name = "kberg"
|
|
2198 |
+ |
version = "0.1.0"
|
|
2199 |
+ |
|
|
2200 |
+ |
[[patch.unused]]
|
|
2201 |
+ |
name = "ops-status"
|
|
2202 |
+ |
version = "0.1.0"
|
|
2203 |
+ |
|
|
2204 |
+ |
[[patch.unused]]
|
|
2205 |
+ |
name = "painhours"
|
|
2206 |
+ |
version = "0.1.0"
|
|
2207 |
+ |
|
|
2208 |
+ |
[[patch.unused]]
|
|
2209 |
+ |
name = "tagtree"
|
|
2210 |
+ |
version = "0.4.0"
|
|
2211 |
+ |
|
|
2212 |
+ |
[[patch.unused]]
|
|
2213 |
+ |
name = "makeover-build"
|
|
2214 |
+ |
version = "0.27.0"
|
|
2215 |
+ |
|
|
2216 |
+ |
[[patch.unused]]
|
|
2217 |
+ |
name = "makeover-immediate"
|
|
2218 |
+ |
version = "0.17.0"
|
|
2219 |
+ |
|
|
2220 |
+ |
[[patch.unused]]
|
|
2221 |
+ |
name = "makeover-touch"
|
|
2222 |
+ |
version = "0.12.0"
|
|
2223 |
+ |
|
|
2224 |
+ |
[[patch.unused]]
|
|
2225 |
+ |
name = "makeover-webview"
|
|
2226 |
+ |
version = "0.35.0"
|
|
2227 |
+ |
|
|
2228 |
+ |
[[patch.unused]]
|
|
2229 |
+ |
name = "docengine"
|
|
2230 |
+ |
version = "0.7.0"
|
| 47 |
47 |
|
|
| 48 |
48 |
|
Monochrome chrome, no shadows, and color-reserved-for-information remove the usual vocabularies for signaling interactivity. In the Apple HIG tradition of *discoverable depth*, the replacement vocabulary:
|
| 49 |
49 |
|
|
| 50 |
|
- |
**Surface elevation is the depth language.** Use at least three ramp positions that read as elevation: `surface` (base, the terminal background), `surface-raised` (bordered controls), `surface-overlay` (popovers, menus, dialogs). The step between levels is tonal. A control announces itself by sitting on a raised, bordered surface; a data panel sits flush and borderless on `surface`. Elevation is a static affordance for control chrome, not a focus cue: the focused pane does *not* swap its surface.
|
|
50 |
+ |
**Surface elevation is the depth language.** Use at least three ramp positions that read as elevation: `surface` (base, the terminal background), `surface-raised` (bordered controls), `surface-overlay` (popovers, menus, dialogs). The step between levels is tonal. A control announces itself by sitting on a raised, bordered surface; a data panel sits flush and borderless on `surface`. Elevation is a static affordance for control chrome, not a focus ring: the focused pane does *not* swap its surface.
|
| 51 |
51 |
|
|
| 52 |
52 |
|
**State variants are mandatory, not optional.** A terminal has no pointer, so the states reduce to what keyboard focus expresses: `default`, `focused`, `selected`, `disabled`. Focused switches the pane's border to `border-strong`, and nothing else changes: no surface swap, no title reweighting, no glyph. Selected does the same at row scope: a `border-strong` leading-edge stripe (a border-like cue) and no surface change. Disabled drops text to `text-muted`. No Alloy widget ships with only a default state. (Hover/pressed remain documented for any adopted GUI surface but do not apply to authored TUIs.)
|
| 53 |
53 |
|
|
| 13 |
13 |
|
path = "src/main.rs"
|
| 14 |
14 |
|
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
|
- |
alloy_tui = "6.0.0"
|
|
16 |
+ |
alloy_tui = "7.0.0"
|
| 17 |
17 |
|
anyhow = "1"
|
| 18 |
18 |
|
clap = { version = "4", features = ["derive"] }
|
| 19 |
19 |
|
ratatui.workspace = true
|
| 13 |
13 |
|
path = "src/main.rs"
|
| 14 |
14 |
|
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
|
- |
alloy_tui = "6.0.0"
|
|
16 |
+ |
alloy_tui = "7.0.0"
|
| 17 |
17 |
|
anyhow = "1"
|
| 18 |
18 |
|
clap = { version = "4", features = ["derive"] }
|
| 19 |
19 |
|
makeover.workspace = true
|