@profullstack/hqtui-demo 0.1.12 → 0.3.0
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/dist/main.js +12 -1
- package/dist/main.js.map +1 -1
- package/dist/screens/components.js +4 -3
- package/dist/screens/components.js.map +1 -1
- package/dist/screens/dashboard.js +44 -35
- package/dist/screens/dashboard.js.map +1 -1
- package/dist/screens/graphics.js +4 -2
- package/dist/screens/graphics.js.map +1 -1
- package/dist/screens/input.js +3 -1
- package/dist/screens/input.js.map +1 -1
- package/dist/screens/network.js +4 -3
- package/dist/screens/network.js.map +1 -1
- package/dist/screens/services.js +3 -2
- package/dist/screens/services.js.map +1 -1
- package/dist/screens/sessions.js +4 -3
- package/dist/screens/sessions.js.map +1 -1
- package/dist/screens/stress.js +3 -1
- package/dist/screens/stress.js.map +1 -1
- package/dist/screens/traffic.js +5 -4
- package/dist/screens/traffic.js.map +1 -1
- package/dist/state.js +5 -0
- package/dist/state.js.map +1 -1
- package/package.json +2 -2
- package/src/main.ts +12 -1
- package/src/screens/components.ts +4 -3
- package/src/screens/dashboard.ts +45 -36
- package/src/screens/graphics.ts +4 -3
- package/src/screens/input.ts +3 -2
- package/src/screens/network.ts +4 -3
- package/src/screens/services.ts +3 -2
- package/src/screens/sessions.ts +4 -3
- package/src/screens/stress.ts +3 -2
- package/src/screens/traffic.ts +5 -4
- package/src/state.ts +13 -0
package/dist/screens/services.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { focusPane, pane, scrollPane } from "../state.js";
|
|
1
|
+
import { focusPane, pane, panelGap, scrollPane } from "../state.js";
|
|
2
2
|
import { bytes, num, percent } from "../format.js";
|
|
3
3
|
function rate(value) {
|
|
4
4
|
if (value >= 1000)
|
|
@@ -7,6 +7,7 @@ function rate(value) {
|
|
|
7
7
|
}
|
|
8
8
|
/** Services, containers, kernel counters, filesystems and hardware sensors. */
|
|
9
9
|
export function servicesScreen(ui, state, theme) {
|
|
10
|
+
const gap = panelGap(state);
|
|
10
11
|
const t = state.sample.telemetry;
|
|
11
12
|
const failed = t.services.filter((s) => s.active === "failed");
|
|
12
13
|
ui.row({ size: "1fr", gap: 1 }, (row) => {
|
|
@@ -44,7 +45,7 @@ export function servicesScreen(ui, state, theme) {
|
|
|
44
45
|
],
|
|
45
46
|
});
|
|
46
47
|
});
|
|
47
|
-
row.column({ width: "0.85fr", gap
|
|
48
|
+
row.column({ width: "0.85fr", gap }, (column) => {
|
|
48
49
|
column.panel({ title: "Kernel", size: 11, borderColor: theme.accent }, (p) => {
|
|
49
50
|
const k = t.kernel;
|
|
50
51
|
p.keyValues([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/screens/services.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/screens/services.ts"],"names":[],"mappings":"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"}
|
package/dist/screens/sessions.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { focusPane, pane, scrollPane } from "../state.js";
|
|
1
|
+
import { focusPane, pane, panelGap, scrollPane } from "../state.js";
|
|
2
2
|
/** Who is on this machine, who has been, and who failed to get in. */
|
|
3
3
|
export function sessionsScreen(ui, state, theme) {
|
|
4
|
+
const gap = panelGap(state);
|
|
4
5
|
const t = state.sample.telemetry;
|
|
5
|
-
ui.row({ size: 9, gap
|
|
6
|
+
ui.row({ size: 9, gap }, (row) => {
|
|
6
7
|
row.panel({ title: "Active Sessions", subtitle: String(t.sessions.length), borderColor: theme.success }, (p) => {
|
|
7
8
|
if (t.sessions.length === 0) {
|
|
8
9
|
p.label("No interactive sessions.");
|
|
@@ -69,7 +70,7 @@ export function sessionsScreen(ui, state, theme) {
|
|
|
69
70
|
],
|
|
70
71
|
});
|
|
71
72
|
});
|
|
72
|
-
row.column({ width: "0.8fr", gap
|
|
73
|
+
row.column({ width: "0.8fr", gap }, (column) => {
|
|
73
74
|
column.panel({ title: "Failed Logins", borderColor: theme.danger }, (p) => {
|
|
74
75
|
if (t.failedLogins.length === 0) {
|
|
75
76
|
p.label("None recorded.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/screens/sessions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/screens/sessions.ts"],"names":[],"mappings":"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"}
|
package/dist/screens/stress.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { gradient } from "@profullstack/hqtui";
|
|
2
|
+
import { panelGap } from "../state.js";
|
|
2
3
|
import { num } from "../format.js";
|
|
3
4
|
/** Every cell changes every frame — the worst case for a differential renderer. */
|
|
4
5
|
export function stressScreen(ui, state, theme) {
|
|
6
|
+
const gap = panelGap(state);
|
|
5
7
|
const t = state.sample.time;
|
|
6
|
-
ui.row({ size: 3, gap
|
|
8
|
+
ui.row({ size: 3, gap }, (r) => {
|
|
7
9
|
r.panel({ title: "Render" }, (p) => {
|
|
8
10
|
p.text(`${num(state.renderMs, 2)} ms/frame`, { fg: theme.success });
|
|
9
11
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stress.js","sourceRoot":"","sources":["../../src/screens/stress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"stress.js","sourceRoot":"","sources":["../../src/screens/stress.ts"],"names":[],"mappings":"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"}
|
package/dist/screens/traffic.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { seriesColor } from "@profullstack/hqtui";
|
|
2
|
-
import { focusPane, pane, scrollPane } from "../state.js";
|
|
2
|
+
import { focusPane, pane, panelGap, scrollPane } from "../state.js";
|
|
3
3
|
import { num, percent } from "../format.js";
|
|
4
4
|
function rate(value) {
|
|
5
5
|
if (value >= 1e6)
|
|
@@ -17,10 +17,11 @@ const STATUS_COLORS = (theme) => ({
|
|
|
17
17
|
});
|
|
18
18
|
/** Every protocol in and out of this host: sockets, TCP counters, SSH, HTTP. */
|
|
19
19
|
export function trafficScreen(ui, state, theme) {
|
|
20
|
+
const gap = panelGap(state);
|
|
20
21
|
const t = state.sample.telemetry;
|
|
21
22
|
const net = t.net;
|
|
22
23
|
const http = t.http;
|
|
23
|
-
ui.row({ size: 13, gap
|
|
24
|
+
ui.row({ size: 13, gap }, (row) => {
|
|
24
25
|
row.panel({
|
|
25
26
|
title: "Protocols",
|
|
26
27
|
subtitle: `${t.inboundConnections} in / ${t.outboundConnections} out`,
|
|
@@ -77,7 +78,7 @@ export function trafficScreen(ui, state, theme) {
|
|
|
77
78
|
});
|
|
78
79
|
});
|
|
79
80
|
ui.row({ size: "1fr", gap: 1 }, (row) => {
|
|
80
|
-
row.column({ gap
|
|
81
|
+
row.column({ gap }, (column) => {
|
|
81
82
|
column.panel({
|
|
82
83
|
title: "HTTP",
|
|
83
84
|
subtitle: http ? `${num(http.requestsPerSecond, 1)} req/s` : "no access log",
|
|
@@ -122,7 +123,7 @@ export function trafficScreen(ui, state, theme) {
|
|
|
122
123
|
});
|
|
123
124
|
});
|
|
124
125
|
});
|
|
125
|
-
row.column({ width: "0.85fr", gap
|
|
126
|
+
row.column({ width: "0.85fr", gap }, (column) => {
|
|
126
127
|
column.panel({ title: "SSH Activity", subtitle: String(t.ssh.length), borderColor: theme.warning }, (p) => {
|
|
127
128
|
if (t.ssh.length === 0) {
|
|
128
129
|
p.label("No sshd events in the journal.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traffic.js","sourceRoot":"","sources":["../../src/screens/traffic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"traffic.js","sourceRoot":"","sources":["../../src/screens/traffic.ts"],"names":[],"mappings":"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"}
|
package/dist/state.js
CHANGED
|
@@ -2,6 +2,10 @@ export const SCREENS = [
|
|
|
2
2
|
"dashboard", "traffic", "sessions", "network", "services",
|
|
3
3
|
"components", "graphics", "themes", "input", "stress",
|
|
4
4
|
];
|
|
5
|
+
/** The seam between panels: zero while collapsed, so their borders can merge. */
|
|
6
|
+
export function panelGap(state) {
|
|
7
|
+
return state.collapsed ? 0 : 1;
|
|
8
|
+
}
|
|
5
9
|
/**
|
|
6
10
|
* The cursor for one scrollable, created on first use. Screens call this while
|
|
7
11
|
* drawing, which is also what registers the pane as existing.
|
|
@@ -61,6 +65,7 @@ export function createState(sample, source, unavailable, sensorNote = "") {
|
|
|
61
65
|
panes: {},
|
|
62
66
|
focused: {},
|
|
63
67
|
sort: "cpu",
|
|
68
|
+
collapsed: false,
|
|
64
69
|
filter: "",
|
|
65
70
|
filtering: false,
|
|
66
71
|
showHelp: false,
|
package/dist/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,OAAO,GAAiB;IACnC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU;IACzD,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;CACtD,CAAC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@profullstack/hqtui-demo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "The HQTUI reference dashboard: a btop-grade terminal system monitor. Runs on real system metrics or a deterministic simulation.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"audit:scroll": "bun scripts/scrollaudit.ts"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@profullstack/hqtui": "^0.
|
|
30
|
+
"@profullstack/hqtui": "^0.3.0"
|
|
31
31
|
},
|
|
32
32
|
"publishConfig": {
|
|
33
33
|
"access": "public"
|
package/src/main.ts
CHANGED
|
@@ -51,7 +51,7 @@ function parseArgs(argv: string[]): Options {
|
|
|
51
51
|
case "-h":
|
|
52
52
|
case "--help": printHelp(); process.exit(0);
|
|
53
53
|
case "-v":
|
|
54
|
-
case "--version": console.log("hqtui-demo 0.
|
|
54
|
+
case "--version": console.log("hqtui-demo 0.3.0"); process.exit(0);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
return options;
|
|
@@ -210,6 +210,15 @@ async function main(): Promise<void> {
|
|
|
210
210
|
app.setTheme(themeList[state.themeIndex]);
|
|
211
211
|
return;
|
|
212
212
|
case "f3": state.filtering = true; return;
|
|
213
|
+
case "c":
|
|
214
|
+
// Shows what collapseBorders does, live. Worth a key because the
|
|
215
|
+
// difference is only visible when panels sit next to each other —
|
|
216
|
+
// which is also why the screens have to close their one-column gaps
|
|
217
|
+
// at the same time. The library only merges a seam where two bordered
|
|
218
|
+
// siblings already touch, so toggling the flag alone moved nothing.
|
|
219
|
+
state.collapsed = !state.collapsed;
|
|
220
|
+
app.setCollapseBorders(state.collapsed);
|
|
221
|
+
return;
|
|
213
222
|
case "f6": {
|
|
214
223
|
const order = ["cpu", "mem", "pid", "name"] as const;
|
|
215
224
|
state.sort = order[(order.indexOf(state.sort) + 1) % order.length];
|
|
@@ -289,6 +298,7 @@ async function main(): Promise<void> {
|
|
|
289
298
|
{ key: "F1", label: "Help" },
|
|
290
299
|
{ key: "F2", label: `Theme (${theme.name})` },
|
|
291
300
|
{ key: "F3", label: state.filtering ? `Filter: ${state.filter}_` : "Filter", active: state.filtering },
|
|
301
|
+
{ key: "c", label: "Collapse", active: app.collapseBorders },
|
|
292
302
|
{ key: "F6", label: `Sort: ${state.sort}` },
|
|
293
303
|
{ key: "^K", label: "Palette" },
|
|
294
304
|
{ key: "Tab", label: "Screen" },
|
|
@@ -305,6 +315,7 @@ async function main(): Promise<void> {
|
|
|
305
315
|
message:
|
|
306
316
|
"1-6 or Tab switch screens.\n" +
|
|
307
317
|
"F2 cycles themes, F3 filters processes, F6 changes sort.\n" +
|
|
318
|
+
"c collapses adjacent panel borders into shared lines.\n" +
|
|
308
319
|
"Ctrl+K opens the command palette, Space pauses updates.\n" +
|
|
309
320
|
"Arrows, PageUp/PageDown, Home/End move the selection.\n" +
|
|
310
321
|
"Mouse: click tabs and buttons, scroll the process list.\n\n" +
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Container, Theme } from "@profullstack/hqtui";
|
|
2
|
-
import { focusPane, pane, scrollPane, type DemoState } from "../state.ts";
|
|
2
|
+
import { focusPane, pane, panelGap, scrollPane, type DemoState } from "../state.ts";
|
|
3
3
|
import { bytes, percent } from "../format.ts";
|
|
4
4
|
|
|
5
5
|
const FILES = [
|
|
@@ -39,8 +39,9 @@ const TREE = [
|
|
|
39
39
|
|
|
40
40
|
/** Every widget in the library, in one screen. Also the interaction sandbox. */
|
|
41
41
|
export function componentsScreen(ui: Container, state: DemoState, theme: Theme): void {
|
|
42
|
+
const gap = panelGap(state);
|
|
42
43
|
ui.row({ size: "1fr", gap: 1 }, (row) => {
|
|
43
|
-
row.column({ gap
|
|
44
|
+
row.column({ gap }, (left) => {
|
|
44
45
|
left.panel({ title: "Buttons & Inputs", size: 13 }, (p) => {
|
|
45
46
|
p.row({ size: 1, gap: 1 }, (r) => {
|
|
46
47
|
r.button({ label: "Primary", width: 11, size: 11, onPress: () => { state.showModal = true; } });
|
|
@@ -115,7 +116,7 @@ export function componentsScreen(ui: Container, state: DemoState, theme: Theme):
|
|
|
115
116
|
});
|
|
116
117
|
});
|
|
117
118
|
|
|
118
|
-
row.column({ gap
|
|
119
|
+
row.column({ gap }, (right) => {
|
|
119
120
|
right.panel({ title: "Process Tree", size: 13 }, (p) => {
|
|
120
121
|
p.row({ size: 1 }, (r) => {
|
|
121
122
|
r.text("Name", { fg: theme.muted, bold: true });
|
package/src/screens/dashboard.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { Container, Theme } from "@profullstack/hqtui";
|
|
1
|
+
import type { Container, Size, Theme } from "@profullstack/hqtui";
|
|
2
2
|
import { heatColor } from "@profullstack/hqtui";
|
|
3
|
-
import { focusPane, pane, scrollPane, type DemoState } from "../state.ts";
|
|
3
|
+
import { focusPane, pane, panelGap, scrollPane, type DemoState } from "../state.ts";
|
|
4
4
|
import { bitRate, byteRate, bytes, clock, duration, num, percent } from "../format.ts";
|
|
5
5
|
|
|
6
6
|
const TIME_LABELS = ["60s", "45s", "30s", "15s", "0s"];
|
|
7
7
|
|
|
8
|
-
function cpuPanel(ui: Container, state: DemoState, theme: Theme, coreColumns: number): void {
|
|
8
|
+
function cpuPanel(ui: Container, state: DemoState, theme: Theme, coreColumns: number, width?: Size): void {
|
|
9
9
|
const cpu = state.sample.cpu;
|
|
10
|
-
ui.panel({ title: "CPU Overview", subtitle: percent(cpu.total) }, (p) => {
|
|
10
|
+
ui.panel({ title: "CPU Overview", subtitle: percent(cpu.total), width }, (p) => {
|
|
11
11
|
p.label(`${cpu.model} ${num(cpu.frequencyGhz, 1)} GHz`, { size: 1 });
|
|
12
12
|
p.graph({ values: cpu.history, min: 0, max: 100, fill: true, color: theme.success, size: "1fr" });
|
|
13
13
|
p.meters(
|
|
@@ -26,11 +26,11 @@ function cpuPanel(ui: Container, state: DemoState, theme: Theme, coreColumns: nu
|
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
function memoryPanel(ui: Container, state: DemoState, theme: Theme): void {
|
|
29
|
+
function memoryPanel(ui: Container, state: DemoState, theme: Theme, width?: Size): void {
|
|
30
30
|
const memory = state.sample.memory;
|
|
31
31
|
const used = memory.used / Math.max(1, memory.total);
|
|
32
32
|
const swap = memory.swapTotal > 0 ? memory.swapUsed / memory.swapTotal : 0;
|
|
33
|
-
ui.panel({ title: "Memory & Swap" }, (p) => {
|
|
33
|
+
ui.panel({ title: "Memory & Swap", width }, (p) => {
|
|
34
34
|
p.text(`Memory${" ".repeat(6)}${bytes(memory.used)} / ${bytes(memory.total)} (${percent(used)})`, {
|
|
35
35
|
fg: theme.foreground,
|
|
36
36
|
size: 1,
|
|
@@ -58,9 +58,9 @@ function memoryPanel(ui: Container, state: DemoState, theme: Theme): void {
|
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
function disksPanel(ui: Container, state: DemoState, theme: Theme): void {
|
|
61
|
+
function disksPanel(ui: Container, state: DemoState, theme: Theme, width?: Size): void {
|
|
62
62
|
const disks = state.sample.disks;
|
|
63
|
-
ui.panel({ title: "Disks" }, (p) => {
|
|
63
|
+
ui.panel({ title: "Disks", width }, (p) => {
|
|
64
64
|
if (disks.length === 0) {
|
|
65
65
|
p.label("No disks reported");
|
|
66
66
|
return;
|
|
@@ -87,9 +87,9 @@ function disksPanel(ui: Container, state: DemoState, theme: Theme): void {
|
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
function systemPanel(ui: Container, state: DemoState, theme: Theme): void {
|
|
90
|
+
function systemPanel(ui: Container, state: DemoState, theme: Theme, width?: Size): void {
|
|
91
91
|
const s = state.sample;
|
|
92
|
-
ui.panel({ title: "System" }, (p) => {
|
|
92
|
+
ui.panel({ title: "System", width }, (p) => {
|
|
93
93
|
p.row({ size: 6, gap: 2, min: 6 }, (r) => {
|
|
94
94
|
r.keyValues([
|
|
95
95
|
{ label: "OS:", value: s.system.os },
|
|
@@ -147,12 +147,13 @@ function systemPanel(ui: Container, state: DemoState, theme: Theme): void {
|
|
|
147
147
|
});
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
-
function processesPanel(ui: Container, state: DemoState, theme: Theme): void {
|
|
150
|
+
function processesPanel(ui: Container, state: DemoState, theme: Theme, width?: Size): void {
|
|
151
151
|
const rows = visibleProcesses(state);
|
|
152
152
|
ui.panel({
|
|
153
153
|
title: `Processes (sorted by ${state.sort.toUpperCase()})`,
|
|
154
154
|
subtitle: state.filter ? `filter: ${state.filter}` : undefined,
|
|
155
155
|
focusable: true,
|
|
156
|
+
width,
|
|
156
157
|
}, (p) => {
|
|
157
158
|
const procs = pane(state, "dashboard.processes", rows.length);
|
|
158
159
|
p.table({
|
|
@@ -179,9 +180,9 @@ function processesPanel(ui: Container, state: DemoState, theme: Theme): void {
|
|
|
179
180
|
});
|
|
180
181
|
}
|
|
181
182
|
|
|
182
|
-
function networkPanel(ui: Container, state: DemoState, theme: Theme): void {
|
|
183
|
+
function networkPanel(ui: Container, state: DemoState, theme: Theme, width?: Size): void {
|
|
183
184
|
const net = state.sample.network;
|
|
184
|
-
ui.panel({ title: "Network" }, (p) => {
|
|
185
|
+
ui.panel({ title: "Network", width }, (p) => {
|
|
185
186
|
p.row({ size: 1 }, (r) => {
|
|
186
187
|
r.text(`Download: ${bitRate(net.downRate)}`, { fg: theme.primary });
|
|
187
188
|
r.text(`Upload: ${bitRate(net.upRate)}`, { fg: theme.secondary, align: "right" });
|
|
@@ -204,9 +205,9 @@ function networkPanel(ui: Container, state: DemoState, theme: Theme): void {
|
|
|
204
205
|
});
|
|
205
206
|
}
|
|
206
207
|
|
|
207
|
-
function diskUsagePanel(ui: Container, state: DemoState, theme: Theme): void {
|
|
208
|
+
function diskUsagePanel(ui: Container, state: DemoState, theme: Theme, width?: Size): void {
|
|
208
209
|
const disks = state.sample.disks;
|
|
209
|
-
ui.panel({ title: "Disk Usage", subtitle: disks[0]?.device }, (p) => {
|
|
210
|
+
ui.panel({ title: "Disk Usage", subtitle: disks[0]?.device, width }, (p) => {
|
|
210
211
|
disks.forEach((disk) => {
|
|
211
212
|
const used = disk.total > 0 ? disk.used / disk.total : 0;
|
|
212
213
|
p.meter({
|
|
@@ -268,8 +269,8 @@ function sensorsPanel(ui: Container, state: DemoState, theme: Theme): void {
|
|
|
268
269
|
});
|
|
269
270
|
}
|
|
270
271
|
|
|
271
|
-
function logsPanel(ui: Container, state: DemoState): void {
|
|
272
|
-
ui.panel({ title: "Logs" }, (p) => {
|
|
272
|
+
function logsPanel(ui: Container, state: DemoState, width?: Size): void {
|
|
273
|
+
ui.panel({ title: "Logs", width }, (p) => {
|
|
273
274
|
const logs = pane(state, "dashboard.logs", state.sample.logs.length, "log");
|
|
274
275
|
p.log({
|
|
275
276
|
entries: state.sample.logs.map((l) => ({
|
|
@@ -304,51 +305,59 @@ export function visibleProcesses(state: DemoState): DemoState["sample"]["process
|
|
|
304
305
|
return sorted;
|
|
305
306
|
}
|
|
306
307
|
|
|
307
|
-
/**
|
|
308
|
+
/**
|
|
309
|
+
* The reference dashboard. Three layouts, chosen by terminal width.
|
|
310
|
+
*
|
|
311
|
+
* Panels go straight into their row rather than each inside a sizing column.
|
|
312
|
+
* A column is not a bordered child, so a row of them has no seam to merge and
|
|
313
|
+
* [c] could never change this screen; `width` on the panel does the same job
|
|
314
|
+
* and leaves the borders adjacent to each other.
|
|
315
|
+
*/
|
|
308
316
|
export function dashboardScreen(ui: Container, state: DemoState, theme: Theme): void {
|
|
317
|
+
const gap = panelGap(state);
|
|
309
318
|
ui.responsive({
|
|
310
319
|
150: (wide) => {
|
|
311
320
|
// The System column holds nested panels, so it gets the extra width —
|
|
312
321
|
// and extra height whenever the terminal is tall enough to spare it.
|
|
313
|
-
wide.row({ size: wide.height >= 44 ? 19 : 16, gap
|
|
314
|
-
|
|
315
|
-
r
|
|
316
|
-
r
|
|
317
|
-
r
|
|
322
|
+
wide.row({ size: wide.height >= 44 ? 19 : 16, gap }, (r) => {
|
|
323
|
+
cpuPanel(r, state, theme, 2, "1fr");
|
|
324
|
+
memoryPanel(r, state, theme, "0.95fr");
|
|
325
|
+
disksPanel(r, state, theme, "0.95fr");
|
|
326
|
+
systemPanel(r, state, theme, "1.35fr");
|
|
318
327
|
});
|
|
319
|
-
wide.row({ size: "1fr", gap
|
|
320
|
-
|
|
321
|
-
r
|
|
322
|
-
r
|
|
328
|
+
wide.row({ size: "1fr", gap }, (r) => {
|
|
329
|
+
processesPanel(r, state, theme, "2fr");
|
|
330
|
+
networkPanel(r, state, theme, "1.2fr");
|
|
331
|
+
diskUsagePanel(r, state, theme, "1.2fr");
|
|
323
332
|
});
|
|
324
|
-
wide.row({ size: 12, gap
|
|
333
|
+
wide.row({ size: 12, gap }, (r) => {
|
|
325
334
|
temperaturesPanel(r, state, theme);
|
|
326
335
|
sensorsPanel(r, state, theme);
|
|
327
|
-
r
|
|
336
|
+
logsPanel(r, state, "1.6fr");
|
|
328
337
|
});
|
|
329
338
|
},
|
|
330
339
|
100: (medium) => {
|
|
331
|
-
medium.row({ size: 14, gap
|
|
340
|
+
medium.row({ size: 14, gap }, (r) => {
|
|
332
341
|
cpuPanel(r, state, theme, 2);
|
|
333
342
|
memoryPanel(r, state, theme);
|
|
334
343
|
systemPanel(r, state, theme);
|
|
335
344
|
});
|
|
336
|
-
medium.row({ size: "1fr", gap
|
|
337
|
-
r
|
|
338
|
-
|
|
345
|
+
medium.row({ size: "1fr", gap }, (r) => {
|
|
346
|
+
processesPanel(r, state, theme, "1.6fr");
|
|
347
|
+
networkPanel(r, state, theme);
|
|
339
348
|
});
|
|
340
|
-
medium.row({ size: 10, gap
|
|
349
|
+
medium.row({ size: 10, gap }, (r) => {
|
|
341
350
|
temperaturesPanel(r, state, theme);
|
|
342
351
|
logsPanel(r, state);
|
|
343
352
|
});
|
|
344
353
|
},
|
|
345
354
|
0: (compact) => {
|
|
346
|
-
compact.row({ size: 10, gap
|
|
355
|
+
compact.row({ size: 10, gap }, (r) => {
|
|
347
356
|
cpuPanel(r, state, theme, 1);
|
|
348
357
|
memoryPanel(r, state, theme);
|
|
349
358
|
});
|
|
350
359
|
compact.column({ size: "1fr" }, (c) => processesPanel(c, state, theme));
|
|
351
|
-
compact.row({ size: 8, gap
|
|
360
|
+
compact.row({ size: 8, gap }, (r) => networkPanel(r, state, theme));
|
|
352
361
|
},
|
|
353
362
|
});
|
|
354
363
|
}
|
package/src/screens/graphics.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Container, Theme } from "@profullstack/hqtui";
|
|
2
2
|
import { gradientSteps } from "@profullstack/hqtui";
|
|
3
|
-
import type
|
|
3
|
+
import { panelGap, type DemoState } from "../state.ts";
|
|
4
4
|
|
|
5
5
|
function wave(count: number, phase: number, freq: number): number[] {
|
|
6
6
|
return Array.from({ length: count }, (_, i) => Math.sin(i / freq + phase) * 50 + 50);
|
|
@@ -8,13 +8,14 @@ function wave(count: number, phase: number, freq: number): number[] {
|
|
|
8
8
|
|
|
9
9
|
/** Rendering-mode comparison: braille vs block vs ascii, plus raw canvas access. */
|
|
10
10
|
export function graphicsScreen(ui: Container, state: DemoState, theme: Theme): void {
|
|
11
|
+
const gap = panelGap(state);
|
|
11
12
|
const t = state.sample.time;
|
|
12
13
|
const a = wave(240, t / 3, 9);
|
|
13
14
|
const b = wave(240, t / 3 + 2, 5);
|
|
14
15
|
const c = wave(240, t / 2, 17);
|
|
15
16
|
|
|
16
17
|
ui.row({ size: "1fr", gap: 1 }, (row) => {
|
|
17
|
-
row.column({ gap
|
|
18
|
+
row.column({ gap }, (left) => {
|
|
18
19
|
left.panel({ title: "Braille (2×4 pixels per cell)" }, (p) => {
|
|
19
20
|
p.graph({ values: a, min: 0, max: 100, fill: true, color: theme.accent, grid: true });
|
|
20
21
|
});
|
|
@@ -26,7 +27,7 @@ export function graphicsScreen(ui: Container, state: DemoState, theme: Theme): v
|
|
|
26
27
|
});
|
|
27
28
|
});
|
|
28
29
|
|
|
29
|
-
row.column({ gap
|
|
30
|
+
row.column({ gap }, (right) => {
|
|
30
31
|
right.panel({ title: "Multi-series" }, (p) => {
|
|
31
32
|
p.multiGraph(
|
|
32
33
|
[
|
package/src/screens/input.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { Container, Theme } from "@profullstack/hqtui";
|
|
2
|
-
import type
|
|
2
|
+
import { panelGap, type DemoState } from "../state.ts";
|
|
3
3
|
|
|
4
4
|
/** Keyboard and mouse event visualizer — useful when debugging bindings. */
|
|
5
5
|
export function inputScreen(ui: Container, state: DemoState, theme: Theme): void {
|
|
6
|
-
|
|
6
|
+
const gap = panelGap(state);
|
|
7
|
+
ui.row({ size: "1fr", gap }, (row) => {
|
|
7
8
|
row.panel({ title: "Last Events" }, (p) => {
|
|
8
9
|
p.keyValues([
|
|
9
10
|
{ label: "Key", value: state.lastKey, color: theme.accent },
|
package/src/screens/network.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import type { Container, Theme } from "@profullstack/hqtui";
|
|
2
|
-
import { focusPane, pane, scrollPane, type DemoState } from "../state.ts";
|
|
2
|
+
import { focusPane, pane, panelGap, scrollPane, type DemoState } from "../state.ts";
|
|
3
3
|
import { byteRate, bytes } from "../format.ts";
|
|
4
4
|
|
|
5
5
|
/** Interfaces, live throughput, open connections and listening ports. */
|
|
6
6
|
export function networkScreen(ui: Container, state: DemoState, theme: Theme): void {
|
|
7
|
+
const gap = panelGap(state);
|
|
7
8
|
const t = state.sample.telemetry;
|
|
8
9
|
const active = t.interfaces.filter((i) => i.rxTotal > 0 || i.state === "up");
|
|
9
10
|
const shown = (active.length ? active : t.interfaces).slice(0, 3);
|
|
10
11
|
|
|
11
|
-
ui.row({ size: 13, gap
|
|
12
|
+
ui.row({ size: 13, gap }, (row) => {
|
|
12
13
|
if (shown.length === 0) {
|
|
13
14
|
row.panel({ title: "Interfaces" }, (p) => p.label("No interfaces reported."));
|
|
14
15
|
return;
|
|
@@ -74,7 +75,7 @@ export function networkScreen(ui: Container, state: DemoState, theme: Theme): vo
|
|
|
74
75
|
});
|
|
75
76
|
});
|
|
76
77
|
|
|
77
|
-
row.column({ width: "0.7fr", gap
|
|
78
|
+
row.column({ width: "0.7fr", gap }, (column) => {
|
|
78
79
|
column.panel({ title: "Listening Ports", subtitle: String(t.listeners.length), borderColor: theme.warning }, (p) => {
|
|
79
80
|
const listeners = pane(state, "network.listeners", t.listeners.length);
|
|
80
81
|
p.table({
|