aboutsummaryrefslogtreecommitdiff
path: root/alacritty
Commit message (Collapse)AuthorAge
...
* Print multiline logs in one write callKirill Chibisov2020-12-10
| | | | Fixes potential split of multiline logs in the multithreaded context by writing them all at once.
* Render underline and strikeout rects in batchesIvan Avdeev2020-12-10
| | | | | | | | | | | | | | | Currently Alacritty requires a separate `draw` call to OpenGL whenever a new rectangle is rendered to the screen. With many rectangles visible, this has a significant impact on rendering performance. Instead of using separate draw calls, the new `RectRenderer` will build a batch of rectangles for rendering. This makes sure that multiple rectangles can be grouped together for single draw calls allowing a reduced impact on rendering time. Since this change is OpenGL 2 friendly, it should not make it more complicated to transition away from the 3.3+ requirements like an alternative instancing based implementation might have.
* Remove redundant CLI flagsChristian Duerr2020-11-26
| | | | | | | | | | | | | This removes some of Alacritty's CLI flags since the same functionality is provided by the '--option' flag now. The removed flags are: * '--persistent-logging' * '--live-config-reload' * '--no-live-config-reload' * '--dimensions' * '--position' Fixes #4246.
* Add blinking cursor supportDettorer2020-11-23
| | | | | | | | This adds support for blinking the terminal cursor. This can be controlled either using the configuration file, or using escape sequences. The supported control sequences for changing the blinking state are `CSI Ps SP q` and private mode 12.
* Add support for '~/' in config importsChristian Duerr2020-11-24
| | | | | | | | | | | This allows the configuration file imports to start with '~/' and resolve relative to the user's home directory. There is no support for '~user/' or '$HOME/' or any other shell expansion. However since paths relative to the home directory should be sufficient for everything, this provides a very simple solution without any significant drawbacks. Fixes #4157.
* Increase font size in CSDs on WaylandKirill Chibisov2020-11-22
| | | | | Winit changed the default font size for CSDs from 17pt to 11pt, this patch reverts that since it is too small to be readable.
* Fix stdout log message orderKirill Chibisov2020-11-19
| | | | | | | | | This patch makes sure that the message for the creation of a log file is always the first entry, before any other log file messages. Since we initialize our log file dynamically, the message is printed as soon as something is written to it. By making sure that we always write to a file first and then try stdout, we can ensure that the log file is always initialized before ever writing log messages to stdout.
* Ignore nonexistent config imports instead of raising an errorJames Simpson2020-11-19
| | | Fixes: #4330.
* Fix wide characters being cut offKirill Chibisov2020-11-17
| | | Fixes #791.
* Bump development version to 0.7.0-devChristian Duerr2020-11-15
| | | | This is only an update to the development version and does not represent a stable release.
* Fix unused import warningChristian Duerr2020-11-15
| | | This fixes an unused import warning introduced with 198d3cb.
* Load only gl 3.3 functionsKirill Chibisov2020-11-14
| | | | | | | | This commit makes 'gl::load_with' only load symbols from the minimal OpenGL (3.3) version alacritty aims to support. Doing so reduces the size of gl_bindings.rs from 21K LoC to 11K LoC, and also the actual loading by up to ~2x, thugh the loading is usually sub millisecond anyway.
* Feature gate 'image' when building without x11 featureKirill Chibisov2020-11-14
| | | | On Wayland there's no way to embed icon into the window, thus there's no point in loading it when x11 feature is disabled.
* Add ability to select text during searchChristian Duerr2020-11-13
| | | | | | | | | | | | | This removes the restriction of not being able to select text while the search is active, making it a bit less jarring of a UX when the user tries to interact with the terminal during search. Since the selection was used during vi-less search to highlight the focused match, there is now an option for a focused match color, which uses the inverted normal match color by default. This focused match is used for both search modes. Other mouse interactions are now also possible during search, like opening URLs or clicking inside of mouse mode applications.
* Spawn new alacritty processes in CWD on macOSNathan Lilienthal2020-11-07
| | | | | | On macOS we can use 'proc_pidinfo' to determine the working directory of the terminal foreground process. Fixes #1979.
* Deprecate the WinPTY backendChristian Duerr2020-11-06
|
* Use dynamic storage for zerowidth charactersChristian Duerr2020-11-05
| | | | | | | | | | | | | | | | | | | The zerowidth characters were conventionally stored in a [char; 5]. This creates problems both by limiting the maximum number of zerowidth characters and by increasing the cell size beyond what is necessary even when no zerowidth characters are used. Instead of storing zerowidth characters as a slice, a new CellExtra struct is introduced which can store arbitrary optional cell data that is rarely required. Since this is stored behind an optional pointer (Option<Box<CellExtra>>), the initialization and dropping in the case of no extra data are extremely cheap and the size penalty to cells without this extra data is limited to 8 instead of 20 bytes. The most noticible difference with this PR should be a reduction in memory size of up to at least 30% (1.06G -> 733M, 100k scrollback, 72 lines, 280 columns). Since the zerowidth characters are now stored dynamically, the limit of 5 per cell is also no longer present.
* Fix visual bell getting stuckChristian Duerr2020-10-30
| | | | | | | | This resolves a problem with the visual bell where it would not automatically trigger a redraw itself after the initial frame has been rendered. Since the unit of the visual bell duration is also unclear, it has been clarified.
* Fix crash with large negative font offsetChristian Duerr2020-10-29
| | | Fixes #4363.
* Error on warnings when running clippyKirill Chibisov2020-10-29
| | | | | It should simplify tracking of new warnings raised on CI builds and when cross checking. This commit also enables warnings for 'rust_2018_idioms' and 'future_incompatible'.
* Fix build failure on macOS without featuresChristian Duerr2020-10-28
| | | Fixes #4353.
* Remove rustc_tools_util dependencyChristian Duerr2020-10-25
| | | | | | | | Since our usage of the rustc_tools_util crate is so trivial, it seems like we should be able to just inline it directly into Alacritty. It's a very well trusted crate, being hosted directly by rust-lang and it does not pull in any other dependencies, but having a dependency for just 6 lines of code seems a bit extreme.
* Remove unneeded collect during line rect creationMark Lodato2020-10-22
|
* Check viewport size after initial resizeChristian Duerr2020-10-22
| | | | | Since the 'set_inner_size' call might immediately alter the window size, the query for the window's dimensions should be performed after the resize has been requested.
* Add license symlinks for cratesStefano Figura2020-10-17
|
* Fix incorrect X11 feature checkChristian Duerr2020-10-12
| | | See https://github.com/alacritty/alacritty/commit/721f789b5f98ab5c47e6e817c3c2228636ca0a1a#r43183826.
* Make use of glutin wayland/x11 featuresKirill Chibisov2020-10-12
| | | | This should allow users that are not using Wayland/X11 to reduce the resulted binary size and compilation times.
* Add support for urgency hints CSITaylor Blau2020-10-10
| | | | | | | | | | | | | | | | | | | | | | | Teach Alacritty to stop setting the window as urgent upon a bell by emulating xterm's 'bellIsUrgent' resource and relevant CSI. When this resource is enabled (with 'CSI ? 1042 h'), a bell event causes the window to be marked as urgent. When the resource is disabled (with 'CSI ? 1042 l'), the window is not marked urgent in the event of a bell. There are two wrinkles worth noting here: - The 'TermMode::URGENCY_HINTS' does _not_ affect the terminal's configured bell command, since we only want to control whether or not the window is marked as urgent, not anything else. - In xterm, the 'bellIsUrgent' resource is _disabled_ by default. Since bouncing the dock icon has been the default in Alacritty on macOS thus far, do not make an effort to change that in this patch. This allows users to emit "\e[?1042l" and disable bouncing the dock icon. Fixes #2950.
* Fix feature checking in cross buildsKirill Chibisov2020-10-10
| | | | | Checking for target os in build.rs doesn't work, since build.rs is running for host, so checking should be done in src. Thus moving 'compile_error!' check from build.rs to main.rs.
* Bump glutin to 0.25.0Kirill Chibisov2020-10-07
| | | | | | | | | | | | Fixes #4206. Fixes #4162. Fixes #4017. Fixes #3998. Fixes #3831. Fixes #3782. Fixes #3708. Fixes #2734. Fixes #2714. Fixes #1801.
* Fix non-ascii message bar text width calculationAlessandro Menezes2020-10-04
| | | | | | | | | | | | | | | | When formatting text for display in the message bar, Alacritty was using the byte length of the text instead of the glyph count. This lead to unnecessary blank space at the end of lines due to overestimation of their length. There also were no extra spaces inserted after fullwidth characters, leading to Alacritty giving them only a single cell of space. In line with the rest of Alacritty's rendering, a wide char spacer whitespace is now inserted in the message bar after glyphs which should occupy two cells. Fixes #4250. Co-authored-by: Christian Duerr <contact@christianduerr.com>
* Add support for single line terminalsii412020-09-27
| | | | | | | | | | | | | | | | | This changes the minimum terminal dimensions from 2 lines and 2 columns, to 1 line and 2 columns. This also reworks the `SizeInfo` to store the number of columns and lines and consistently has only the terminal lines/columns stored, instead of including the message bar and search in some places of the Alacritty renderer/input. These new changes also make it easy to properly start the selection scrolling as soon as the mouse is over the message bar, instead of waiting until it is beyond it. Fixes #4207. Co-authored-by: Christian Duerr <contact@christianduerr.com>
* Fix IME position with fullwidth chars in searchChristian Duerr2020-09-25
|
* Log new padding and cell size on 'SizeInfo' updateKirill Chibisov2020-09-24
| | | | This makes our logging of 'SizeInfo' changes more consistent with the one we're using when creating a new 'Display'.
* Fix CLI arguments without config fileChristian Duerr2020-09-20
| | | | | | | | | | | Since we only applied the CLI arguments as overrides to the configuration file after the file was loaded, all CLI arguments that are stored on the config would be dropped without a configuration file in place. This also makes sure that all configuration file config overrides are still loaded if the configuration file could not be loaded for any reason, since there's no reason why we'd just drop everything in that case.
* Improve example for the -o CLI flagNathan Lilienthal2020-09-13
| | | Co-authored-by: Christian Duerr <contact@christianduerr.com>
* Pass existing CLI parameters to SpawnNewInstanceRohan Poojary2020-09-06
| | | Co-authored-by: Christian Duerr <contact@christianduerr.com>
* Fix multiline URL highlightingChristian Duerr2020-08-30
| | | | Fixes #4182.
* Add escape to report text area sizeAyose Cazorla2020-08-28
| | | | This implements the escapes `CSI 14 t` and `CSI 18 t` which report the text area size in pixels and characters.
* Unify term dimension callsChristian Duerr2020-08-25
| | | | | | | Since the `Term` implements the `Dimensions` trait itself, we shouldn't call `term.grid()` to call methods from the `Dimensions` trait. This removes all instances of this that I could find in the code at the moment.
* Add CLI parameter to override config optionsChristian Duerr2020-08-22
| | | | | | | | This uses the facilities added in 3c3e6870dedad56b270f5b65ea57d5a6e46b1de6 to allow overriding individual configuration file options dynamically from the CLI using the --options/-o parameter. Fixes #1258.
* Fix config import error handlingChristian Duerr2020-08-22
|
* Add configuration file importsChristian Duerr2020-08-21
| | | | | | | | | | | | | | | | | | | This adds the ability for users to have multiple configuration files which all inherit from each other. The order of imports is chronological, branching out to the deepest children first and overriding every field with that of the configuration files that are loaded at a later point in time. Live config reload watches the directories of all configuration files, allowing edits in any of them to update Alacritty immediately. While the imports are live reloaded, a new configuration file watcher will only be spawned once Alacritty is restarted. Since this might cause loops which would be very difficult to detect, a maximum depth is set to limit the recursion possible with nested configuration files. Fixes #779.
* Add logging for crossfontChristian Duerr2020-08-14
| | | | This refactors the logging function to clean things up a little bit and also adds the ability to see log messages for the `crossfont` library.
* Fix selection scrolling with message bar visibleChristian Duerr2020-08-14
| | | | | | | This resolves an issue with selection scrolling which would cause the selection to wrap to the top of the screen once the cursor enters the padding below the message bar. Fixes #4120.
* Use yellow/red from the config for message bar colorsKirill Chibisov2020-08-13
| | | | | | | | | | | | This commit completes the effort to use config colors for message bar content by picking red/yellow from user's colors.normal.{red,yellow} for error/warning messages instead of fixed colors. It also removes alacritty_terminal::term::color::RED and alacritty_terminal::term::color::YELLOW from the alacritty_terminal API, bumping its version to 0.11.0-dev. Fixes #4116.
* Use user's background color for render timer textKirill Chibisov2020-08-13
| | | | | Using the user's background color in pair with red should provide better contrast.
* Add support for double underlinesChristian Duerr2020-08-12
| | | | | | | | | | | | | This adds support for double underlines using the colon separated escape sequence `CSI 4 : 2 m`. Alacritty will now also always fallback to the normal underline in case any of the other underlines like the undercurl are specified. The escape sequence `CSI 4 : 0 m` can now be used to clear all underlines. Some terminals support `CSI 21 m` for double underline, but since Alacritty already uses that as cancel bold which is a little more consistent, that behavior has not changed. So the colon separated variant must be used.
* Remove copyright notice from filesKirill Chibisov2020-08-10
| | | | This commit is a follow-up to 7aafbb757d485c5ff065324464dde8b5322cdd921 which was an effort to remove copyright notice from files.
* Remove markdownish markup from `--help` outputKirill Chibisov2020-08-10
|