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

+5 -2
View File
@@ -9,7 +9,7 @@ use gpui::{
use super::{
keys::{self, Action, Key, Kitty},
view::TerminalView,
view::{TerminalEvent, TerminalView},
};
actions!(elyterminal, [Find, FindNewer, PreviousPrompt, NextPrompt]);
@@ -68,7 +68,7 @@ pub fn bind_keys(cx: &mut App) {
}
impl TerminalView {
/// Bytes from the keyboard: back to the newest line, no selection, then to the program.
/// Bytes from the keyboard: back to the newest line, no selection, then to the program, which sees done and error records.
pub(super) fn input(&mut self, bytes: Vec<u8>, cx: &mut Context<Self>) {
let mut term = self.pty.term.lock();
term.scroll_display(Scroll::Bottom);
@@ -77,6 +77,9 @@ impl TerminalView {
}
drop(term);
self.pty.write(bytes);
if self.records.seen() {
cx.emit(TerminalEvent::Records);
}
cx.notify();
}