From 7c79625ba7e52f4961c736e60bb561e5a5b88797 Mon Sep 17 00:00:00 2001 From: LGUG2Z Date: Tue, 27 Oct 2026 22:56:36 -0700 Subject: [PATCH] docs(schema): regenerate the schemas for the scrolling layout schema.json gets the center_focused_column layout option as a boolean or one of Never, Always and OnOverflow, and schema.bar.json, which embeds the socket messages, gets the new scrolling commands. --- docs/cli/center-focus.md | 10 +++ docs/cli/consume.md | 14 +++ docs/cli/expand.md | 10 +++ docs/cli/expel.md | 11 +++ docs/cli/scrolling-layout-full-width.md | 11 +++ docs/cli/toggle-column-stack.md | 11 +++ schema.bar.json | 114 ++++++++++++++++++++++-- schema.json | 38 ++++++-- 8 files changed, 209 insertions(+), 10 deletions(-) create mode 100644 docs/cli/center-focus.md create mode 100644 docs/cli/consume.md create mode 100644 docs/cli/expand.md create mode 100644 docs/cli/expel.md create mode 100644 docs/cli/scrolling-layout-full-width.md create mode 100644 docs/cli/toggle-column-stack.md diff --git a/docs/cli/center-focus.md b/docs/cli/center-focus.md new file mode 100644 index 00000000..8d321dc9 --- /dev/null +++ b/docs/cli/center-focus.md @@ -0,0 +1,10 @@ +``` +Scroll the Scrolling layout so that the focused column is in the middle of the screen, once + +Usage: center-focus + +Options: + -h, --help + Print help + +``` \ No newline at end of file diff --git a/docs/cli/consume.md b/docs/cli/consume.md new file mode 100644 index 00000000..10397301 --- /dev/null +++ b/docs/cli/consume.md @@ -0,0 +1,14 @@ +``` +Take the neighbouring window on one side into the focused column of the Scrolling layout + +Usage: consume + +Arguments: + + [possible values: left, right, up, down] + +Options: + -h, --help + Print help + +``` \ No newline at end of file diff --git a/docs/cli/expand.md b/docs/cli/expand.md new file mode 100644 index 00000000..6ad3eab3 --- /dev/null +++ b/docs/cli/expand.md @@ -0,0 +1,10 @@ +``` +Make the focused column of the Scrolling layout fill the room that the columns in view leave on the screen, which does nothing in any other layout + +Usage: expand + +Options: + -h, --help + Print help + +``` diff --git a/docs/cli/expel.md b/docs/cli/expel.md new file mode 100644 index 00000000..35c8c142 --- /dev/null +++ b/docs/cli/expel.md @@ -0,0 +1,11 @@ +``` +Take the focused window out of its column in the Scrolling layout and put it in a column of its own +on the right + +Usage: expel + +Options: + -h, --help + Print help + +``` \ No newline at end of file diff --git a/docs/cli/scrolling-layout-full-width.md b/docs/cli/scrolling-layout-full-width.md new file mode 100644 index 00000000..8b244afe --- /dev/null +++ b/docs/cli/scrolling-layout-full-width.md @@ -0,0 +1,11 @@ +``` +Make the focused column of the Scrolling layout as wide as the screen, or put it back to the width +that it had + +Usage: scrolling-layout-full-width + +Options: + -h, --help + Print help + +``` \ No newline at end of file diff --git a/docs/cli/toggle-column-stack.md b/docs/cli/toggle-column-stack.md new file mode 100644 index 00000000..3792569c --- /dev/null +++ b/docs/cli/toggle-column-stack.md @@ -0,0 +1,11 @@ +``` +Stack the windows of the focused column of the Scrolling layout, or spread the focused stack out +into a column with a window in each slot + +Usage: toggle-column-stack + +Options: + -h, --help + Print help + +``` \ No newline at end of file diff --git a/schema.bar.json b/schema.bar.json index 8d0b4929..2058c8a0 100644 --- a/schema.bar.json +++ b/schema.bar.json @@ -5208,16 +5208,44 @@ } ] }, + "ScrollingCentering": { + "description": "When the Scrolling layout centres the focused column\n\nA boolean is also accepted when reading, for the layout option that used to be one: `true` is\n`Always` and `false` is `Never`.", + "oneOf": [ + { + "description": "Scroll just far enough to bring the focused column into view, and no further", + "type": "string", + "const": "Never" + }, + { + "description": "Keep the focused column in the middle of the screen", + "type": "string", + "const": "Always" + }, + { + "description": "Centre the focused column when it does not fit on the screen together with the column that\nfocus came from", + "type": "string", + "const": "OnOverflow" + } + ] + }, "ScrollingLayoutOptions": { "description": "Options for the Scrolling layout", "type": "object", "properties": { "center_focused_column": { - "description": "With an odd number of visible columns, keep the focused window column centered", - "type": [ - "boolean", - "null" - ] + "description": "When to centre the focused column: `Never` (the default), `Always`, or `OnOverflow`, which\nis when it does not fit on the screen together with the column that focus came from. A\nboolean is also accepted, where `true` is `Always` and `false` is `Never`", + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/$defs/ScrollingCentering" + }, + { + "type": "null" + } + ], + "default": null }, "columns": { "description": "Desired number of visible columns (default: 3)", @@ -6299,6 +6327,82 @@ "content" ] }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "ScrollingLayoutFullWidth" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "CenterFocus" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "Expand" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "content": { + "$ref": "#/$defs/OperationDirection" + }, + "type": { + "type": "string", + "const": "Consume" + } + }, + "required": [ + "type", + "content" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "Expel" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "ToggleColumnStack" + } + }, + "required": [ + "type" + ] + }, { "type": "object", "properties": { diff --git a/schema.json b/schema.json index cd1ae73c..de0d6070 100644 --- a/schema.json +++ b/schema.json @@ -3854,16 +3854,44 @@ "b" ] }, + "ScrollingCentering": { + "description": "When the Scrolling layout centres the focused column\n\nA boolean is also accepted when reading, for the layout option that used to be one: `true` is\n`Always` and `false` is `Never`.", + "oneOf": [ + { + "description": "Scroll just far enough to bring the focused column into view, and no further", + "type": "string", + "const": "Never" + }, + { + "description": "Keep the focused column in the middle of the screen", + "type": "string", + "const": "Always" + }, + { + "description": "Centre the focused column when it does not fit on the screen together with the column that\nfocus came from", + "type": "string", + "const": "OnOverflow" + } + ] + }, "ScrollingLayoutOptions": { "description": "Options for the Scrolling layout", "type": "object", "properties": { "center_focused_column": { - "description": "With an odd number of visible columns, keep the focused window column centered", - "type": [ - "boolean", - "null" - ] + "description": "When to centre the focused column: `Never` (the default), `Always`, or `OnOverflow`, which\nis when it does not fit on the screen together with the column that focus came from. A\nboolean is also accepted, where `true` is `Always` and `false` is `Never`", + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/$defs/ScrollingCentering" + }, + { + "type": "null" + } + ], + "default": null }, "columns": { "description": "Desired number of visible columns (default: 3)",