A GPU terminal emulator for Wayland and Windows on libghostty-vt, drawing with Vulkan, running a program on a pty or a serial port.

Let the configuration depend on a pane's foreground program

ctx.foreground is the program a pane's terminal belongs to now -- its name, executable, effective UID and user name -- on Linux, and null elsewhere. A configuration that reads it is evaluated again for each pane's foreground program, and the pane takes from that its colors, non-global bindings, bell, cursor, clipboard, link detection, notifications, drag and drop and images; everything else stays the app's, and a pane's evaluation that says otherwise is logged and reported by validate-config. Evaluations are kept by program, at most 64 that no pane holds. The pty's foreground process group is looked at before each key, after output, and every foreground_poll_ms (250 by default), which also reads the group leader's name, start time and UID, to see an exec or setuid within the group. A configuration that never reads ctx.foreground, as struthio now reports, is evaluated once and nothing is looked at. validate-config takes --foreground NAME[:UID], and without it checks such a file as sh run by the user and by root. Closes #32. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01478hT1cRNf52qWT8zt5tCh


Author
Co-author Claude Opus 5.5 Date Commit Parent d55919d6