repos / zmx

session persistence for terminal processes
git clone https://github.com/neurosnap/zmx.git

commit
89e2728
parent
7785934
author
Eric Bower
date
2026-03-22 21:18:00 -0400 EDT
fix(list): send no session found msg to stderr

Fixes: https://github.com/neurosnap/zmx/issues/101
1 files changed,  +7, -5
M src/main.zig
+7, -5
 1@@ -825,7 +825,7 @@ fn list(cfg: *Cfg, short: bool) !void {
 2     };
 3     defer if (current_session) |name| alloc.free(name);
 4     var buf: [4096]u8 = undefined;
 5-    var w = std.fs.File.stdout().writer(&buf);
 6+    var stdout = std.fs.File.stdout().writer(&buf);
 7 
 8     var sessions = try util.get_session_entries(alloc, cfg.socket_dir);
 9     defer {
10@@ -837,16 +837,18 @@ fn list(cfg: *Cfg, short: bool) !void {
11 
12     if (sessions.items.len == 0) {
13         if (short) return;
14-        try w.interface.print("no sessions found in {s}\n", .{cfg.socket_dir});
15-        try w.interface.flush();
16+        var errbuf: [4096]u8 = undefined;
17+        var stderr = std.fs.File.stderr().writer(&errbuf);
18+        try stderr.interface.print("no sessions found in {s}\n", .{cfg.socket_dir});
19+        try stderr.interface.flush();
20         return;
21     }
22 
23     std.mem.sort(util.SessionEntry, sessions.items, {}, util.SessionEntry.lessThan);
24 
25     for (sessions.items) |session| {
26-        try util.writeSessionLine(&w.interface, session, short, current_session);
27-        try w.interface.flush();
28+        try util.writeSessionLine(&stdout.interface, session, short, current_session);
29+        try stdout.interface.flush();
30     }
31 }
32