aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
AgeCommit message (Collapse)Author
2020-05-03Use frame callbacks instead of vsync on WaylandKirill Chibisov
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.
2020-05-02Use numbers instead of strings for additional mouse bindingsDavid Herberth
Fixes: #2861.
2020-05-01Call glFinish right after swap_buffers on X11Kirill Chibisov
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.
2020-04-30Fix startup locale on macOSCasper Rogild Storm
Fixes #2800. Fixes #2566.
2020-04-25Use embedded resource for window iconDavid Hewitt
2020-04-23Bump minimum supported Rust version to 1.41.0Christian Duerr
2020-04-20Clear selection on grid swapRĂ©mi Garde
Fixes #3290.
2020-04-16Add Windows font fallbackDavid Hewitt
2020-04-15Add config option to set cursor thicknessKirill Chibisov
Fixes #3526.
2020-04-09Use config colors to theme Wayland decorationsKirill Chibisov
Fixes #2092.
2020-03-30Remove 0.4.2 changelog suffixKirill Chibisov
2020-03-30Fix tabstops not being reset with 'reset'Kirill Chibisov
2020-03-24Fix cursor position after alt screen resizeChristian Duerr
This fixes a regression introduced in 4cc6421, which ignored the main grid's cursor when increasing the number of lines available, causing incorrect cursor position after restoring to the primary screen. Additionally another similar bug has been fixed where the grid was not scrolled correctly when shrinking while in the alternate screen. When the grid is resized multiple lines at once, there was also an issue with Alacritty either pulling all lines from history or none at all, instead of mixing both approaches and pulling just what is required. This lead to incorrect cursor positions when the resize could partially make use of history. Fixes #3499.
2020-03-23Add CopyPrimary keybinding action on Linux/BSDKirill Chibisov
2020-03-23Add changelog entry for minimum Rust version bumpChristian Duerr
2020-03-19Remove right click deselectionStefan Devai
Fixes #3144.
2020-03-18Add modal keyboard motion modeChristian Duerr
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.
2020-03-17Add default keybinding for SpawnNewInstance on macOSNathan Lilienthal
2020-03-14Fix changelog versionChristian Duerr
2020-03-14Bump version to 0.5.0-devChristian Duerr
This is a bump of the development version and does not represent a stable release.
2020-03-14Fix live config reload for window titleChristian Duerr
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.
2020-03-13Capitalized the .desktop Filename (#3425)Nathan Lilienthal
Follow free desktop file naming conventions.
2020-03-13Add option to pick Linux/BSD backendsKirill Chibisov
This commit adds two cargo features `x11` and `wayland` to pick Linux/BSD backends, with both enabled by default. Fixes #3340.
2020-03-12Update to glutin 0.24.0Christian Duerr
Fixes #3266. Fixes #3248. Fixes #3188. Fixes #3177. Fixes #2445. Fixes #1574.
2020-03-10Bump copypasta to 0.6.3Kirill Chibisov
Fixes #3050.
2020-03-07Fix selection with invisible start and endChristian Duerr
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.
2020-03-02Fix ignoring of slow touchpad scrollingTimo
Fixes #3377.
2020-03-02Fix DCS escape parsing crashChristian Duerr
This resolves a problem with the vte depedency, where the parser would crash when trying to parse a DCS escape with more than 16 parameters.
2020-03-01Remove `tabspaces` config optionChristian Duerr
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.
2020-03-01Fix tabs across linewrapChristian Duerr
This resolves an issue with tabs not breaking across line boundaries, instead the characters would just all get written to the last column and thus be lost. It also tweaks the behavior of what happens when the terminal resizes with the default tabspaces changed, using something like the `tabs` program. Previously all tabstops would be reset to the default on resize, which is what URxvt does. Now the tabspaces are kept and the new columns are filled with the default tabstops, which emulates Termite.
2020-02-28Fix log target of color config errorsKirill Chibisov
Due to incorrect log target in the color config errors, the message bar was not cleared when the error was fixed.
2020-02-28Fix crash on Wayland compositors with `wl_seat` version 7+Kirill Chibisov
2020-02-23Fix config reload updating incorrect gridChristian Duerr
2020-02-23Fix Fontconfig's font size queryKirill Chibisov
Previously we were rounding pattern's `pixelsize` before `fc_sort`, however we were using not rounded one in `get_glyph`, so bitmap fonts could look a bit smaller when used in a mix with scalable fonts.
2020-02-22Fix block selection including last columnChristian Duerr
The block selection will now only insert extra newline characters after each line if the last line isn't already included. This resolves an issue with duplicate newlines, since newlines are automatically appended when the last column is part of a selection. Fixes #3304.
2020-02-15Fix parser stopping at unknown modesChristian Duerr
This resolves an issue in the parser where it would stop as soon as the first unknown value is encountered in private mode/sgr attribute escapes. Fixes #3339.
2020-02-13Increase Beam, Underline and Box cursors' line widthKirill Chibisov
2020-02-11Bump vte and urlocatorChristian Duerr
Fixes #3247.
2020-02-10Revert "Fix backspace deleting chars when IME is open"Christian Duerr
This reverts commit 7f4dce2ee04859fb0b48f15cf808b60065778703. Originally it was assumed that macOS always sends the \x7f on backspace anyways, however this is not true. It seems like the character on backspace can change even within the same terminal session, so we need to have our own binding to reliably set the correct binding. A solution for #1606 should be implemented in cooperation with winit.
2020-02-07Update glutin to v0.23.0Kirill Chibisov
Fixes #3191. Fixes #3150. Fixes #1465. Fixes #1359.
2020-02-07Fix selection expansion across full-width glyphsChristian Duerr
Instead of trying to expand the start and end of a selection across full-width glyphs, the selection should now only go from its origin to the end without any kind of expansion. Instead, the expansion is now done where the cells are actually checked for their selection status, expanding across the entire full-width glyph whenever any part of it is selected. Fixes #3106.
2020-01-31Fix handling of OpenType variable fontsKirill Chibisov
Fixes #3257.
2020-01-31Mirror OSC query terminatorChristian Duerr
Fixes #3091.
2020-01-30Fix backspace deleting chars when IME is openChristian Duerr
Fixes #1606.
2020-01-27Rework Fontconfig fallback to use cached list from font_sortKirill Chibisov
Previous implementation was querying Fontconfig using `charset` in a pattern, which was leading to unpredictable fallbacks in some cases, since Fontconfig was picking the font with the most coverage for a given charset, regardless of user configuration. Moreover all fallback was based on font_match which is extremely slow for such performance sensitive task as a fallback, so alacritty had a hard times on vtebench's unicode-random-write. The new approach is to use some internal fallback list from font_sort and iterate over it to get a proper fallback font, since it matches the following example query from `fc-match`: `fc-match -s "monospace:pixelsize=X:style=Y" That being said it's more intuitive for users to setup their system Fontconfig fallback, and also most applications are doing similar things. Moreover the new implementation uses internal caches over Fontconfig API when possible and performs font matches only once during load of requested font with font_sort, which leads to dramatically improved performance on already mentioned vtebench's unicode-random-write. Fixes #3176. Fixes #3134. Fixes #2657. Fixes #1560. Fixes #965. Fixes #511.
2020-01-25Add font metric cachingKirill Chibisov
2020-01-24Fix selection rotating outside of scrolling regionChristian Duerr
Fixes #2983.
2020-01-22Fix underline position for bitmap fontsKirill Chibisov
Fixes #3235.
2020-01-21Fix stack overflow when printing shader errorKirill Chibisov
Fixes #3238.
2020-01-21Fix first cell when selection is off screenChristian Duerr
Since the expansion of the selection was done after clamping it to the grid, the selection would incorrectly move the clamped start over by one cell when the start was to the right of the original column. By resetting the side of the start point to `Left` before expanding, this can be circumvented. This also resolves a regression which broke backwards bracket selection. Fixes #3223.