T39: a session's row shows its status, the most pressing first: waiting by its kind, an error, work with Ely's progress ring or a still loader, done, then a failed last command, then idle; hover lists each record's state, app, title and message, disarmed and cut; typing sees done and error, herdr's aside; a hidden session that starts waiting sets its title strong until shown
CI / platforms (ubuntu-24.04) (push) Successful in 1m23s
CI / platforms (windows-latest) (push) Successful in 1m35s
CI / macos (push) Successful in 12m25s

This commit is contained in:
ZacharyZhang-NY committed 2026-10-17 14:43:56 -04:00
1 parent b504bfb9b8
commit 85bcbf466f
12 files changed
+449 -22

No files matched your search

+4 -1
View File
@@ -154,7 +154,9 @@ impl Workspace {
folder: launch.cwd,
reports: launch.reports,
bell: false,
waiting: false,
status: None,
state: None,
_events: events,
});
}
@@ -184,7 +186,7 @@ impl Workspace {
}
}
/// Shows session `index`, clears its bell, and gives its terminal the keys.
/// Shows session `index`, clears its bell and its waiting mark, and gives its terminal the keys.
pub fn select(&mut self, index: usize, window: &mut Window, cx: &mut Context<Self>) {
if index >= self.sessions.len() {
return;
@@ -196,6 +198,7 @@ impl Workspace {
}
let session = &mut self.sessions[index];
session.bell = false;
session.waiting = false;
window.focus(&session.terminal.focus_handle(cx), cx);
let folder = session.folder.clone();
self.files.update(cx, |files, cx| files.show(&folder, cx));