Codeman maintainer
4add38c4b1
feat(home): open-tab column on the desktop home screen; bigger phone home button
...
The welcome overlay centers ~560px of content in a ~1400px window, so both
gutters are dead space. The left one now carries the open tabs as a vertical
list (home-sessions.js): one row per live session plus saved web tabs, in TAB
order rather than by urgency, because the row badges are the Alt+1..9 indices.
Clicking a row enters that session.
Working state is deliberately the phone's, exactly: a pulsing green dot ringed
by the same tab-load-spin the tab strip uses while a tab loads, now with a green
halo added on both surfaces so "working" reads identically wherever you see it.
The column is position:absolute so the centered content never moves, which is
why it needs a width gate in two places (HOME_SESSIONS_MIN_WIDTH = 1180 in JS,
a max-width: 1179px media query as the backstop for a resize that outruns the
matchMedia listener). A test pins the two equal. State classification is reused
from mobile-overview.js rather than re-derived, so the two home screens cannot
disagree about what counts as needing you.
Phones keep the mobile overview, and their brand "C" was a 0.85rem inline span,
roughly a 12x13px target on the one control that gets you back to that screen.
It is now a 44px-wide button filling the full header height, with the glyph
scaled to match. 44 is horizontal only: the phone header is pinned to 36px and
clips overflow, so a true 44x44 would mean taking height off the terminal.
Verified end to end against a real isolated instance (own tmux socket + data
dir): 18 browser checks covering render, live update through the tab renderer,
the working dot's animation/glow/ring, row click, the narrow-window gate, the
phone fallback, and a real touch tap on the far corner of the new hit box.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-09 18:34:35 +02:00
..
2026-06-08 15:41:46 +02:00
2026-08-09 17:52:49 +02:00
2026-08-09 12:09:51 +02:00
2026-08-09 18:03:13 +02:00
2026-08-05 11:11:18 -05:00
2026-06-10 01:38:40 +02:00
2026-07-20 17:35:40 +02:00
2026-07-20 17:35:40 +02:00
2026-08-09 12:09:51 +02:00
2026-08-09 03:30:15 +02:00
2026-08-08 22:30:39 +03:00
2026-08-05 01:40:37 +02:00
2026-01-27 23:15:25 +01:00
2026-06-09 20:02:15 +02:00
2026-08-09 15:55:51 +02:00
2026-07-12 17:50:21 +02:00
2026-06-14 12:46:58 -04:00
2026-06-19 17:58:06 -04:00
2026-06-19 17:58:06 -04:00
2026-02-12 13:44:07 +01:00
2026-03-07 07:33:44 +01:00
2026-02-26 16:44:34 +01:00
2026-08-07 16:41:39 +02:00
2026-07-20 02:48:14 +02:00
2026-08-07 04:06:54 +02:00
2026-03-01 16:50:23 +01:00
2026-06-08 11:01:34 -04:00
2026-08-09 12:09:51 +02:00
2026-06-14 12:46:58 -04:00
2026-08-09 05:02:14 +02:00
2026-06-11 10:16:47 +02:00
2026-06-10 22:47:02 +02:00
2026-07-12 19:06:12 +02:00
2026-07-12 18:42:36 +02:00
2026-08-09 15:56:44 +02:00
2026-07-12 19:25:42 +02:00
2026-06-29 11:35:56 +05:30
2026-08-09 02:22:01 +02:00
2026-03-01 16:50:23 +01:00
2026-06-14 22:24:46 +02:00
2026-06-14 12:25:49 -04:00
2026-06-08 09:56:06 -04:00
2026-07-20 02:36:02 +02:00
2026-07-20 02:36:02 +02:00
2026-07-20 02:36:02 +02:00
2026-06-14 08:43:57 +02:00
2026-06-14 08:43:57 +02:00
2026-06-12 09:09:14 -04:00
2026-07-12 17:50:21 +02:00
2026-07-20 12:33:12 +02:00
2026-06-07 04:33:11 +02:00
2026-08-09 15:45:10 +02:00
2026-08-05 08:44:47 +02:00
2026-06-10 01:30:43 +02:00
2026-06-09 20:02:15 +02:00
2026-08-06 10:16:15 +08:00
2026-06-19 13:10:17 -04:00
2026-07-12 17:50:21 +02:00
2026-07-12 18:06:59 +02:00
2026-08-05 02:38:57 +02:00
2026-08-09 18:34:35 +02:00
2026-08-09 14:04:34 +02:00
2026-08-09 14:04:34 +02:00
2026-08-09 01:18:03 +02:00
2026-07-21 02:49:25 +08:00
2026-06-12 09:09:14 -04:00
2026-08-04 17:41:02 +02:00
2026-07-12 12:42:14 +02:00
2026-07-10 14:38:52 -04:00
2026-06-10 01:30:43 +02:00
2026-08-09 18:03:13 +02:00
2026-08-05 02:38:57 +02:00
2026-07-27 22:25:29 +02:00
2026-08-09 05:29:45 +02:00
2026-03-07 07:33:44 +01:00
2026-06-14 22:21:13 +02:00
2026-02-26 16:44:34 +01:00
2026-08-09 18:34:35 +02:00
2026-08-05 11:11:15 -05:00
2026-07-20 12:33:12 +02:00
2026-02-18 12:51:35 +01:00
2026-08-09 13:23:24 +02:00
2026-06-08 11:01:34 -04:00
2026-07-19 15:32:45 +02:00
2026-02-12 13:44:07 +01:00
2026-08-04 15:02:46 +02:00
2026-07-28 23:20:01 +03:00
2026-02-26 15:58:26 +01:00
2026-06-10 01:30:43 +02:00
2026-03-21 19:23:37 +01:00
2026-03-21 07:20:18 +01:00
2026-07-20 04:02:46 +02:00
2026-08-09 16:16:54 +02:00
2026-08-09 17:32:24 +02:00
2026-06-08 10:27:18 -04:00
2026-02-26 16:44:34 +01:00
2026-08-07 01:34:47 +02:00
2026-02-12 18:26:16 +01:00
2026-06-09 20:02:17 +02:00
2026-08-09 16:03:27 +02:00
2026-07-28 04:15:30 +02:00
2026-08-09 03:30:15 +02:00
2026-01-21 22:36:45 +01:00
2026-06-10 01:30:43 +02:00
2026-02-19 14:00:10 +01:00
2026-01-21 14:01:47 +01:00
2026-06-10 18:06:45 +02:00
2026-03-01 16:50:23 +01:00
2026-06-19 16:58:40 +02:00
2026-07-17 15:59:36 -04:00
2026-07-17 16:03:03 -04:00
2026-08-05 01:40:37 +02:00
2026-07-17 15:54:32 -04:00
2026-07-17 16:03:03 -04:00
2026-08-07 05:05:41 +02:00
2026-08-05 01:53:43 +02:00
2026-03-07 07:33:44 +01:00
2026-02-26 16:44:34 +01:00
2026-06-10 20:41:34 +02:00
2026-03-07 07:33:44 +01:00
2026-03-07 07:33:44 +01:00
2026-08-09 15:31:02 +02:00
2026-07-12 18:21:42 +02:00
2026-01-25 07:52:40 +01:00
2026-03-01 14:33:18 +01:00
2026-02-26 16:44:34 +01:00
2026-07-17 16:26:28 -04:00
2026-08-06 07:22:29 +02:00
2026-06-10 03:41:04 +02:00
2026-02-18 18:14:13 +01:00
2026-06-19 12:35:16 -04:00
2026-06-09 20:02:15 +02:00
2026-06-10 17:08:36 +02:00
2026-08-09 16:16:54 +02:00
2026-08-05 01:53:43 +02:00
2026-08-09 01:34:55 +02:00
2026-08-09 15:31:02 +02:00
2026-07-12 19:49:58 +02:00
2026-06-10 20:41:34 +02:00
2026-06-10 01:30:43 +02:00
2026-08-09 01:18:03 +02:00
2026-07-12 17:50:21 +02:00
2026-06-10 04:07:26 +02:00
2026-07-17 16:21:16 -04:00
2026-07-17 16:25:29 -04:00
2026-06-17 23:41:47 +08:00
2026-02-26 16:44:34 +01:00
2026-08-03 21:22:33 +08:00
2026-08-09 16:01:48 +02:00
2026-08-09 01:18:03 +02:00
2026-06-10 01:30:43 +02:00
2026-07-31 08:47:52 +02:00
2026-08-05 01:40:37 +02:00
2026-07-12 19:58:32 +02:00
2026-07-25 15:28:04 +08:00
2026-08-07 01:31:50 +02:00
2026-06-10 01:30:43 +02:00
2026-06-09 20:02:15 +02:00
2026-06-10 01:30:43 +02:00
2026-03-07 07:33:44 +01:00
2026-07-17 16:26:36 -04:00
2026-01-22 11:30:10 +01:00
2026-05-12 10:11:47 +02:00
2026-06-15 01:43:15 +02:00
2026-06-14 22:38:19 +02:00
2026-02-28 17:39:44 +01:00
2026-02-28 17:39:44 +01:00
2026-01-21 07:19:49 +01:00
2026-02-26 16:44:34 +01:00
2026-06-10 18:06:45 +02:00
2026-07-10 14:39:19 -04:00
2026-08-05 02:38:57 +02:00
2026-08-05 02:38:57 +02:00
2026-08-08 23:00:36 +03:00
2026-06-30 19:52:49 -04:00
2026-07-12 12:39:46 +02:00
2026-06-09 15:39:03 -04:00
2026-02-26 16:44:34 +01:00
2026-08-07 16:41:39 +02:00
2026-08-09 03:22:06 +02:00
2026-06-09 15:39:03 -04:00
2026-07-12 18:33:18 +02:00
2026-08-09 01:18:03 +02:00
2026-07-12 19:49:58 +02:00
2026-07-10 11:14:26 -04:00
2026-05-25 23:28:58 +02:00
2026-08-09 18:03:13 +02:00
2026-07-20 03:26:21 +02:00
2026-06-10 20:41:34 +02:00
2026-06-14 07:33:52 +02:00
2026-07-20 02:58:51 +02:00
2026-01-22 11:30:10 +01:00
2026-07-12 12:42:36 +02:00
2026-07-29 17:50:41 +02:00
2026-07-29 09:01:18 +02:00
2026-08-09 04:06:23 +02:00
2026-07-31 08:47:52 +02:00
2026-06-18 10:00:04 +02:00
2026-07-21 00:04:40 +08:00
2026-07-12 18:42:36 +02:00
2026-07-12 18:42:36 +02:00
2026-07-12 18:42:36 +02:00