Commit Graph

1562 Commits

Author SHA1 Message Date
Christian Duerr ff09e39309
Fix parser stopping at unknown modes
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-15 20:00:53 +00:00
Christian Duerr a842d6827c
Add custom merge strategy for CHANGELOG.md
The merge strategy `union` should hopefully reduce the number of
conflicts when trying to rebase the configuration file, since most of
the changes are simple additions anyways.
2020-02-15 13:25:02 +03:00
Christian Duerr 988a846c52
Add seconds and nanoseconds to log output 2020-02-14 10:35:34 +03:00
Kirill Chibisov 696fc792e8
Increase Beam, Underline and Box cursors' line width 2020-02-13 22:22:02 +00:00
Kirill Chibisov 7ecf93ec70
Fix incorrect display offset after rotation
Regression was introduced in 4cc6421daa,
however it was working before only due to grid.len() bug.
2020-02-12 20:24:24 +00:00
Christian Duerr bfd69d0178
Bump vte and urlocator
Fixes #3247.
2020-02-11 23:50:20 +00:00
Christian Duerr 3b8ef3a0c4
Revert "Fix backspace deleting chars when IME is open"
This reverts commit 7f4dce2ee0.

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-10 23:41:48 +00:00
Kirill Chibisov 5cd13f8c47
Document that Alacritty does not create config 2020-02-07 23:39:39 +00:00
Kirill Chibisov db9e8d4b97
Update glutin to v0.23.0
Fixes #3191.
Fixes #3150.
Fixes #1465.
Fixes #1359.
2020-02-07 16:44:11 +03:00
Christian Duerr 6832b86aa7
Fix selection expansion across full-width glyphs
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-02-07 09:50:18 +03:00
BrainFace cbec5e415b
Add docs about multiple bindings on same trigger 2020-02-05 22:59:16 +00:00
Kirill Chibisov b72903e720
Start window invisible on Windows 2020-02-04 17:47:54 +00:00
Christian Duerr 74039bde12
Remove unsetting of dirty flag on key press
There's no reason why we should ever manually set the terminal to not be
dirty, since this can lead to a lot of other logic being affected. This
also does not have any benefit and was likely added in the event loop
rework as a bug (probably should have been dirty = true).
2020-02-03 02:40:38 +00:00
Kirill Chibisov 2672770683
Fix non-scalable font resize issue
Fixes resize regression from 15cc07c069.
2020-02-03 00:17:04 +03:00
Kirill Chibisov 15cc07c069
Fix handling of OpenType variable fonts
Fixes #3257.
2020-01-31 14:54:02 +00:00
Christian Duerr 2ef5e47b8e
Mirror OSC query terminator
Fixes #3091.
2020-01-31 00:00:23 +00:00
Christian Duerr 7f4dce2ee0
Fix backspace deleting chars when IME is open
Fixes #1606.
2020-01-30 22:16:30 +00:00
Christian Duerr 871a22eaf4
Fix inconsistent test module naming 2020-01-28 12:32:35 +00:00
Kirill Chibisov 6b327b6f8f
Rework Fontconfig fallback to use cached list from font_sort
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-27 03:54:33 +03:00
Christian Duerr 0f15dc05d9 Switch to flamegraph-rs script
This cleans up the Alacritty scripts a bit by removing some of them
which are not recommended to be used anymore and switching from the
official FlameGraph tool to the more specialized Rust FlameGraph
implementation.
2020-01-27 02:30:23 +03:00
Kirill Chibisov 4cc6421daa Fix incorrect grid.len() and grid.history_size() 2020-01-26 14:49:58 +01:00
Kirill Chibisov f48204eee2 Add font metric caching 2020-01-25 00:42:23 +01:00
Christian Duerr bdd28f4766
Fix selection rotating outside of scrolling region
Fixes #2983.
2020-01-24 23:57:22 +01:00
eau 7925ac4918 Fix build error on OpenBSD 2020-01-24 18:16:09 +01:00
Christian Duerr cc33bec730
Add debug log for missing config
We currently log whenever we fall back to the default config because of
an error in the config itself. We also log when the config was
successfully loaded and where it was loaded from. The only scenario
where no config related message is logged is when there is no
configuration file present.

