summaryrefslogtreecommitdiff
path: root/alacritty.yml
AgeCommit message (Collapse)Author
2022-02-10Add option to control built-in box drawing charszandr
This commit adds the config `font.builtin_box_drawing` option to control built-in font, which is enabled by default.
2022-01-13Fix block selection expansion with Ctrl + RMBKirill Chibisov
When 'ExpandSelection' binding was added only default binding for RightClick was added, however to expand block selection holding control when doing a click is required, so this commit adds a binding for 'RMB + Control'.
2021-10-23Add multi-window supportChristian Duerr
Previously Alacritty would always initialize only a single terminal emulator window feeding into the winit event loop, however some platforms like macOS expect all windows to be spawned by the same process and this "daemon-mode" can also come with the advantage of increased memory efficiency. The event loop has been restructured to handle all window-specific events only by the event processing context with the associated window id. This makes it possible to add new terminal windows at any time using the WindowContext::new function call. Some preliminary tests have shown that for empty terminals, this reduces the cost of additional terminal emulators from ~100M to ~6M. However at this point the robustness of the daemon against issues with individual terminals has not been refined, making the reliability of this system questionable. New windows can be created either by using the new `CreateNewWindow` action, or with the `alacritty msg create-window` subcommand. The subcommand sends a message to an IPC socket which Alacritty listens on, its location can be found in the `ALACRITTY_SOCKET` environment variable. Fixes #607.
2021-08-16Add option to apply opacity to all background colorsKirill Chibisov
In some cases it could be desired to apply 'background_opacity' to all background colors instead of just 'colors.primary.background', thus adding an 'colors.opaque_background_colors' option to control that. Fixes #741.
2021-07-29Add ExpandSelection mouse binding actionJason Heard
Fixes #4132.
2021-07-07Fix leaving vi mode with active selectiona5ob7r
This bug comes from 530de00049c2afcc562d36ccdb3e6afa2fe396a5. The vi cursor movement changes text selection range when it is on vi mode. On the other hand the cursor movement doesn't change the range when it isn't on vi mode. So preserve text selection range by toggling vi mode early.
2021-06-19Add modes to regex hint bindingsJoshua Ortiz
Fixes #5154.
2021-05-21Add ipfs/ipns URL scheme supportAlfonso Montero
2021-05-20Fix typo in config documentationMark Stosberg
2021-05-19Add magnet URL support to config docsChristian Duerr
Support for magnet URLs was introduced in 78e0444, however that commit failed to document things in the alacritty.yml file.
2021-05-09Fix URL highlighting with unicode whitespaceChristian Duerr
The URL highlighting regex would automatically terminate on an ascii whitespace, however there are several other forms of whitespace that are indistinguisable to a user from normal whitespace. To make things a little more intuitive, all unicode whitespace will now terminate URLs.
2021-04-30Use cell colors for focused match CellRgbNathan Lilienthal
Fixes #5022. Co-authored-by: Christian Duerr <contact@christianduerr.com>
2021-04-26Update vi-mode `Open` config docs for hintsNathan Lilienthal
2021-04-15Add hint action for moving the vi cursorChristian Duerr
Fixes #4319.
2021-04-13Add vi/mouse hint highlighting supportChristian Duerr
This patch removes the old url highlighting code and replaces it with a new implementation making use of hints as sources for finding matches in the terminal.
2021-04-08Add hide other windows binding on macOSKam Kudla
Fixes #3697.
2021-04-03Add copy/paste/select hint actionsChristian Duerr
This adds some built-in actions for handling hint selections without having to spawn external applications. The new actions are `Copy`, `Select` and `Paste`.
2021-03-15Fix URLs opening in explorer on WindowsSerban Constantin
2021-03-01Add regex terminal hintsChristian Duerr
This adds support for hints, which allow opening parts of the visual buffer with external programs if they match a certain regex. This is done using a visual overlay triggered on a specified key binding, which then instructs the user which keys they need to press to pass the text to the application. In the future it should be possible to supply some built-in actions for Copy/Pasting the action and using this to launch text when clicking on it with the mouse. But the current implementation should already be useful as-is. Fixes #2792. Fixes #2536.
2021-01-01Add vi/search line indicatorChristian Duerr
This adds a new visual indicator which shows the position in history of either the display offset during search, or the vi mode cursor. To make it as unintrusive as possible, the overlay is hidden whenever the vi mode cursor collides with its position. Fixes #3984.
2021-01-01Remove Windows WinPTY backendChristian Duerr
2020-12-31Add default binding to cancel search on Ctrl+CChristian Duerr
Fixes #4612.
2020-12-21Replace serde's derive with custom proc macroChristian Duerr
This replaces the existing `Deserialize` derive from serde with a `ConfigDeserialize` derive. The goal of this new proc macro is to allow a more error-friendly deserialization for the Alacritty configuration file without having to manage a lot of boilerplate code inside the configuration modules. The first part of the derive macro is for struct deserialization. This takes structs which have `Default` implemented and will only replace fields which can be successfully deserialized. Otherwise the `log` crate is used for printing errors. Since this deserialization takes the default value from the struct instead of the value, it removes the necessity for creating new types just to implement `Default` on them for deserialization. Additionally, the struct deserialization also checks for `Option` values and makes sure that explicitly specifying `none` as text literal is allowed for all options. The other part of the derive macro is responsible for deserializing enums. While only enums with Unit variants are supported, it will automatically implement a deserializer for these enums which accepts any form of capitalization. Since this custom derive prevents us from using serde's attributes on fields, some of the attributes have been reimplemented for `ConfigDeserialize`. These include `#[config(flatten)]`, `#[config(skip)]` and `#[config(alias = "alias)]`. The flatten attribute is currently limited to at most one per struct. Additionally the `#[config(deprecated = "optional message")]` attribute allows easily defining uniform deprecation messages for fields on structs.
2020-12-20Add search history supportChristian Duerr
This adds a history to the regex search limited to at most 255 entries. Whenever a search is either confirmed or cancelled, the last regex is entered into the history and can be accessed when a new search is started. This should help users recover complicated search regexes after accidentally discarding them, or handle repeated searches with the same regexes. Fixes #4095.
2020-12-19Add separate mode for search bindingsChristian Duerr
2020-11-23Add blinking cursor supportDettorer
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.
2020-11-24Add support for '~/' in config importsChristian Duerr
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.
2020-11-19Ignore nonexistent config imports instead of raising an errorJames Simpson
Fixes: #4330.
2020-11-13Add ability to select text during searchChristian Duerr
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.
2020-11-07Fix configuration file formattingChristian Duerr
The configuration file, especially the section documenting the different binding actions, had some extremely long lines. All the text is now reformatted to be at most 80 columns wide. The only lines remaining which are beyond 80 columns wide are the configuration bindings, which would significantly suffer from linebreaks and are not plain text.
2020-10-30Fix visual bell getting stuckChristian Duerr
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.
2020-10-07Bump glutin to 0.25.0Kirill Chibisov
Fixes #4206. Fixes #4162. Fixes #4017. Fixes #3998. Fixes #3831. Fixes #3782. Fixes #3708. Fixes #2734. Fixes #2714. Fixes #1801.
2020-09-27Add support for single line terminalsii41
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>
2020-08-21Add configuration file importsChristian Duerr
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.
2020-08-12Add `Vi` to available binding modesChristian Duerr
2020-08-10Add ^C binding to cancel search and leave Vi modeChristian Duerr
Fixes #4089.
2020-08-03Fix typo in example config fileDavid
2020-08-02Document keybinding actionsMark Stosberg
2020-08-01Fix configuration file documentationJoshua Steele
2020-07-15Add support for searching without vi modeChristian Duerr
This implements search without vi mode by using the selection to track the active search match and advancing it on user input. The keys to go to the next or previous match are not configurable and are bound to enter and shift enter based on Firefox's behavior. Fixes #3937.
2020-07-15Fix docs about multiple simultaneous keybindingsChristian Duerr
2020-07-14Fix movement within search matchesChristian Duerr
Previously the SearchEndNext and SearchEndPrevious match acted exactly like the SearchNext and SearchPrevious action, however this is not how vim works. In vim, regardless of direction the `gN` action always jumps to the next match start to the left of the cursor, while the `gn` action always jumps to the next search end to the right of the cursor. While both approaches might seem reasonable at first, vim's approach has a significant advantage w.r.t. predictability and automation of the movement. By always knowing which direction the motion goes to, this allows for mappings that reliably navigate inside the current match regardless of the global search direction. So deleting until the end of the match would always be `dgn` for example, regardless in which direction the user has jumped to it. Fixes #3953.
2020-07-10Add option to run command on bell Kirill Chibisov
Fixes #1528.
2020-07-09Add regex scrollback buffer searchChristian Duerr
This adds a new regex search which allows searching the entire scrollback and jumping between matches using the vi mode. All visible matches should be highlighted unless their lines are excessively long. This should help with performance since highlighting is done during render time. Fixes #1017.
2020-06-09Add missing docs for ScrollHalfPageUp/DownKirill Chibisov
2020-05-17Add subpixel anti-aliasing support on macOS 10.14+Casper Rogild Storm
2020-05-16Change default color scheme to 'Tomorrow Night'Alexey Chernyshov
Fixes #3404.
2020-05-14Refine documentation on disabling the URL launcherTyler G. Sherrard
2020-05-02Fix scrolling multiplier documentationJeff Windsor
Fixes #3189.
2020-04-15Add config option to set cursor thicknessKirill Chibisov
Fixes #3526.