@pi-unipi/footer 3.0.0-alpha.22 → 3.0.0-alpha.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/src/config.ts +39 -19
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-unipi/footer",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.24",
|
|
4
4
|
"description": "Persistent status bar for Unipi — subscribes to UNIPI_EVENTS and renders key stats from all unipi packages",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"access": "public"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@pi-unipi/core": "3.0.0-alpha.
|
|
36
|
-
"@pi-unipi/background-tasks": "3.0.0-alpha.
|
|
35
|
+
"@pi-unipi/core": "3.0.0-alpha.24",
|
|
36
|
+
"@pi-unipi/background-tasks": "3.0.0-alpha.24"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"@earendil-works/pi-coding-agent": "^0.87.1",
|
package/src/config.ts
CHANGED
|
@@ -93,44 +93,63 @@ registerSettings({
|
|
|
93
93
|
{
|
|
94
94
|
title: "General",
|
|
95
95
|
fields: [
|
|
96
|
-
{ key: "enabled", type: "boolean", label: "Footer enabled" },
|
|
96
|
+
{ key: "enabled", type: "boolean", label: "Footer enabled", description: "The status line above the input. Off removes it and every segment entirely." },
|
|
97
|
+
{ key: "glanceMode", type: "boolean", label: "Glance mode", description: "The framed input surface with status in its bottom border. Applies to new renders." },
|
|
98
|
+
{
|
|
99
|
+
key: "iconStyle",
|
|
100
|
+
type: "enum",
|
|
101
|
+
label: "Icon style",
|
|
102
|
+
description: "Glyph set for the brand and segment icons (glance frame included).",
|
|
103
|
+
options: [
|
|
104
|
+
{ value: "emoji", label: "emoji", description: "emoji glyphs, always render" },
|
|
105
|
+
{ value: "nerd", label: "nerd font", description: "nerd-font glyphs, need a patched font" },
|
|
106
|
+
{ value: "text", label: "text only", description: "no icons, plain text labels" },
|
|
107
|
+
],
|
|
108
|
+
},
|
|
109
|
+
],
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
title: "Classic footer",
|
|
113
|
+
description: "Used only when Glance mode is off.",
|
|
114
|
+
advanced: true,
|
|
115
|
+
fields: [
|
|
97
116
|
{
|
|
98
117
|
key: "preset",
|
|
99
118
|
type: "enum",
|
|
100
119
|
label: "Preset",
|
|
101
|
-
|
|
102
|
-
|
|
120
|
+
description: "Which segments appear and in what order.",
|
|
121
|
+
options: [
|
|
122
|
+
{ value: "default", label: "default", description: "model, git, context, cost, clock — the balanced line" },
|
|
123
|
+
{ value: "classic", label: "classic", description: "the pre-v3 view with more status segments" },
|
|
124
|
+
{ value: "minimal", label: "minimal", description: "mode, model, git, context, clock only" },
|
|
125
|
+
{ value: "compact", label: "compact", description: "minimal plus tps and cost" },
|
|
126
|
+
{ value: "full", label: "full", description: "every segment, incl. servers, loops and tasks" },
|
|
127
|
+
{ value: "ascii", label: "ascii", description: "compact set, safe on any terminal" },
|
|
128
|
+
],
|
|
103
129
|
},
|
|
104
|
-
{ key: "glanceMode", type: "boolean", label: "Glance mode", description: "The input-box frame renderer" },
|
|
105
|
-
{ key: "showFullLabels", type: "boolean", label: "Full labels", description: "Labeled instead of compact segments" },
|
|
106
130
|
{
|
|
107
131
|
key: "separator",
|
|
108
132
|
type: "enum",
|
|
109
133
|
label: "Separator",
|
|
110
|
-
|
|
134
|
+
plainOptions: true,
|
|
135
|
+
description: "Style of the divider drawn between segments.",
|
|
111
136
|
options: ["powerline", "powerline-thin", "slash", "pipe", "dot", "ascii"],
|
|
112
137
|
},
|
|
113
138
|
{
|
|
114
139
|
key: "zoneSeparator",
|
|
115
140
|
type: "enum",
|
|
116
141
|
label: "Zone separator",
|
|
117
|
-
|
|
142
|
+
plainOptions: true,
|
|
143
|
+
description: "Divider between the left, center and right zones.",
|
|
118
144
|
options: ["│", "╎", "·", "─", "none"],
|
|
119
145
|
},
|
|
120
|
-
{
|
|
121
|
-
key: "iconStyle",
|
|
122
|
-
type: "enum",
|
|
123
|
-
label: "Icon style",
|
|
124
|
-
options: [
|
|
125
|
-
{ value: "emoji", label: "emoji" },
|
|
126
|
-
{ value: "nerd", label: "nerd font" },
|
|
127
|
-
{ value: "text", label: "text only" },
|
|
128
|
-
],
|
|
129
|
-
},
|
|
146
|
+
{ key: "showFullLabels", type: "boolean", label: "Full labels", description: "Show each segment's name next to its value." },
|
|
130
147
|
{
|
|
131
148
|
key: "colorMode",
|
|
132
149
|
type: "enum",
|
|
133
150
|
label: "Color mode",
|
|
151
|
+
plainOptions: true,
|
|
152
|
+
description: "How much color the footer emits.",
|
|
134
153
|
options: ["auto", "truecolor", "256", "mono"],
|
|
135
154
|
},
|
|
136
155
|
],
|
|
@@ -142,16 +161,17 @@ registerSettings({
|
|
|
142
161
|
key: "segments-page",
|
|
143
162
|
type: "page",
|
|
144
163
|
label: "Segments…",
|
|
145
|
-
description: "
|
|
164
|
+
description: "Choose which groups and segments appear in the footer.",
|
|
146
165
|
sections: () =>
|
|
147
166
|
getFooterRegistry().getAllGroups().map((g) => ({
|
|
148
167
|
title: g.name,
|
|
149
168
|
fields: [
|
|
150
|
-
{ key: `groups.${g.id}.show`, type: "boolean" as const, label: `Show ${g.name}` },
|
|
169
|
+
{ key: `groups.${g.id}.show`, type: "boolean" as const, label: `Show ${g.name}`, description: `Show the ${g.name} group in the footer.` },
|
|
151
170
|
...g.segments.map((seg) => ({
|
|
152
171
|
key: `groups.${g.id}.segments.${seg.id}`,
|
|
153
172
|
type: "boolean" as const,
|
|
154
173
|
label: seg.label,
|
|
174
|
+
description: `Show the ${seg.label} segment in the ${g.name} group.`,
|
|
155
175
|
})),
|
|
156
176
|
],
|
|
157
177
|
})),
|