| Commit message (Collapse) | Author | Age |
| ... | |
| | |
|
| |
|
|
|
|
|
|
| |
While the commit 43c0ad6ea9d2467ccf867a310c4f1e30f5b627c6 introduced
right click as a way to expand the active selection, it did not allow
for holding right click to continuously do so.
This commit remedies that problem by allowing live expansion with while
holding the right mouse button.
|
| |
|
|
|
|
|
| |
This allows for expanding the selection using the right mouse button.
The new selection type depends on the number of clicks and applies to
both sides of the selection.
Fixes #1554.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a new `Scheduler` which allows for staging events to be
processed at a later time.
If there is a selection active and the mouse is above or below the
window, the viewport will now scroll torwards the direction of the
mouse. The amount of lines scrolled depends on the distance of the mouse
to the boundaries used for selection scrolling.
To make it possible to scroll while in fullscreen, the selection
scrolling area includes the padding of the window and is at least 5
pixels high in case there is not enough padding present.
|
| |
|
|
| |
The compile_error! failure is way more readable and noticeable than
panic!.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reworks the criteria necessary for default bindings to be
overwritten by custom user bindings. It should provide a better
heuristic which accounts for the possibility that notmodes are added
which prevent a conflict between the bindings, so the default isn't
unnecessarily removed.
It is still possible to define a new binding that intersects a default
binding without the default getting removed, if the user explicitly
specifies a mode that doesn't include the default binding's mode. This
is based on the assumption that users explicitly specifying a new mode
are trying to make a mode-specific addition and are capable of removing
the default when desired.
This helps with old modes still being present in user's config files,
since a lot of new config options just have the additional ~Vi mode set.
Fixes #3476.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The window.rs imports have been extremely messy due to heavy
platform-specific import usage. While some of them are just stray
imports for a single platform, a lot of these are specific to Linux/BSD.
To make these a little easier to read and maintain, the Linux/BSD
specific imports were grouped together, since this allows us to just
have a single platform annotation.
Most of our imports follow the order of how relevant and foreign these
imports are to Alacritty, putting our own frequently used imports at the
far bottom and STD with things people usually don't need to care about
at the top. Since platform specific imports are generally important to
fewer people, I've decided to put them before all the other imports
rather than behind them.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Keeping the license as part of every file bloats up the files
unnecessarily and introduces an additional overhead to the creation of
new modules.
Since cargo already provides excellent dependency management, most of
the code-reuse of Alacritty should occur through Rust's dependency
management instead of copying it source.
If code is copied partially, copying the license from the main license
file should be just as easy as copying from the top of the file and
making some adjustments based on where it is used is likely necessary
anyways.
|
| | |
|
| |
|
| |
Fixes #3767.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
This commit aims to clear up the separation between Term and Grid to
make way for implementing search.
The `cursor` and `cursor_save` have been moved to the grid, since
they're always bound to their specific grid and this makes updating
easier.
Since the selection is independent of the active grid, it has been moved
to the `Term`.
|
| |
|
|
|
| |
The env logger has been broken for over a year and is not used by anyone
as far as I know. This removes this option entirely in favor of
Alacritty's built-in logger level selection flags.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
This resolves an issue with the ScrollToBottom motion in vi mode where
it would jump between the first unoccupied cell across wrapped lines and the
first unoccupied cell in the current line.
|
| |
|
| |
Fixes #3628.
|
| |
|
| |
Fixes #1864.
|
| | |
|
| |
|
| |
Fixes #2761.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Instead of blocking on vsync, Alacritty now requests a notification from
wayland about when the next frame should be rendered. this helps with
input latency, since it gives alacritty more time to process events
before a redraw. it also prevents alacritty from drawing unless the
compositor tells it to do so.
Fixes #2851.
|
| |
|
| |
Fixes: #2861.
|
| |
|
|
|
|
|
|
|
|
| |
On X11 `swap_buffers` does not block for vsync. However the next OpenGl command
will block to synchronize (this is `glClear` in Alacritty), which causes a
permanent one frame delay.
Calling `glFinish` after swapping buffers forces Alacritty to finish the buffer
swap before returning control to the event loop.
Fixes #3061.
|
| | |
|
| | |
|
| | |
|
| |
|
| |
Fixes #3526.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
This commit fixes some issues introduced by
1a8cd172e520e493bacc9c6a2ae6f80de086eaa3:
1. Vi cursor not moving properly on double/triple click
2. URL not launching via mouse click in vi mode + mouse mode
3. Ability to select in mouse mode with double/triple click regardless
of shift modifier
|
| |
|
| |
Fixes #2092.
|
| | |
|
| |
|
| |
Fixes #3144.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implements a basic mode for navigating inside of Alacritty's
history with keyboard bindings. They're bound by default to vi's motion
shortcuts but are fully customizable. Since this relies on key bindings
only single key bindings are currently supported (so no `ge`, or
repetition).
Other than navigating the history and moving the viewport, this mode
should enable making use of all available selection modes to copy
content to the clipboard and launch URLs below the cursor.
This also changes the rendering of the block cursor at the side of
selections, since previously it could be inverted to be completely
invisible. Since that would have caused some troubles with this keyboard
selection mode, the block cursor now is no longer inverted when it is at
the edges of a selection.
Fixes #262.
|
| | |
|
| | |
|
| |
|
|
| |
This is a bump of the development version and does not represent a
stable release.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This enables live config reload for the window title. This includes
updating the title after it has been pushed and popped from the title
stack.
The dynamic title option also isn't disabled automatically anymore when
the title is set in the config. If the title is set from CLI, the
behavior is unchanged and dynamic title changes are still disabled.
If the dynamic title is disabled in the config, the title is still
updated when the config title is changed. Dynamic title now only
prevents changes to the UI's title.
|
| |
|
| |
Follow free desktop file naming conventions.
|
| |
|
|
|
|
| |
This commit adds two cargo features `x11` and `wayland` to pick
Linux/BSD backends, with both enabled by default.
Fixes #3340.
|
| |
|
|
|
| |
Since there were some problems with clippy suggesting changes that were
not yet available in the oldest supported Rust compiler of Alacritty,
the clippy stage has been moved from stable to 1.37.0.
|
| |
|
|
|
|
|
|
| |
Fixes #3266.
Fixes #3248.
Fixes #3188.
Fixes #3177.
Fixes #2445.
Fixes #1574.
|
| |
|
|
|
| |
This resolves an issue with the selection clamping, where no selection
would be rendered at all when the start was above the viewport while the
end was below it.
|
| |
|
| |
Fixes #3377.
|
| |
|
|
|
|
|
| |
This completely removes the tabspaces option from the Alacritty
configuration, due to frequent misuse of it. Based on some research,
none of the terminal emulators support setting the value for tabspaces
or read the terminfo to determine init_tabs value at startup. The tested
terminal emulators were URxvt, XTerm, and Termite.
|
| |
|
|
| |
Since winit now filters out clicks on unfocused windows on macOS
anyways, we don't need to implement this logic ourselves anymore.
|