* option to configure PromptInputLine prompt
- Introduces an option to set custom prompt text
- If 'prompt' not passed in parameters, default value of "> " used
* commit: update documentation for PromptInputLine
* Update docs/config/lua/keyassignment/PromptInputLine.md
---------
Co-authored-by: Wez Furlong <wez@wezfurlong.org>
* Restrict bell events to the proper window.
As per the comment in mod.rs, bell events are sent to
all windows; not just the window containing the pane
which generated the event.
To prevent each bell ringing multiple times, the window
event handler must check if it has the pane, and ignore
the bell event if it doesn't.
This fixes bug #5985
Co-authored-by: Sean Estabrooks <sean.estabrooks@eztux.com>
I never liked clippy for dropping turds like this throughout the
code. I'm glad it is no longer required, but now rust is warning
about this syntax being redundant.
* Add a CloseWithoutClear copy mode key assignment
Closing the copy overlay currently unconditionally clears the viewport,
in particular resetting scroll. For the search overlay, we don't
necessarily want to scroll back to the prompt after finding a match --
indeed, the old search overlay (which didn't use copy mode) had this
behaviour.
Add a CloseWithoutClear key assignment which has this desired behaviour,
and make it the default for ESC in search mode.
* Change CloseWithoutClear into normal Close, and add ResetViewport
* Remove ResetViewport, add helper for keys
Centralize the thread local state management into the selector module
to make it a bit more convenient to consume from the various other
locations.
closes: https://github.com/wez/wezterm/issues/5532
This has more intuitive sorting; eg: `line` used to show the first match
as `linux_endeavour` but now matches `LINEAR B IDEOGRAM VESSEL B212`
first, which feels more relevant (has an exact prefix match).
refs: https://github.com/wez/wezterm/issues/5532
If someone removed the directory structure, or otherwise messed with
the files, there was a good chance that we'd end up in a panic.
This commit improves the error messaging produced by the blob
lease layer to provide the path as context, log the error,
and then translate the error case to an empty frame so that
the rest of the rendering machinery can proceed in a more reasonable
way.
We take care to log this sort of corrupt frame error only once,
as it is most likely to occur in an animated gif and will thus
trigger multiple times per second for such a file.
refs: #5422
* feat: use CARGO_BUILD_TARGET_DIR env
When building in the presence of a CARGO_BUILD_TARGET_DIR, there is no
target dir created inside the repo, so copying to a location within the
local repo dir fails, hence we need to copy to the actual target dir
that is being used.
* fix: environment variable with correct name
* feat: add arrows support for search field
* refactor: extract LineEditBuffer from LineEditor
* refactor: migrate search field to LineEditBuffer
* feat: add key bindings for search field
Co-authored-by: Ken Chou <kenchou77@gmail.com>
This is useful (essential!) for fixing up the default auth sock
under gnome, as we do not have a way to do that via whatever
logic may be present in the shell startup files.
For filenames and urls an additional space is inserted after the last
item to enable adding more files and urls with another drag-and-drop
operation without the need to manually enter the space in between.
Wait until set_inner_size() has finished before repainting. If we
repaint while our request to resize is in progress, our understanding of
the current size of the window may be inconsistent with the actual size,
causing the rendered contents of the window to bounce around.
dependabot is trying to update pulldown-cmark, but it won't
work because the API has changed.
The update window is not enabled by default and I don't think
anyone uses it anyway, so let's just remove it and have less
code to compile and maintain.
closes: https://github.com/wez/wezterm/pull/4964
These are used to signal, after a set_inner_size() call, at what point
we can expect any and all of its related Resized events to have already
been dispatched. SetInnerSizeCompleted events are currently used to fix
a race condition in rescaling the terminal in which the number of cells
of the terminal (e.g., 80x24) can change when quickly rescaling the
terminal.
This reverts commit 2c95b98447.
More people were vocally and sometimes toxic about this change
than were in favor of it.
I'm just going to revert it and leave the original issue open.
refs: https://github.com/wez/wezterm/issues/2882
Otherwise it is just hidden forever. We can't use the proper declarative
interface, because we are faking quite some stuff for "-e", so instead
we mention it explicitly in the help output.
This is done for compatibility, as many tools assume that running a
command with "$TERMINAL -e $COMMAND" blocks until the command is
finished.
For example some tools delete a needed file after the command returns.
But since we always return immediately (in case --always-new-process is
not provided and if another wezterm instance is already running), this
would mean that the file is deleted before the command could do
anything.
Fixes#4523