diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-06 23:06:00 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-06 23:06:00 +0300 |
| commit | 56edcbcba83b8ff7f6f69ee4231f163e97df3346 (patch) | |
| tree | e6eb1c31fd8f9a317fe1d6d49b019037f14b4746 /docs/next/website | |
| parent | efceb30f0b447196615e3b2821d12ef82adcb3e2 (diff) | |
feat: expose pane scroll state
Diffstat (limited to 'docs/next/website')
| -rw-r--r-- | docs/next/website/src/content/docs/cli-reference.mdx | 2 | ||||
| -rw-r--r-- | docs/next/website/src/content/docs/socket-api.mdx | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/docs/next/website/src/content/docs/cli-reference.mdx b/docs/next/website/src/content/docs/cli-reference.mdx index a6870fff..81fe4dce 100644 --- a/docs/next/website/src/content/docs/cli-reference.mdx +++ b/docs/next/website/src/content/docs/cli-reference.mdx @@ -224,6 +224,8 @@ herdr pane report-agent <pane_id> \ Those commands include `foreground_cwd` when Herdr can resolve the cwd of the foreground process controlling the pane. The existing `cwd` field remains the pane/workspace cwd used for labels and follow-cwd behavior. +`pane get` and `pane list` include `scroll` when terminal scroll metrics are available. `scroll.offset_from_bottom == 0` means the pane is at the bottom of its scrollback. + Report display-only pane metadata without taking over semantic state: ```bash diff --git a/docs/next/website/src/content/docs/socket-api.mdx b/docs/next/website/src/content/docs/socket-api.mdx index 64c5ac4e..600238b9 100644 --- a/docs/next/website/src/content/docs/socket-api.mdx +++ b/docs/next/website/src/content/docs/socket-api.mdx @@ -150,6 +150,18 @@ like `ctrl+h`, `control+j`, `alt+x`, and `shift+tab`, function keys like Herdr returns that pane. When it is omitted, Herdr returns the active focused pane. +`PaneInfo` includes `scroll` when terminal scroll metrics are available: + +```json +{ + "offset_from_bottom": 12, + "max_offset_from_bottom": 240, + "viewport_rows": 30 +} +``` + +Clients can treat `offset_from_bottom == 0` as at-bottom state. + `pane.layout` returns the tab layout snapshot with `workspace_id`, `tab_id`, `zoomed`, outer `area`, `focused_pane_id`, pane rects, and split rects/ratios. `pane.neighbor` and `pane.edges` include that same layout snapshot so clients @@ -630,7 +642,10 @@ Tab event subscriptions include `tab.created`, `tab.closed`, `tab.focused`, that workspace. Pane event subscriptions include `pane.created`, `pane.closed`, `pane.focused`, `pane.moved`, `pane.exited`, `pane.agent_detected`, -`pane.output_matched`, and `pane.agent_status_changed`. +`pane.output_matched`, `pane.agent_status_changed`, and `pane.scroll_changed`. +`pane.scroll_changed` is scoped to one `pane_id` and emits `pane_id`, +`workspace_id`, and the current `scroll` metrics whenever Herdr observes a +changed scroll snapshot. Layout event subscriptions include `layout.updated`. The event carries the updated `PaneLayoutSnapshot` for one tab. Clients that bootstrap with `session.snapshot` should replace the cached layout with the same |
