This patch removes the old url highlighting code and replaces it with a
new implementation making use of hints as sources for finding matches in
the terminal.
This adds some built-in actions for handling hint selections without
having to spawn external applications.
The new actions are `Copy`, `Select` and `Paste`.
This adds support for hints, which allow opening parts of the visual
buffer with external programs if they match a certain regex.
This is done using a visual overlay triggered on a specified key
binding, which then instructs the user which keys they need to press to
pass the text to the application.
In the future it should be possible to supply some built-in actions for
Copy/Pasting the action and using this to launch text when clicking on
it with the mouse. But the current implementation should already be
useful as-is.
Fixes#2792.
Fixes#2536.
This adds documentation stating that Alacritty supports the synchronized
update escape, which was implemented in 9575aed.
Since tmux does check terminfo for this feature, the `Sync` capability
has also been added. Tmux's implementation can be found here:
f5b7ebc540/tty-features.c (L185)
This adds support for blinking the terminal cursor. This can be
controlled either using the configuration file, or using escape
sequences.
The supported control sequences for changing the blinking state are
`CSI Ps SP q` and private mode 12.
Teach Alacritty to stop setting the window as urgent upon a bell by
emulating xterm's 'bellIsUrgent' resource and relevant CSI. When this
resource is enabled (with 'CSI ? 1042 h'), a bell event causes the
window to be marked as urgent. When the resource is disabled (with 'CSI
? 1042 l'), the window is not marked urgent in the event of a bell.
There are two wrinkles worth noting here:
- The 'TermMode::URGENCY_HINTS' does _not_ affect the terminal's
configured bell command, since we only want to control whether or
not the window is marked as urgent, not anything else.
- In xterm, the 'bellIsUrgent' resource is _disabled_ by default.
Since bouncing the dock icon has been the default in Alacritty on
macOS thus far, do not make an effort to change that in this patch.
This allows users to emit "\e[?1042l" and disable bouncing the dock
icon.
Fixes#2950.
This adds support for the secondary DA escape sequence response.
Alacritty's version is formatted allowing for up to 99 minor and patch
versions, which should be sufficient.
The tertiary DA is intentionally not implemented and marked as rejected
in the documentation, since a lot of terminals do not support it, or
report useless data (XTerm/URxvt/Kitty).
Fixes#3100.
This doc was found in the tmux repository, and I'm adding it here so it
doesn't get lost. Having it in-tree will also allow it to be referenced
from the code.