Commit graph

1753 commits

Author SHA1 Message Date
97f8d024c6
feat(terminal): initial version of conpty windows support 2026-02-28 21:49:56 +01:00
646db3b374
fix(terminal): build terminal on macos and freebsd 2026-02-28 20:40:54 +01:00
b1e13f036d
feat(terminal): report mouse events to terminal applications 2026-02-27 23:15:04 +01:00
df5c426383
fix(terminal): set terminal hold when running tasks in terminal 2026-02-27 20:21:04 +01:00
5f9b7b7c13
fix(terminal): run posix shell if no command specified and no SHELL found 2026-02-27 20:11:00 +01:00
21b7995393
feat(terminal): add terminal_on_exit config option 2026-02-27 16:29:18 +01:00
29c3424913
fix(terminal): reset terminal if closed when exited 2026-02-27 16:07:01 +01:00
0a37c2b05b
refactor(terminal): close terminal on escape keypress if exited 2026-02-27 16:06:23 +01:00
57aae0d45c
feat(terminal): add close_terminal command 2026-02-27 16:05:40 +01:00
fc78e8cf02
refactor: add argv module with helper functions 2026-02-27 14:07:06 +01:00
a35edeaa9b
refactor(terminal): add re-run command message 2026-02-27 13:00:08 +01:00
94f6b342fa
fix(terminal): setup SIGCHLD handler to catch exits with no writes 2026-02-27 12:57:43 +01:00
632a7c4453
refactor(terminal): add pty read_error handler 2026-02-27 11:49:12 +01:00
bd507d48e2
fix(terminal): prevent terminal disconnect on invalid UTF-8 2026-02-26 22:26:18 +01:00
49d4cda7ef
refactor(terminal): add detailed exit debug logging 2026-02-26 22:18:58 +01:00
7e7cb511a8
refactor(terminal): handle color_change events 2026-02-26 22:12:47 +01:00
4bba8d9715
feat(terminal): handle OSC 52 clipboard requests 2026-02-26 21:30:40 +01:00
885c9682eb
refactor(terminal): add merged move_tab_next/prev_or_scroll_terminal_down/up commands 2026-02-26 21:18:28 +01:00
424fd3efc3
refactor(terminal): add terminal to home screen menu 2026-02-26 20:54:06 +01:00
519d8dd886
feat(terminal): support OSC 10/11 query terminal fg/bg color 2026-02-26 20:52:06 +01:00
f68102e448
feat: open terminal as default panel 2026-02-26 20:31:16 +01:00
871d40f906
refactor: add toggle_panel_maximize command 2026-02-26 20:30:37 +01:00
598c2a58aa
refactor(terminal): add some debug logs for pty lifetime tracking 2026-02-25 21:48:49 +01:00
3ad37b3b70
refactor(terminal): shutdown terminal on exit or project switch 2026-02-25 21:18:58 +01:00
4affdf5688
refactor(terminal): add keyboard scrolling keybinds 2026-02-25 20:59:22 +01:00
f88f779410
refactor(terminal): add scrollback size configuration option 2026-02-25 20:34:49 +01:00
3e265dade5
feat(terminal): add scrollback support 2026-02-25 20:34:42 +01:00
69b0885f4b
fix(terminal): properly catch child EOF
And be much more explicit about error handling.
2026-02-25 19:12:49 +01:00
61a509cf2f
refactor(terminal): persist terminal state across terminal view/show operations 2026-02-25 16:31:29 +01:00
45de943d84
refactor(terminal): store/restore keyboard_focus when entering/exiting overlay modes 2026-02-25 12:26:09 +01:00
330d2b1f66
fix(terminal): focus switching 2026-02-25 12:26:08 +01:00
aff2a7919b
fix: don't dispatch mouse and widget events to keyboard_focus widget 2026-02-25 12:26:08 +01:00
7d51b09aac
refactor(terminal): add click-to-focus handling for terminal 2026-02-25 12:26:08 +01:00
558c59368b
refactor(terminal): report child exit status 2026-02-25 12:26:08 +01:00
5c2ae84602
refactor(terminal): render terminal unfocused state 2026-02-25 12:26:08 +01:00
43b46d179f
fix: don't insert when in terminal mode 2026-02-25 12:26:08 +01:00
341c652333
refactor: process terminal mode keybindings 2026-02-25 12:26:08 +01:00
613b95c2af
refactor: make focus_termimal a toggle 2026-02-25 12:26:08 +01:00
3d1658541a
refactor: allow tui.keyboard_focus widget to ignore input 2026-02-25 12:26:08 +01:00
f8dd9f85b6
refactor(terminal): move pty input processing to an actor 2026-02-25 12:26:07 +01:00
d423696e7e
refactor(terminal): handle title_change and pwd_change events 2026-02-25 12:26:07 +01:00
367c532596
refactor(terminal): route input to terminal_view when it is focused 2026-02-25 12:25:54 +01:00
9a68918ada
refactor: make Widget.focus/unfocus const 2026-02-24 18:26:36 +01:00
f1a8efa318
feat: add {{project_name}} expansion variable 2026-02-24 17:30:13 +01:00
ff0495a265
feat: add basic terminal_view 2026-02-24 17:10:32 +01:00
1cf22db498
fix: reset hover on focus_out events 2026-02-23 21:51:05 +01:00
4cbd8fbde3
fix: prevent endless looping on tab bar widget updates
Now that Widget addresses do not have to be stable we can greatly simplfy
and in the process eliminate the potential for update looping.

The closes #520
2026-02-23 21:48:41 +01:00
cdd6fee9d6
refactor: compare widgets via the .ptr memeber instead of via their addresses
Widget is a handle type. Sort of a smart pointer. Comparing their addresses
is brittle because it requires keeping Widget pointers stable. This is
nonsense because Widget identity is actually determined by the actual
widget object it points to.

This big refactor elimits the requirement that Widget addresses remain
stable to work properly with Widget.walk and Widget.get.
2026-02-23 21:44:24 +01:00
xoxorwr
2266c92eab word left stops before newline when moved from other line 2026-02-22 08:42:21 +01:00
xoxorwr
523f08c281 Move right stops at last character 2026-02-21 23:28:24 +01:00