Age | Commit message (Collapse) | Author |
|
This fixes two bugs with the alternate screen buffer.
When resetting while in the alt screen, Alacritty would not swap out
the grids leading to scrollback getting disabled. By swapping out the
grids again when resetting in the alternate screen buffer, scrollback is
now unaffected from a reset.
There was another issue with the cursor jumping around when leaving the
alt screen even though it was not active, this was fixed by skipping all
alt screen swap routines unless the current state matches the expected
state.
This fixes #2145.
|
|
|
|
This fixes two issues with live reloading the `scrolling.history`
property.
It is now possible to increase the scrollback history without restarting
Alacritty.
When decreasing the scrollback history while scrolled beyond the new
history limit, Alacritty will reset the viewport position to the new
limit instead of crashing.
This fixes #2147.
|
|
|
|
|
|
There was an issue caused by 35efb4619c4b7a77b3c30de763856bc4441e236e
which would lead to the current selection not getting copied to the
clipboard if the mouse was released outside of the window.
Instead of aborting any press/release actions when the cursor is not
inside of Alacritty, the handling is now delayed until actual usage.
|
|
Even though the `ClosePseudoConsole` API does not have a return
value, it was incorrectly queried by the `Drop` implementation for
the ConPTY, leading to a panic on exit.
The definition of this call has been updated to match the actual
function signatures, which resolve this problem.
|
|
Update the README and related files.
This commit generally updates some language in the "About" section, and other sections with respect to keeping accurate information, and laying out the project goals in a clear way.
We're also marking Alacritty as "beta" software at this point, not that this has any explicit meaning.
|
|
|
|
|
|
|
|
|
|
|
|
Fixes #2098.
|
|
|
|
|
|
|
|
This prevents cell_width or cell_height being zero.
Fixes #1693
|
|
Automatically remove all selections when part of the screen is cleared.
This fixes issues in applications like `less -S` where a selection would
stay around after scrolling horizontally.
XTerm and URxvt both choose to always remove the selection, even if it's
outside of the cleared area, however VTE only clears the selection if
any part of it is inside the cleared area.
To keep things simple, Alacritty has adopted the behavior of XTerm and
URxvt to always clear selections.
This fixes #1644.
|
|
The default shift+pgup/pgdown buttons were sending the escape sequences
specified by the official standard, however most terminal emulators like
XTerm, URxvt and VTE make an exception for this special case and instead
scroll the native history buffer.
Both XTerm and URxvt do never send the escapes for Shift+PgUp/PgDown,
however VTE does send them in the alternate screen.
Since Alacritty already supports keybindings based on terminal mode and
the binding to scroll the history is useless when in the alternate
screen buffer, Alacritty is now following VTEs behavior here, allowing
applications in the alt screen (like vim) to handle this escape.
Fixes #1989.
|
|
The warning and error messages now don't overwrite other terminal
content anymore but instead resize the terminal to make sure that text
can always be read.
Instead of just showing that there is a new error and pointing to the log,
errors will now be displayed fully in multiple lines of text, assuming that
there is enough space left in the terminal.
Explicit mouse click handling has also been added to the message bar,
which made it possible to add a simple `close` button in the form of
`[X]`.
Alacritty's log file location is now stored in the `$ALACRITTY_LOG`
environment variable which the shell inherits automatically.
Previously there were some issues with the log file only being deleted
when certain methods for closing Alacritty were used (like typing
`exit`). This has been reworked and now Ctrl+D, exit and signals should
all work properly.
Before the config is reloaded, all current messages are now dropped.
This should help with multiple terminals all getting clogged up at the
same time when the config is broken.
When one message is removed, all other duplicate messages are
automatically removed too.
|
|
Since scrolling the terminal moves around the underlying data structure
of the terminal, the URL selection would search for the URL at the
position where the click would have been without any scrolling.
By adding the viewport offset to the click position, the URL clicking
now searches at the correct location.
This fixes https://github.com/jwilm/alacritty/issues/2076.
|
|
Fixes #1582.
Fixes #1875.
|
|
This fixes #1115.
|
|
Since the IME was positioned using physical coordinates,
the location would be incorrect with monitors using a DPR
other than 1.0.
This has been resolved by converting the physical position
to a logical position using the methods built into winit.
Fixes #2056.
|
|
Following Rust's standard, the lockfiles for Alacritty's
sub-libraries have been removed.
One instance of the deprecated `ATOMIC_USIZE_INIT` has
also been removed.
This fixes #2040.
|
|
|
|
|
|
|
|
Due to the merging of configuration files on all platforms, it has been
made impossible to completely disable URL launching without still
executing some kind of program like `true`.
Setting the launcher to `None` in the config, will now disable it
completely.
This fixes #2058.
|
|
When loading an empty configuration file, Alacritty only prints an info
message and then proceeds to load the default config. However when
reloading the configuration file it would throw a hard error.
This has been fixed and a hard error is now only thrown when an error is
returned during reload which isn't the empty file error.
|
|
To make things easier to understand for Windows users, the
relationship between Alacritty and the WinPTY agent has been
clarified in the documentation.
This also bundles the windows agent and exe together in a zip file to
make distribution for windows easier on the user.
|
|
|
|
|
|
By scaling fractional scaling by scrolling multiplier
before conversion to lines it is now possible to scroll
much more accurately with touchpads.
The `scrolling.multiplier` now also applies to touchpads.
|
|
This resolves an issue with notify that caused excessive wake-ups when
waiting for config updates.
Fixes #2029.
|
|
The clippy tests had to be run on nightly previously since it wasn't
available with the stable compiler yet, however this had the potential
to fail a lot since not all nightly builds offer clippy.
Since clippy is now available for stable rust, moving clippy to a stable
build should make sure that the failure rate of the CI job is cut down
to a minimum.
This fixes https://github.com/jwilm/alacritty/issues/2007.
|
|
|
|
|
|
|
|
The rusttype backend did not properly support manually specifying font
styles, but instead chose to panic when they are specified.
The rusttype implementation now provides a proper implementation for
handling `bold`, `italic` and `regular` font styles.
This fixes #2020.
|
|
This completely removes all Appveyor CI build jobs to move Alacritty to
a singular CI provider for all platforms.
To ensure that Windows is still properly tested, the allowed failure for
the stable Windows build job on travis has been removed.
This fixes #1679.
|
|
|
|
|
|
|
|
All configuration fields now have fallback values which will be used if
the field is not present. This includes mouse, key bindings and platform
specific differences.
The mouse and key bindings are now filled by default, if the user
rebinds a default mapping, it will be overwritten. To unbind a default
binding, it can be mapped to `chars: ""`.
Since all platform differences can now be correctly handled by the
`src/config/mod.rs` code, it's no longer necessary to maintain separate
configuration files, so the `alacritty_macos.yml` and
`alacritty_windows.yml` have been deleted.
Fixes #40.
Fixes #1923.
|
|
When compiling ncurses with the `--enable-hard-tabs` option, it will
make use of tabs to speed up cursor movement. These tabs can be set at
positions which will overwrite existing characters.
Since these are only for movement and not supposed to write anything to
the terminal, it is now checked that a cell does not contain any
character before writing a tab to it.
This fixes #1933.
|
|
|
|
|
|
|