Commit Graph

188 Commits

Author SHA1 Message Date
Elaina Martineau 84aca67296 Change mouse cursor when hovering over the message bar 2019-07-08 18:13:55 +00:00
Christian Duerr 165246f50a
Fix saving of ref tests
Since ref tests were only stored whenever winit requested the window
close, they would not get stored properly when the terminal was closed
through Alacritty using `exit`, Ctrl+D or similar.

This moves the ref test code to the and of the main entry point, which
will always be executed regardless of how the terminal was shutdown.
2019-07-07 14:51:11 +00:00
Kirill Chibisov ed7ed473da Fix doc box drawing symbols 2019-07-07 13:14:04 +00:00
Brian Koropoff 228c641769 Allow setting gtk variant and general class on X11 2019-07-06 19:34:56 +00:00
Christian Duerr af30f3735a
Fix rows only resetting partially
This resolves an issue with rows only resetting partially, based on
their `occ` state. However this state is not always accurate, so more
than just the occupied elements need to be cleared.

Fixes #2340.
2019-06-28 20:19:15 +00:00
Kirill Chibisov 0815774cbf Perform clear and buffer swap before showing window
This should fill window with background color while it is offscreen instead of
showing it with uninitilized surface and then performing `clear`. So, the new
behavior should prevent glitches during startup. e.g. content of the windows
below, garbage from drivers and so on.
2019-06-25 21:34:55 +00:00
Christian Duerr e2e25b3206
Fix first unfullscreen on fullscreen mode launched window 2019-06-25 21:32:28 +00:00
Christian Duerr f002171c84
Fix performance issues with text reflow
Fixes #2567.
Fixes #2414.
2019-06-23 23:29:01 +00:00
Kirill Chibisov 72088dafec Fix inconsitent cursor position when scrolling
This commit fixes regression introduced in cfc20d4f34.
`self.cursor.line` forced the cursor to hold a fixed location while scrolling
until its "original" location (usually the shell prompt) went off the screen.
So cursor position should be keep updated, which can be achieved by using
`self.inner.line()`.

Fixes #2570.
2019-06-21 23:00:01 +00:00
Christian Duerr e0a286515f
Add block selection
This implements a block selection mode which can be triggered by holding
Control before starting a selection.

If text is copied using this block selection, newlines will be
automatically added to the end of the lines.

This fixes #526.
2019-06-20 15:56:09 +00:00
Matthias Krüger 4039f72000 Fix redundant static lifetime clippy lint 2019-06-18 21:23:03 +00:00
Christian Duerr fe4cfdc545
Unset DESKTOP_STARTUP_ID environment variable
This unsets the DESKTOP_STARTUP_ID environment variable at startup, to
prevent child processes from inheriting it. This solves problems with
child windows not properly spawning in the foreground with KDE.

More information can be found here:
https://specifications.freedesktop.org/startup-notification-spec/startup-notification-latest.txt
2019-06-16 16:03:52 +00:00
Christian Duerr cc3e4d3d5c
Bump version to 0.3.3 2019-06-16 14:10:15 +00:00
Christian Duerr 8ea28eb1b0
Bump version to 0.3.3-rc2 2019-06-15 21:34:13 +02:00
Christian Duerr 1b26059a06
Bump smithay-clipboard dependency version 2019-06-15 19:08:51 +00:00
Christian Duerr d3cc9743b7
Fix dynamic color escape response
The dynamic color escape response would answer to requests with
rgb:0/0/0 when the color was completely black, instead of properly
responding with double-digit hex colors. This has been changed so that
Alacritty now always properly responds with the same number of hex
digits for all colors.

The number of digits has also been changed from two to four digits per
color, since that is the more commonly used format.

Using the `write!` macro was also causing problems with NeoVim,
since it caused Alacritty to write the dynamic color escape in multiple
write calls, switching to `write_all` fixed that.

