fish-shell/tests/pexpects
Johannes Altmanninger f285e85b0c Enable focus reporting only just before reading from stdin
Some terminals send the focus-in sequences ("^[I") whenever focus reporting is
enabled.  We enable focus reporting whenever we are finished running a command.
If we run two commands without reading in between, the focus sequences
will show up on the terminal.

Fix this by enabling focus-reporting as late as possible.

This fixes the problem with `^[I` showing up when running "cat" in
gnome-terminal https://github.com/fish-shell/fish-shell/issues/10411.

This begs the question if we should do the same for CSI u and bracketed paste.
It's difficult to answer that; let's hope we find motivating test cases.
If we enable CSI u too late, we might misinterpret key presses, so for now
we still enable those as early as possible.

Also, since we now read immediately after enabling focus events, we can get
rid of the hack where we defer enabling them until after the first prompt.
When I start a fresh terminal, the ^[I no longer shows up.
2024-04-06 11:22:19 +02:00
..
abbrs.py abbr: stop parsing option after first expansion token 2022-12-13 01:39:31 +01:00
bind_mode_events.py Disable terminal protocols throughout evaluation 2024-04-02 21:25:47 +02:00
bind.py Disable terminal protocols throughout evaluation 2024-04-02 21:25:47 +02:00
cancel_event.py Control-C to simply clear commandline buffer again 2024-01-17 19:54:57 +01:00
commandline.py Extended & human-friendly keys 2024-04-02 14:35:16 +02:00
complete-group-order.py Restyle fishscript and python 2023-06-01 18:20:19 +02:00
complete.py Disable terminal protocols throughout evaluation 2024-04-02 21:25:47 +02:00
cursor_selection.py Restyle fishscript and python 2023-06-01 18:20:19 +02:00
disable_mouse.py Fix mouse handling tests to send valid escape sequences 2024-04-02 14:35:16 +02:00
eval-stack-overflow.py Restyle fishscript and python 2023-06-01 18:20:19 +02:00
exit_handlers.py Add a test that fish_exit handlers run on receipt of SIGHUP 2020-08-30 15:09:34 -07:00
exit_nohang.py tests: Increase a sleep 2023-11-15 17:58:42 +01:00
exit.py Reformat 2020-11-22 14:39:48 +01:00
fg.py Extended & human-friendly keys 2024-04-02 14:35:16 +02:00
fkr.py Extended & human-friendly keys 2024-04-02 14:35:16 +02:00
generic.py pexpects: Fix spurious failure in generic.py 2023-08-15 19:14:33 +02:00
histfile.py tests/histfile.py: Check for no jobs 2024-04-02 22:24:09 +02:00
history.py tests/pexpect: Fix \d escape 2024-04-02 22:41:54 +02:00
isatty.py Reformat 2020-11-22 14:39:48 +01:00
job_summary.py tests/pexpect: Fix \d escape 2024-04-02 22:41:54 +02:00
nullterm.py Be careful to not touch curses variables if cur_term is null 2022-04-16 13:26:56 -07:00
pipeline.py Improve error for redirections to invalid paths 2021-11-20 17:44:05 +01:00
postexec.py Reformat 2020-11-22 14:39:48 +01:00
private_mode.py Restyle fishscript and python 2023-06-01 18:20:19 +02:00
read.py Enable focus reporting only just before reading from stdin 2024-04-06 11:22:19 +02:00
set_color.py set_color: Print the given colors with --print-colors 2022-07-01 21:28:35 +02:00
sigint.py Add missing expect_prompt to test_sigint.py 2024-01-07 00:54:22 +01:00
signals.py Enable focus reporting only just before reading from stdin 2024-04-06 11:22:19 +02:00
status.py Disable terminal protocols throughout evaluation 2024-04-02 21:25:47 +02:00
stdin_nonblocking.py stdin_nonblocking.py test to not leave background processes 2022-02-12 11:48:55 -08:00
terminal.py Disable terminal protocols throughout evaluation 2024-04-02 21:25:47 +02:00
torn_escapes.py Extended & human-friendly keys 2024-04-02 14:35:16 +02:00
tty_ownership.py Claim the tty unconditionally in reader_data_t::readline 2022-09-09 13:43:29 -07:00
undo.py Process shell commands from bindings like regular char events 2024-03-23 10:06:11 +01:00
wait.py share/config.fish: Quit if job expansion hack errors 2023-06-10 15:36:36 +02:00
wildcard_tab.py Restyle fishscript and python 2023-06-01 18:20:19 +02:00