diff --git a/extensions/pi-remote-control/html.ts b/extensions/pi-remote-control/html.ts
index 29d2960..4e624c5 100644
--- a/extensions/pi-remote-control/html.ts
+++ b/extensions/pi-remote-control/html.ts
@@ -69,6 +69,16 @@ return /* html */ `
}
#statusbar .dot.connected { background: var(--asst); }
#statusbar .dot.streaming { background: var(--streaming); animation: pulse 1s infinite; }
+ #cwd-label {
+ font-family: "Menlo", "Monaco", "Consolas", monospace;
+ font-size: 11px;
+ color: var(--muted);
+ opacity: 0.8;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ max-width: 55vw;
+ }
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.35; } }
/* ── Messages ── */
@@ -377,6 +387,7 @@ return /* html */ `
@@ -396,12 +407,14 @@ return /* html */ `
tools: {},
streaming: false,
model: null,
+ cwd: null,
};
var $msgs = document.getElementById("messages");
var $active = document.getElementById("active-tools");
var $dot = document.getElementById("dot");
var $connLabel = document.getElementById("conn-label");
+ var $cwdLabel = document.getElementById("cwd-label");
var $prompt = document.getElementById("prompt");
var $sendBtn = document.getElementById("send-btn");
@@ -564,6 +577,8 @@ return /* html */ `
$connLabel.textContent = connected
? (S.streaming ? "Agent working\u2026" : "Connected")
: "Disconnected \u2014 reconnecting\u2026";
+ var cwd = connected && S.cwd ? S.cwd : null;
+ $cwdLabel.textContent = cwd || "";
$sendBtn.disabled = !connected;
if (!connected) {
$sendBtn.classList.remove("ready");
@@ -613,6 +628,7 @@ return /* html */ `
S.msgs = msg.messages || [];
S.streaming = !!(msg.state && msg.state.isStreaming);
S.model = msg.state && msg.state.model;
+ S.cwd = (msg.state && msg.state.cwd) || null;
S.pending = null;
S.tools = {};
renderAll();
diff --git a/extensions/pi-remote-control/messages.ts b/extensions/pi-remote-control/messages.ts
index 549ba6a..1ffbeee 100644
--- a/extensions/pi-remote-control/messages.ts
+++ b/extensions/pi-remote-control/messages.ts
@@ -80,6 +80,13 @@ export function getBranchMessages(ctx: ExtensionContext): RenderMsg[] {
return out;
}
+function abbreviateHome(p: string): string {
+ const home = process.env.HOME;
+ if (home && p === home) return "~";
+ if (home && p.startsWith(home + "/")) return "~" + p.slice(home.length);
+ return p;
+}
+
export function buildSyncMessage(ctx: ExtensionContext): {
type: "sync";
messages: RenderMsg[];
@@ -96,7 +103,7 @@ export function buildSyncMessage(ctx: ExtensionContext): {
state: {
isStreaming: !ctx.isIdle(),
model: ctx.model?.id,
- cwd: ctx.cwd,
+ cwd: abbreviateHome(ctx.cwd),
sessionName: ctx.sessionManager.getSessionName(),
},
};