summaryrefslogtreecommitdiff
path: root/alacritty.yml
AgeCommit message (Collapse)Author
2019-11-03Add live config reload for font family and stylewayne
Fixes #2737.
2019-10-15Add support for alternate scroll escapeAleksey Kuznetsov
Fixes #2727.
2019-10-06Remove automatic config generationKirill Chibisov
Fixes #2818.
2019-10-04Update VirtualKeyCode url in alacritty.ymlClément L
2019-09-28Add `ReceiveChar` action for passing key's textzsugabubus
2019-09-18Rework default bindingsKirill Chibisov
This commit removes all bindings which are sending escapes from the default configuration file, adds bindings for F13-F24, adds bindings for ScrollToTop/ScrollToBottom actions, removes bindings for Super + F1-F12, fixes bindings for Alt + F1-F12. Fixes #2688.
2019-08-25Add bold italic font supportChris Morgan
If the terminal escape sequences for bold and italic text are active, the text should be rendered as bold and italic. However, due to missing support in Alacritty, it would always render this text in bold. This adds support for combining the bold and italic escapes to render text in both styles and allows users to override the font for this scenario using the `font.bold_italic` configuration option.
2019-07-26Fix double-click selecting trailing tabBen Firth
Fixes #2639.
2019-07-06Allow setting gtk variant and general class on X11Brian Koropoff
2019-06-21Reorder and clearify the mouse/keybinding docs. (#2509)Nathan Lilienthal
2019-06-16Fix default fullscreen binding docsChristian Duerr
2019-06-16Fix default login shell documentationJulien Sanchez
2019-05-10Refactor config parsing filesChristian Duerr
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-04-23Add fullscreen supportacheronfail
Fixes #34. Fixes #2012.
2019-04-09Document URL launcher parameter optionsChristian Duerr
This fixes #2112.
2019-04-08Add ScrollLineUp and ScrollLineDown actions for scrolling line by lineJerry Yin
2019-03-15Add additional key bindings for changing font sizeAaron Goodfellow
This fixes #2010.
2019-03-12Add config option to change selection colorKirill Chibisov
2019-03-11Add option for window position at startupCole Helbling
2019-03-02Add additional key bindingsstfn
2019-02-08 Change shift+pgup/pgdown to scroll historyChristian Duerr
The default shift+pgup/pgdown buttons were sending the escape sequences specified by the official standard, however most terminal emulators like XTerm, URxvt and VTE make an exception for this special case and instead scroll the native history buffer. Both XTerm and URxvt do never send the escapes for Shift+PgUp/PgDown, however VTE does send them in the alternate screen. Since Alacritty already supports keybindings based on terminal mode and the binding to scroll the history is useless when in the alternate screen buffer, Alacritty is now following VTEs behavior here, allowing applications in the alt screen (like vim) to handle this escape. Fixes #1989.
2019-02-04Fix macOS config decorations docChristian Duerr
2019-02-03 Fix regression in the URL launcher config Christian Duerr
Due to the merging of configuration files on all platforms, it has been made impossible to completely disable URL launching without still executing some kind of program like `true`. Setting the launcher to `None` in the config, will now disable it completely. This fixes #2058.
2019-01-20Fix crash on Windows (#2021)Christian Duerr
The rusttype backend did not properly support manually specifying font styles, but instead chose to panic when they are specified. The rusttype implementation now provides a proper implementation for handling `bold`, `italic` and `regular` font styles. This fixes #2020.
2019-01-17Add config option to send or not send ESC when ALT-key is pressedSimon Dahlberg
2019-01-17Make all configuration fields optionalChristian Duerr
All configuration fields now have fallback values which will be used if the field is not present. This includes mouse, key bindings and platform specific differences. The mouse and key bindings are now filled by default, if the user rebinds a default mapping, it will be overwritten. To unbind a default binding, it can be mapped to `chars: ""`. Since all platform differences can now be correctly handled by the `src/config/mod.rs` code, it's no longer necessary to maintain separate configuration files, so the `alacritty_macos.yml` and `alacritty_windows.yml` have been deleted. Fixes #40. Fixes #1923.
2019-01-11Fix config documentation typoMorton Fox
2019-01-07Fix minor issues in the config documentationChristian Duerr
2019-01-05Add key/mouse action for spawning new Alacritty instancesCarlos Tuñón
2018-12-17Add color option to visual bellChristian Duerr
This adds the option to specify the color of the visual bell using the `visual_bell.color` configuration setting. This is done by rendering a big quad over the entire screen, which also opens up options to draw other arbitrary rectangles on the screen in the future.
2018-11-19Add option for launching Alacritty maximizedJonathan Dahan
2018-11-19Add keybinding action for clearing warns/errorsChristian Duerr
Since running `clear` inside of tmux doesn't actually clear any part of the screen, but just resets the scrolling region, the warning and error notices can't be removed without quitting tmux or Alacritty. As a solution, a new action `ClearLogNotice` has been added which has been bound to Ctrl+L by default. As a result, Ctrl+L can be used inside of tmux to remove the messages, even though tmux doesn't clear the screen. This fixes #1811.
2018-11-18Remove `scale_with_dpi` setting from configChristian Duerr
Since the `scale_with_dpi` setting has been deprecated, but it hasn't been removed from the config, Alacritty would print an error every time it is started. To resolve this problem, the option is removed from the default configuration file.
2018-11-17Display errors and warningsChristian Duerr
To make sure that all error and information reporting to the user is unified, all instances of `print!`, `eprint!`, `println!` and `eprintln!` have been removed and replaced by logging. When `RUST_LOG` is not specified, the default Alacritty logger now also prints to both the stderr and a log file. The log file is only created when a message is written to it and its name is printed to stdout the first time it is used. Whenever a warning or an error has been written to the log file/stderr, a message is now displayed in Alacritty which points to the log file where the full error is documented. The message is cleared whenever the screen is cleared using either the `clear` command or the `Ctrl+L` key binding. To make sure that log files created by root don't prevent normal users from interacting with them, the Alacritty log file is `/tmp/Alacritty-$PID.log`. Since it's still possible that the log file can't be created, the UI error/warning message now informs the user if the message was only written to stderr. The reason why it couldn't be created is then printed to stderr. To make sure the deletion of the log file at runtime doesn't create any issues, the file is re-created if a write is attempted without the file being present. To help with debugging Alacritty issues, a timestamp and the error level are printed in all log messages. All log messages now follow this format: [YYYY-MM-DD HH:MM] [LEVEL] Message Since it's not unusual to spawn a lot of different terminal emulators without restarting, Alacritty can create a ton of different log files. To combat this problem, logfiles are removed by default after Alacritty has been closed. If the user wants to persist the log of a single session, the `--persistent_logging` option can be used. For persisting all log files, the `persistent_logging` option can be set in the configuration file
2018-11-15Add option for dynamic padding (#1780)Christian Duerr
This adds the `window.dynamic_padding` option which allows disabling the dynamic spread of additional padding around the grid's content. Based on the feedback I've gotten so far and the fact that most other terminal emulators do not seem to center the content inside themselves, I've changed the default configuration option to disable centering of the grid. This fixes #1778.
2018-11-12Fix incorrect padding calculationsChristian Duerr
The extra window padding was calculated in the renderer which lead to problems with the paddings calculated in the `src/display.rs` and `src/term/mod.rs`. As a solution, every instance of `config.padding().x/y` has been removed from the renderer (`src/renderer/mod.rs`), instead the padding is always passed through from the `src/display.rs`. The initial calculations during display creation and after resize then are scaled appropriately and then the extra padding is calculated. As a result every other location can just make use of the correctly calculated `size_info.padding_x` and `size_info.padding_y`. The documentation has been changed to clearly state that the padding is scaled by DPI now. This fixes #1773.
2018-11-01Rework cursor configurationChristian Duerr
There are a couple of cursor-related options in the Alacritty config file now, however they aren't grouped together in any way. To resolve this a new `cursor` field has been added where all cursor configuration options (besides colors) have been moved. The `custom_cursor_colors` option has also been removed, since it's not necessary anymore. Simply making the `colors.cursor.*` fields optional, allows overriding the cursor colors whenever one of them is present. Like that the user doesn't have to think about a relation between two separate configuration options. This PR initially put the `hide_cursor_when_typing` variable under `cursor.hide_when_typing`. However this field is completely unrelated to the cursor, but instead relates to the mouse cursor. Since the word `cursor` is already used for the active cell in the grid of a terminal emulator, all occurences of the word `cursor` when talking about the mouse have been replaced with the word `mouse`. The configuration option has also been moved to `mouse.hide_when_typing`, to make it clear what this option is changing. This fixes #1080.
2018-10-30Update Windows configuration fileChristian Duerr
The Windows configuration file was outdated compared to the other configuration files, since there were some major changes to the config during the development of the Windows PR. All changes between the Linux and Windows configuration file have been removed, preserving platform-specific configuration defaults that were intentionally changed. Some minor changes have also been made to the Linux and macOS configuration files, since there were some inconsistencies left. This fixes #1692.
2018-10-30Revert "Update Windows configuration file"Zac Pullar-Strecker
This reverts commit a9e03f1ae0b79353b78ac9e2e6503b42b12c7fb2.
2018-10-29Update Windows configuration fileChristian Duerr
The Windows configuration file was outdated compared to the other configuration files, since there were some major changes to the config during the development of the Windows PR. All changes between the Linux and Windows configuration file have been removed, preserving platform-specific configuration defaults that were intentionally changed. Some minor changes have also been made to the Linux and macOS configuration files, since there were some inconsistencies left. This fixes #1692.
2018-10-22Add option to open URLs on clickChristian Duerr
This adds the option to automatically launch URLs with a specified program when clicking on them. The config option `mouse.url_launcher` has been added to specify which program should be used to open the URL. The URL is always passed as the last parameter to the specified command. It is not always desired for URLs to open automatically when clicking on them. To resolve this a new `modifiers` field has been introduced to the config, which allows specifying which keyboard modifiers need to be held down to launch URLs in the specified launcher. Some tests have been added to make sure that the edge-cases of the URL parsing are protected against future regressions. To make testing easier the parsing method has been moved into the `SemanticSearch` trait. The name of the trait has also been changed to just `Search` and it has been moved to `src/term/mod.rs` to fit the additional functionality. This fixes #113.
2018-10-16Allow the usage of scancodes in the configChristian Duerr
This change should allow the usage of scancodes in the configuration file. When a VirtualKeyCode for glutin is not present, this should now allow the user to use the scancodes instead. If the user specifiecs a key with its scancode even though the key has a VirtualKeyCode, it should still work. The behavior of directly specifying a VirtualKeyCode should be unchanged by this. This fixes #1265.
2018-10-07Fix invalid default configChristian Duerr
Serde has problems deserializing yaml files which contain sections without any values. Since the `TERM` setting has been removed recently, the `env` section was completely empty leading to deserialization errors. To resolve this the `env` section has been commented-out by default, if the user wants to set a variable, it is now necessary to uncomment that section. Some minor tweaks have also been made to the existing `TERM` comments, to clearly indicate these are value examples instead of comments.
2018-10-03Add additional documentation to "background_opacity" optionTobias Sette
2018-09-24Add standalone terminfo definitionDaniel Eklöf
This replaces the current definitions, which depend on the system's 'xterm-256color' terminfo definition with the `alacritty` and `alacritty-direct` definitions. The new definitions are completely standalone. The default `TERM` value has been changed to be dynamically set based on the definitions installed on the system. Alacritty will try to use the `alacritty` definition first and fall back to `xterm-256color` if the `alacritty` definition is not present.
2018-09-24Allow copying selection to primary clipboardGris Ge
A new configuration option `save_to_clipboard` has been added to the `selection` section of the configuration. This allows writing every selection to the primary system clipboard when it is set to `true`. On linux the selection is still written to the selection clipboard, independent of the value of the `save_to_clipboard` setting.
2018-09-23 Implement config option for term colors 16..256Christian Duerr
This adds a config option which allows setting terminal colors above the 0..16 range. Live config reload already works for this, so it is possible to change these colors the same way it works with the normal colors. If a color below 16 is specified, the configuration will throw an error, so the normal colors can't be overridden. This is just to prevent possible complications with the settings that already exist.
2018-09-22Unify configuration file structureChristian Duerr
This changes a lot of small details in the configuration file in an attempt to unify its structure. These are some main guidelines used for this refactoring: - Specify that changes require restart consistently - Unify the specification of available field values - Provide clear distinction between description title and body Besides these guidelines used to unify minor details in the configuration file, the section on key configuration has been completely reworked in an attempt to reduce the amount of text used. This should make it possible to understand what's going on without having to read any text. The notice that modifiers are not supported has been removed from the mouse binding documentation.
2018-09-20Improve window.decorations options: (#1241)Joe Moon
The decorations config was changed from a bool to an enum. `full` has taken the place of `true`, and `none`, has replaced `false`. On macOS, there are now options for `transparent` and `buttonless`. These options are explained in both the CHANGELOG and in the configuration files.
2018-09-18Mention required terminfo update when changing tabspacesDaniel Eklöf
Changing tabspaces from the default (8) requires a corresponding update to the `it` item in the terminfo entry used. Some applications, like Emacs, rely on knowing the width of a tab, and will experience unexpected behavior if the terminfo data does not match the actual width used.