T40: sessions post system notifications through gpui's: each terminal posts its own in the order its output asks, when its row turns to waiting, done or error, when a command ends, and when a program asks through OSC 9, 777 or 99, only while its window is inactive or it is hidden, one every 3 seconds, titled with the session's name; a press goes to the window whose session posted it and shows it; OSC 99 hears untracked closes, alive lists what lives, in order before a later DA1, a close and w take one back where gpui can, a closed session's too, and the query says what holds where
CI / platforms (windows-latest) (push) Successful in 1m51s
CI / platforms (ubuntu-24.04) (push) Successful in 2m2s
CI / macos (push) Successful in 12m36s

This commit is contained in:
ZacharyZhang-NY committed 2026-10-17 15:36:28 -04:00
1 parent 53b8978dff
commit 31de5e44ef
18 files changed
+512 -122

No files matched your search

+5 -1
View File
@@ -192,11 +192,15 @@ impl Workspace {
if index != self.active
&& let Some(hidden) = self.sessions.get(self.active)
{
hidden.terminal.update(cx, |view, cx| view.let_go(cx));
hidden.terminal.update(cx, |view, cx| {
view.let_go(cx);
view.set_front(false);
});
}
let session = &mut self.sessions[index];
session.bell = false;
session.waiting = false;
session.terminal.update(cx, |view, _| view.set_front(true));
window.focus(&session.terminal.focus_handle(cx), cx);
let folder = session.folder.clone();
self.files.update(cx, |files, cx| files.show(&folder, cx));