Logging this case should make it easier to debug issues like #3240,
without requiring any knowledge from maintainers about this edgecase.
2020-01-22 23:48:46 +01:00
Kirill Chibisov e61c28e451
Fix underline position for bitmap fonts
Fixes #3235.
2020-01-22 23:47:59 +03:00
Kirill Chibisov 767d59155a Fix stack overflow when printing shader error
Fixes #3238.
2020-01-21 23:36:44 +01:00
Kirill Chibisov 906f14b660 Fix oob error during selection
Fixes #3233.
2020-01-21 22:17:25 +01:00
Christian Duerr c84cd0fdb0
Fix first cell when selection is off screen
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.
2020-01-21 00:56:10 +01:00
Kirill Chibisov 5e22512fe6 Disable drawing bold text bright by default
Since the assumption is usually that bold text is drawn in bright
colors, this might break some applications. However some other terminals
have already taken this leap, which should lessen the impact for
Alacritty.

Since this might still be desired and necessary for certain
applications, the config option is just switched to draw with normal
colors by default, however the old behavior can still be restored.

Fixes #2779.
2020-01-20 22:13:39 +01:00
Kirill Chibisov 2f1a390aaa
Remove scrolling.auto_scroll feature
Fixes: #1873
2020-01-20 23:03:54 +03:00
Christian Duerr fb1d3bef3f
Bump minimum Rust version to 1.37.0 2020-01-19 16:27:24 +01:00
Josh Comer 2199bbef51 Force application symlink on macOS make build 2020-01-18 15:48:34 +03:00
Michael Fresco bd96e7f769 Change Alacritty .ico to use higher resolution
Fixes #2651.
2020-01-17 22:28:34 +01:00
Cole Helbling 091296828a Replace `.nth(0)` with `.next()`
Clippy[1] says that `.next()` is more readable than `.nth(0)`.

[1]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero
2020-01-17 03:59:27 +03:00
Christian Duerr 3203d2b3fa Fix reset CLI parameters on config reload (#3216)
Fix reset CLI parameters on config reload

Fixes #3197.
2020-01-17 02:42:26 +03:00
David Hewitt f54aabfe92 Update font crate to 2018 edition 2020-01-15 23:14:07 +01:00
Christian Duerr 7d1edf01c2
Expand line selection across wrapped lines 2020-01-15 17:36:33 +01:00
David Hewitt 7dc406252b Remove Windows working directory canonicalization
Fixes #3198.
2020-01-15 13:47:15 +01:00
Christian Duerr c1664b348d
Remove synthetic keyboard event handling
Fixes #3109.
2020-01-14 17:01:43 +01:00
Christian Duerr 12e211d82a
Bump VTE to 0.5.0
This change includes dynamic escape buffer support in VTE, which allows
us to have arbitrary escape sizes.

Since tmux could potentially use very long escapes for the clipboard
escape, this allows copying more text.

Fixes #1002.
2020-01-12 17:28:40 +01:00
Christian Duerr 09ed64bd36
Fix crash with invalid working directory 2020-01-12 01:24:56 +01:00
Christian Duerr a82df6ac43
Fix font size reset when moving between screens
Fixes #3183.
2020-01-11 05:19:40 +01:00
Christian Duerr c2c8d6bf37
Move Alacritty to organization
This fixes various outdated links pointing to the old jwilm/alacritty
repository.

Since `copypasta` now has its own github repository at
https://github.com/alacritty/copypasta, the sources have been removed
from Alacritty.
2020-01-11 02:23:13 +01:00
Christian Duerr c34ec12c30
Bump glutin to 0.22.0
Fixes #3165.
2020-01-10 01:51:37 +00:00
Christian Duerr dd1413eb4d
Force exact modifiers match for mouse bindings
Fixes #3152.
2020-01-10 00:44:41 +00:00
Christian Duerr 3fb631b91c
Fix cut off full width glyphs in last column
This resolves the issue with full width glyphs getting rendered in the
last column. Since they need at least two glyphs, it is not possible to
properly render them in the last column.

Instead of rendering half of the glyph in the last column, with the
other half cut off, an additional spacer is now inserted before the wide
glyph. This means that the specific glyph in question is then three
cells wide.

Fixes #2385.
2020-01-09 23:06:41 +00:00
Christian Duerr 5651c3f711
Add separate deployment for Windows releases 2020-01-09 02:27:23 +00:00
Christian Duerr 3f0f352840
Build releases on Windows stable 2020-01-08 23:31:55 +00:00
Christian Duerr fc86d7620e
Fix keybinding deserialization
Fixes #3160.
2020-01-07 15:59:23 +00:00