Fixes #2543.
2019-06-15 16:52:23 +00:00
Christian Duerr 0b88b9fee4
Bump version to 0.3.3-rc1 2019-06-09 22:10:42 +02:00
Kevin Zheng 204c46c7f9 Fix dynamic multi-color escape codes 2019-06-09 18:02:15 +00:00
Matthias Krüger f59aa19892 Fix compiler warnings 2019-06-09 17:52:48 +00:00
Christian Duerr bc2c34eb7f
Add wayland primary selection clipboard support 2019-06-09 11:46:31 +00:00
Christian Duerr f15ef63edb
Fix index out of bounds during selection
This reworks the selection logic to prevent any possible index out of
bounds exceptions by clamping the start and end points before doing
anything else with them when converting selections to spans.

This also fixes a bug where semantic selections would not automatically
expand across double-width characters.

Fixes #2486.
2019-06-06 13:04:12 +00:00
Elaina Martineau 45565bb9ca Re-invert cursor when in selection 2019-06-06 00:02:20 +00:00
rbong f79007035c Add foreground/background request escape codes 2019-06-02 13:16:38 +00:00
Jacob Evan Shreve 29c037e3c5 Allow URLs to end with trailing slash 2019-05-19 19:24:00 +00:00
Christian Duerr d934df6c0e
Fix URL detection matching invalid URLs
Fixes #2450.
2019-05-16 21:05:00 +00:00
Kirill Chibisov f93a84aef4 Fix message bar not updating PTY size on hide 2019-05-13 23:06:19 +00:00
Jean Mertz 1656aff85e Add support for double-click bracket-pair selection 2019-05-11 16:15:32 +00:00
Elaina Martineau ca9724a5ef Fix cursor only showing up over left half of wide characters 2019-05-11 15:57:22 +00:00
Christian Duerr 5d173f6df3
Refactor config parsing files
This is a large refactor of the config parsing structure, attempting to
reduce the size of the file a bit by splitting it up into different
modules with more specific purposes.

This also fixes #2279.
2019-05-10 11:36:16 +00:00
Nathan Lilienthal 34c54e7e0e
Add git hash to version string, and fix crate name (#2397)
This moves `cli` out of `alacritty_terminal` and into `alacritty` where
it belongs, along with the `clap` dependency.
2019-05-03 19:48:25 -04:00
Christian Duerr bc038f8295
Remove clipboard loading error logging
On macOS the clipboard actually returns an error when loading it and it
is empty. However this is not an `Empty` error but all errors are simple
boxed Errors from std.

Since loading the clipboard data usually should not fail, we now do not
log it as error if it fails but just print it to the debug log instead.

This fixes #2389.
2019-04-30 13:30:46 +00:00
Christian Duerr bf353059a0
Fix selection of double-width characters
This changes the selection behavior to automatically select both cells
of double width characters in either selection direction.

This fixes #2322.
2019-04-29 14:33:25 +00:00
Christian Duerr 21a97c1ef2
Fix mouse mode generate events without cell change 2019-04-28 22:36:02 +00:00
JDTX 2c462c7d03 Fix spelling mistakes 2019-04-28 21:42:43 +00:00
Christian Duerr 9e89aaa477
Switch from copypasta to rust-clipboard
This switches our own `copypasta` crate with the more standardized
`clipboard` library, which allows us to get rid of the `xclip`
dependency on X11.

Additionally, this lays the foundation for native Wayland clipboard
support once the clipboard crate is updated (or a fork is created).

Fixes #5.
2019-04-28 20:21:39 +00:00
Kirill Chibisov 37b66a7cd2 Set _NET_WM_ICON on X11 2019-04-28 18:12:35 +00:00
Elaina Martineau b321406908 Fix double-width characters in URLs only highlighting halfway 2019-04-28 16:09:26 +00:00
Theodore Dubois dbd8538762 Split alacritty into a separate crates
The crate containing the entry point is called alacritty, and the crate
containing everything else is called alacritty_terminal.
2019-04-28 13:24:58 +00:00