Rename Kill to Close, add New Terminal palette entry, clean up exited terminals
- Palette's per-child "Kill <name>" action is now labelled "Close <name>" (action kind unchanged; still SIGTERM). Matches the existing "Close agent: …" context entry and reads less violent for a graceful term. - New "New Terminal" palette entry spawns a bare interactive $SHELL pane via LaunchTerminal (kind=terminal). Replaces the default "shell" process preset that was seeded on first run. - Exited KindTerminal entries are now dropped from the session in reapChild — terminals have no restart path, so leaving them behind as greyed rows in the Processes sidebar was just clutter. processList also filters defensively.
This commit is contained in:
@@ -96,17 +96,24 @@ func firstRunningAgentID(children []*Child) string {
|
||||
}
|
||||
|
||||
// processList returns every top-level command/terminal entry in spawn
|
||||
// order, regardless of running state. The Processes sidebar section
|
||||
// keeps showing exited entries so the user can see what just died (and
|
||||
// because Session retains KindCommand entries for restart).
|
||||
// order. Exited KindCommand entries remain visible so the user can see
|
||||
// what just died and reach restart_process; exited KindTerminal entries
|
||||
// are filtered out because terminals are ephemeral and have no restart
|
||||
// path (Session also drops them in reapChild — this filter is defensive
|
||||
// for any window between exit and deletion).
|
||||
func processList(children []*Child) []*Child {
|
||||
out := make([]*Child, 0, len(children))
|
||||
for _, c := range children {
|
||||
if c.ParentID != "" {
|
||||
continue
|
||||
}
|
||||
if c.Kind == KindCommand || c.Kind == KindTerminal {
|
||||
switch c.Kind {
|
||||
case KindCommand:
|
||||
out = append(out, c)
|
||||
case KindTerminal:
|
||||
if c.Status() == StatusRunning {
|
||||
out = append(out, c)
|
||||
}
|
||||
}
|
||||
}
|
||||
return out
|
||||
|
||||
Reference in New Issue
Block a user