Round 331: Collectl ext, Atop ext, Glances ext, Htop-ext ext, Btop ext (20 commands)

ober

c1a3ebe22f7fdab56d70a519b57857e14fd0d1ac

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 65aff01..8813228 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | ebib-import-file | :orange_circle: | Import file into Ebib |
 | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer |
 
+### Round 331 — Collectl ext, Atop ext, Glances ext, Htop-ext ext, Btop ext
+
+| Feature | Status | Notes |
+|---------|--------|-------|
+| `collectl-cpu` | :orange_circle: | CPU statistics |
+| `collectl-disk` | :orange_circle: | Disk statistics |
+| `collectl-network` | :orange_circle: | Network statistics |
+| `collectl-memory` | :orange_circle: | Memory statistics |
+| `atop-show` | :orange_circle: | System overview |
+| `atop-process` | :orange_circle: | Process view |
+| `atop-disk` | :orange_circle: | Disk view |
+| `atop-memory` | :orange_circle: | Memory view |
+| `glances-show` | :orange_circle: | System monitor |
+| `glances-export` | :orange_circle: | Export data |
+| `glances-web` | :orange_circle: | Web interface |
+| `glances-alert` | :orange_circle: | Show alerts |
+| `htop-process` | :orange_circle: | Process list |
+| `htop-tree` | :orange_circle: | Process tree |
+| `htop-filter` | :orange_circle: | Filter processes |
+| `htop-sort` | :orange_circle: | Sort processes |
+| `btop-show` | :orange_circle: | System monitor |
+| `btop-theme` | :orange_circle: | Set theme |
+| `btop-filter` | :orange_circle: | Filter view |
+| `btop-export` | :orange_circle: | Export data |
+
 ### Round 330 — Perf-sched ext, Numastat ext, Vmstat ext, Dstat ext, Nmon ext
 
 | Feature | Status | Notes |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 90c7e39..9cf2292 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -24593,4 +24593,56 @@
 
 (def (cmd-nmon-snapshot app)
   (let* ((echo (app-state-echo app)))
-    (echo-message! echo "Nmon: taking system snapshot")))
\ No newline at end of file
+    (echo-message! echo "Nmon: taking system snapshot")))
+
+;;; Round 331 — Glances ext, Htop-ext ext, Btop ext (batch 2)
+
+(def (cmd-glances-web app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Glances: starting web interface")))
+
+(def (cmd-glances-alert app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Glances: showing alerts")))
+
+(def (cmd-htop-process app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Htop: showing process list")))
+
+(def (cmd-htop-tree app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Htop: showing process tree")))
+
+(def (cmd-htop-filter app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Filter: "
+      (lambda (flt)
+        (echo-message! echo (str "Htop: filtering by " flt))))))
+
+(def (cmd-htop-sort app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Sort by: "
+      (lambda (col)
+        (echo-message! echo (str "Htop: sorting by " col))))))
+
+(def (cmd-btop-show app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Btop: showing system monitor")))
+
+(def (cmd-btop-theme app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Theme: "
+      (lambda (theme)
+        (echo-message! echo (str "Btop: setting theme to " theme))))))
+
+(def (cmd-btop-filter app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Filter: "
+      (lambda (flt)
+        (echo-message! echo (str "Btop: filtering by " flt))))))
+
+(def (cmd-btop-export app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Output file: "
+      (lambda (file)
+        (echo-message! echo (str "Btop: exporting to " file))))))
\ No newline at end of file
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 2a3e062..a680264 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -25294,3 +25294,47 @@
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Vmstat: showing disk statistics")))
 
+;;; Round 331 — Collectl ext, Atop ext, Glances ext, Htop-ext ext, Btop ext (batch 1)
+
+(def (cmd-collectl-cpu app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Collectl: showing CPU statistics")))
+
+(def (cmd-collectl-disk app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Collectl: showing disk statistics")))
+
+(def (cmd-collectl-network app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Collectl: showing network statistics")))
+
+(def (cmd-collectl-memory app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Collectl: showing memory statistics")))
+
+(def (cmd-atop-show app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Atop: showing system overview")))
+
+(def (cmd-atop-process app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Atop: showing process view")))
+
+(def (cmd-atop-disk app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Atop: showing disk view")))
+
+(def (cmd-atop-memory app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Atop: showing memory view")))
+
+(def (cmd-glances-show app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Glances: showing system monitor")))
+
+(def (cmd-glances-export app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Export format: "
+      (lambda (fmt)
+        (echo-message! echo (str "Glances: exporting as " fmt))))))
+
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 24cdd36..3d3eb8a 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -8368,4 +8368,25 @@
   (register-command! 'nmon-report cmd-nmon-report)
   (register-command! 'nmon-csv cmd-nmon-csv)
   (register-command! 'nmon-snapshot cmd-nmon-snapshot)
+  ;; Round 331
+  (register-command! 'collectl-cpu cmd-collectl-cpu)
+  (register-command! 'collectl-disk cmd-collectl-disk)
+  (register-command! 'collectl-network cmd-collectl-network)
+  (register-command! 'collectl-memory cmd-collectl-memory)
+  (register-command! 'atop-show cmd-atop-show)
+  (register-command! 'atop-process cmd-atop-process)
+  (register-command! 'atop-disk cmd-atop-disk)
+  (register-command! 'atop-memory cmd-atop-memory)
+  (register-command! 'glances-show cmd-glances-show)
+  (register-command! 'glances-export cmd-glances-export)
+  (register-command! 'glances-web cmd-glances-web)
+  (register-command! 'glances-alert cmd-glances-alert)
+  (register-command! 'htop-process cmd-htop-process)
+  (register-command! 'htop-tree cmd-htop-tree)
+  (register-command! 'htop-filter cmd-htop-filter)
+  (register-command! 'htop-sort cmd-htop-sort)
+  (register-command! 'btop-show cmd-btop-show)
+  (register-command! 'btop-theme cmd-btop-theme)
+  (register-command! 'btop-filter cmd-btop-filter)
+  (register-command! 'btop-export cmd-btop-export)
 )