Repository navigation
Commit 91818df
gluck
steps 4-7: one picker every drawer conforms to, ^V, and an alert that retires
THREE LISTS BECAME ONE. The completion menu had a sliding window with a marker
and ^N/^P cycling; the drawer had a second window with a different marker and
its own cursor; the help and status panels had neither -- so the list that
tells you how to scroll was the one list you could not scroll, losing its
bottom on any pane shorter than the panel with no way to reach it.
picker.go is now the only one, and every drawer conforms: help, status, queue,
notifications, command output and the hosted live views. j/k, the arrow
cluster, u/d and gg/G drive whichever drawer is open -- moving a CURSOR where
there is one and the WINDOW where there is not, so `j` means one thing to a
reader everywhere. What a drawer still owns is its rows and its verb keys.
A MESSAGE IS A GLANCE, NOT A LIST: one row, nothing to move, so it keeps the
any-key-dismisses rule. Measured -- gating motions on "has a picker" alone left
a failed `:999` note surviving every keystroke, because a note is a drawer too.
AndMore is the truncation marker, in one spelling, on both edges of the window
("… 3 more above"). `figaro ls`, `form show` and the drawer had three.
^V toggles the BAR's verbosity -- names beside the glyphs, the model, the hints
and the last-interaction time -- seeded by cli.status_verbose and distinct from
^O, which is verbose TOOL OUTPUT. In the command box the same chord is PASTE,
which is Gluck's reversal of the "deliberately unbound" note in keymap.go: that
argument was that quoting has no use where every printable byte is already
literal, and paste is a different verb with an obvious one.
THE ALERT RETIRES ON THE TICKER. A notification holds the bar's first slot for
cli.notice_ttl (10s) and then goes, or a newer one displaces it. Nothing waits
to be dismissed. The expiry rides the 11 Hz ticker that is already alive and
already holds the render lock -- no second scheduler, no teardown path -- and
the clock is read there rather than in render(), which stays pure.
Two things only the pty could say. `g` in a drawer never armed pendG, because
the drawer branch returns before the dispatcher's epilogue where the arming
lives -- so gg reached the end of a list and never came back; the unit tests
press keys through a path that armed it anyway. And a stubbed clipboard is now
mandatory in this package (clipboard_stub_test.go): the first ^V implementation
shelled out to wl-paste inside the keymap oracle, so the suite asserted against
whatever the developer had last copied, and mine was a directory listing.
The panel oracles are regenerated, deliberately and in one systematic move:
every drawer owning its motions is exactly the change, and the cells that moved
are the panel states' motion keys.1 parent 9aee795 commit 91818df
16 files changed
Lines changed: 753 additions & 145 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
33 | 32 | | |
34 | 33 | | |
35 | 34 | | |
| |||
93 | 92 | | |
94 | 93 | | |
95 | 94 | | |
96 | | - | |
97 | | - | |
98 | | - | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
99 | 101 | | |
100 | 102 | | |
101 | 103 | | |
102 | 104 | | |
103 | 105 | | |
104 | 106 | | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | 107 | | |
109 | 108 | | |
110 | 109 | | |
111 | 110 | | |
112 | 111 | | |
113 | 112 | | |
114 | | - | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
115 | 116 | | |
116 | 117 | | |
117 | 118 | | |
118 | 119 | | |
119 | 120 | | |
120 | 121 | | |
121 | | - | |
122 | | - | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
123 | 125 | | |
124 | 126 | | |
125 | 127 | | |
126 | 128 | | |
127 | 129 | | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
133 | 133 | | |
134 | 134 | | |
135 | 135 | | |
| |||
153 | 153 | | |
154 | 154 | | |
155 | 155 | | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
173 | 161 | | |
174 | | - | |
175 | 162 | | |
176 | | - | |
| 163 | + | |
177 | 164 | | |
178 | 165 | | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
| 166 | + | |
| 167 | + | |
183 | 168 | | |
184 | 169 | | |
185 | | - | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
186 | 174 | | |
187 | | - | |
188 | | - | |
189 | | - | |
| 175 | + | |
| 176 | + | |
190 | 177 | | |
191 | 178 | | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
197 | 186 | | |
198 | | - | |
199 | | - | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
200 | 191 | | |
201 | 192 | | |
202 | 193 | | |
203 | | - | |
204 | 194 | | |
205 | | - | |
| 195 | + | |
206 | 196 | | |
207 | 197 | | |
208 | | - | |
| 198 | + | |
209 | 199 | | |
210 | 200 | | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
215 | 208 | | |
216 | 209 | | |
217 | | - | |
218 | | - | |
219 | | - | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
220 | 229 | | |
221 | 230 | | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | 231 | | |
227 | 232 | | |
228 | 233 | | |
| |||
234 | 239 | | |
235 | 240 | | |
236 | 241 | | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
| 242 | + | |
242 | 243 | | |
243 | 244 | | |
244 | 245 | | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
| 246 | + | |
| 247 | + | |
254 | 248 | | |
255 | | - | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
256 | 253 | | |
257 | 254 | | |
258 | 255 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
175 | 175 | | |
176 | 176 | | |
177 | 177 | | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
178 | 190 | | |
179 | 191 | | |
180 | 192 | | |
| |||
422 | 434 | | |
423 | 435 | | |
424 | 436 | | |
| 437 | + | |
| 438 | + | |
425 | 439 | | |
426 | 440 | | |
427 | 441 | | |
| |||
448 | 462 | | |
449 | 463 | | |
450 | 464 | | |
451 | | - | |
| 465 | + | |
452 | 466 | | |
453 | 467 | | |
454 | 468 | | |
455 | | - | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
456 | 473 | | |
457 | 474 | | |
458 | 475 | | |
| |||
524 | 541 | | |
525 | 542 | | |
526 | 543 | | |
| 544 | + | |
| 545 | + | |
527 | 546 | | |
528 | 547 | | |
529 | 548 | | |
| |||
562 | 581 | | |
563 | 582 | | |
564 | 583 | | |
| 584 | + | |
| 585 | + | |
565 | 586 | | |
566 | 587 | | |
567 | 588 | | |
| |||
0 commit comments