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
This commit is contained in:
18 files changed
+512
-122
No files matched your search
+5
-1
@@ -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));
|
||||
|
||||
Reference in new issue
Block a user