Commit Graph

166 Commits

Author SHA1 Message Date
Christian Duerr ba05e505d5
Fix invisible selection
This resolves a bug where the very first/last cell would still be
selected when both the start and the end were below/above the viewport.
2020-03-21 03:47:52 +03:00
Christian Duerr 1a8cd172e5
Add modal keyboard motion mode
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-18 02:35:08 +00:00
Christian Duerr 6801c4a4fd
Bump version to 0.5.0-dev
This is a bump of the development version and does not represent a
stable release.
2020-03-14 16:39:02 +00:00
Christian Duerr ead8d68c69
Fix live config reload for window title
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-14 15:09:10 +00:00
Kirill Chibisov 4000ec04d8
Add option to pick Linux/BSD backends
This commit adds two cargo features `x11` and `wayland` to pick
Linux/BSD backends, with both enabled by default.

Fixes #3340.
2020-03-13 03:33:12 +03:00
Christian Duerr c2e39085e3
Fix crash when selecting last column
This resolves a bug where the selection start would be set to the number
of columns, causing an out of bounds when trying to index with it.
Instead of extending the selection beyond the grid when the right side
of the last column is the start of the selection, the selection will now
start in the beginning of the next line.

Fixes #3446.
2020-03-12 03:14:00 +03:00
Christian Duerr 64a3115648
Fix selection with invisible start and end
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-07 22:17:38 +00:00
Christian Duerr 33cabfc3d2
Remove `ref_test` option from configuration file
This removes the `debug.ref_test` option from the configuration file,
after this change was originally requested from kchibisov in
https://github.com/alacritty/alacritty/pull/3396.

While this option is valueable for the CLI, it provides no value in the
configuration file.
2020-03-04 11:32:07 +00:00
Rémi Garde f7561850b4
Remove HollowBlock/Hidden config cursor styles
Fixes #3367.
2020-03-02 20:41:26 +00:00
Christian Duerr 8c64224582
Remove `tabspaces` config option
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-01 07:07:36 +03:00
Christian Duerr bea6ece3f6
Fix tabs across linewrap
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-03-01 06:27:23 +03:00
Kirill Chibisov 2ac017fa64
Update terminfo dependency 2020-02-29 21:10:51 +03:00
Kirill Chibisov 2365425fd2
Fix log target of color config errors
Due to incorrect log target in the color config errors, the message bar was not
cleared when the error was fixed.
2020-02-28 02:28:15 +00:00
Christian Duerr 17b8bbb908
Remove docs for 0xRRGGBB color notation 2020-02-27 23:06:04 +00:00
Christian Duerr fa11b56cf6
Fix config reload updating incorrect grid 2020-02-23 01:55:29 +00:00
Christian Duerr 71dd1bc386
Fix block selection including last column
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-22 02:42:44 +00:00
Christian Duerr eb1a28ce58
Extract winpty crate
The winpty crate and its winpty-sys depedency have been moved to
https://github.com/alacritty/winpty.
2020-02-17 16:24:27 +00:00
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
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
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
Christian Duerr 2ef5e47b8e
Mirror OSC query terminator
Fixes #3091.
2020-01-31 00:00:23 +00:00
Christian Duerr 871a22eaf4
Fix inconsistent test module naming 2020-01-28 12:32:35 +00:00
Kirill Chibisov 4cc6421daa Fix incorrect grid.len() and grid.history_size() 2020-01-26 14:49:58 +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
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 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 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 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 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
Kirill Chibisov 7fd17ab0dd Bump version to 0.4.2-dev 2020-01-05 14:42:11 +00:00
Kirill Chibisov 5aaa350e1a Update outdated reftests 2020-01-04 23:55:10 +00:00
David Hewitt f632919134 Clean up Windows PTY string handling
Removes widestring and dunce dependencies, reduces some code duplication
and corrects a few typos.
2020-01-02 11:49:27 +00:00
Christian Duerr 77acb26d73
Remove C1 escape support
Fixes #2981.
2019-12-31 20:56:27 +00:00
Kirill Chibisov 3e6e8a03ee Move live-shader-reload feature to alacritty 2019-12-30 12:17:42 +00:00
Kirill Chibisov d4dc1f7b14 Remove outdated information from README 2019-12-29 22:48:27 +00:00
Christian Duerr 9da0c042d4
Fix screen reset not clearing cell flags 2019-12-24 20:51:06 +00:00
Kirill Chibisov 44037fa42a Fix crash on clear when scrolled up in history
Fixes #3112.
2019-12-22 11:05:19 +00:00
David Hewitt 85112fefa5 Remove unneeded NamedPipe::connect() calls
In the way the code was set up, these calls would always do nothing
and return io::ErrorKind::WouldBlock, so they can be safely removed.
2019-12-22 11:02:56 +00:00
David Hewitt 7a957978e4 Default to ConPTY instead of WinPTY 2019-12-21 21:23:18 +00:00
Christian Duerr 512461a241
Fix Windows CI build failure 2019-12-21 02:18:01 +01:00
sterlingjensen 8a83340661 Add conpty dynamic loading restrictions docs 2019-12-15 06:21:54 +01:00