aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Prevent negative cell dimensions (#1181)Christian Duerr2018-03-12
| | | | | | | | | | | | | | | | | | | | Prevent the cell dimensions from going below 1, this bug resulted in allocation of large amounts of memory in the scrollback PR but is also present on master. Currently the approach is to just `panic!`, however an `eprintln!` and `exit` could be an alternative too. I don't think it's realistic to check this at startup and it should have no performance impact since the failing method is only called once at startup. To make it a bit more clear what kind of values are accepted, the datatypes of offsets and paddings have also been changed so that these don't accept floats anymore and padding can never be negative. This should allow us to be a bit more strict with the config to make sure that errors are printed when invalid values are specified (like negative padding). This fixes #1167.
* Add completion install instructions for FishJesse Cooke2018-03-12
|
* Added -d & -e to fish completionsJesse Cooke2018-03-12
|
* Add fish shell completionsJesse Cooke2018-03-12
|
* Add centos missing dependencyashwinath2018-03-09
|
* Add caret keyMichael Schumacher2018-03-09
|
* Fix benchmarksChristian Duerr2018-03-09
|
* Add shell completions and manpageChristian Duerr2018-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add manpage Adds a basic manpage that was autogenerated with `help2man` and then slightly adjusted with information from the README.md and better formatting. * Add zsh completions Add completions for the zsh shell. These should be complete and even allow completion of the command inside `--command` and `-e`. * Add bash completions The bash completions are almost on the same level as the zsh completions. The only little thing the bash completions do not do is complete inside of `--command` and `-e`, instead bash just stops completion after these options. * Update readme with manpage and completions Added the install instructions for the manpage and completions to the README.md. Also tweaked the current readme a slight bit because the build section was structured in a slightly confusing way.
* Remove all instances of unwrap() from configChristian Duerr2018-03-04
| | | | | | | | | | | | | | | | | | Unwrapping inside the config file parsing can lead to some issues that prevent us from falling back to a default configuration file. One instance of that issue was mentioned in #1135. Now all instances of `unwrap()` have been removed and replaced with proper error handling. This will make the config more robust and prevents live reload from silently breaking while alacritty is running. This also fixes a few currently existing clippy issues. Clippy added an additonal lint which complains about `MyStruct { field: field }`. These issues have been fixed, except for some false-positives and issues in external macros which will probably be fixed with future updates (rust-lang-nursery/bitflags#149)
* Update arraydeque dependencyAndy Lok2018-02-28
|
* Upgrade dependenciesSam Rijs2018-02-28
| | | | | | | Upgrading glutin to the latest version allows building alacritty even with old XRandr versions. This is relevant for Debian machines (and other ancient systems).
* Fix heading for NixOS/NixpkgsMindTooth2018-02-27
| | | The level of heading were one to high.
* Add install instructions via cargo --gitOliver Jan Krylow2018-02-13
|
* Add info about default configuration for macOSSaugat Acharya2018-02-13
|
* `starting` not `staring` (#1074)Steven Noble2018-02-11
|
* fix fallbacks in macos (#1099)Joe Moon2018-02-07
| | | fixes #1086
* Update core-text (#1061)Jeff Muizelaar2018-01-31
| | | This cleans up a bunch of code.
* Update lockfileChristian Duerr2018-01-30
| | | | Updated the lockfile to make sure clippy is building properly with the latest nightly toolchain.
* Update dependenciesgolem1312018-01-26
| | | | | | Updated the version of some dependencies. This also changes to a new clippy version so clippy can work with the latest nightly compiler again. Some issues created by new lints have been fixed.
* Better character cell width with FreeType (#1029)Rachel K2018-01-21
| | | This should fix #1020, #710, and #902
* Implement `reset_state` of Term struct (#1035)Christian Duerr2018-01-18
| | | | | | | | | | | | | | | | | | Up to this point the `reset_state` method of the `Term` struct has been just a placeholder. This has been changed and all important state has been reset. The only state that has not been reset is stuff which is retrieved from the config and isn't stored as default on the `Term` struct either. From what I can tell these are all never changed though. This fixes jwilm/alacritty#1033. After doing some more testing trying to figure out how to fix that all glyphs are messed up after doing `cat /dev/urandom`, I was able to confirm that resetting `Term::cursor` fixes the glyphs and restores everything to normal. So this also fixes jwilm/alacritty#804.
* Update lockfile (#1031)Christian Duerr2018-01-16
| | | The lockfile has been updated to make clippy work with nightly again.
* Spawn alacritty window as invisibleChristian Duerr2018-01-15
| | | | | | | | | | | This change initially spawns alacritty as in invisible window, this makes it possible for the pty to already access data like `window_id` without having to wait for the window manager to actually open the window. Even though `GlWindow::new` is blocking when `with_visibility(true)` is used, the `window.show` call is not blocking. So calling `GlWindow::new` and `with_visibility(false)`, then immediately calling `window.show` will create a window and make it visible instantly.
* Update lockfileChristian Duerr2018-01-11
| | | | | Clippy failed to build with the latest nightly, so the lockfile has been updated to allow the nightly builds to work again.
* Expand key binding config documentationChristian Duerr2018-01-10
| | | | | | A link to all variants available as `key` has been added to the key bindings documentation, to help users with finding the right place for mapping key codes.
* Make Mac app installation steps idempotent (#1015)Paul Alvarez2018-01-10
| | | | | Repeated uses of `cp -r target/release/osx/Alacritty.app /Applications/Alacritty.app` will result in copying Alacritty.app to `/Applications/Alacritty.app/Alacritty.app`.
* Fix `ioctl` call failing on 32 bit architecture (#1011)Christian Duerr2018-01-08
|
* Fix indexed color setting regressionNiklas Claesson2018-01-08
| | | | | Commit 2920cbe7103f03a45080bfb7610bd7f481f36361 introduced a regression because of a typo in the chunk slice index for the `parse_rgb_color` call. This fixes this issue by resetting it to the state it was before the faulty commit.
* Revert #987 behavior on macos (#1007)Christian Duerr2018-01-07
|
* Non-bracketed paste support for DOS CRLFs.Giorgio Gallo2018-01-07
| | | | | | When pasting in non-bracketed more, all line endings (including DOS-style CRLFs) get normalized to a single CR to simulate a keypress of the <return> key.
* Resolves #733.Giorgio Gallo2018-01-07
| | | | When pasting in non-bracketed mode, LFs are replaced with CRs.
* Honour working dir on linux (#987)Christian Duerr2018-01-06
|
* Fix SGR mouse reportingJoe Wilm2018-01-06
| | | | | | | | | | | | | There were two bugs fixed in this commit: 1. `sgr_mouse_report` was not always called when `SGR_MOUSE` bit was set due to calling `normal_mouse_report` instead of `mouse_report` in the scrolling method. 2. SGR reporting was always going off the left mouse button state rather than what was appropriate. This affected SGR scroll reporting since it only behaves correctly for pressed events (final character 'M'). Resolves #698.
* Add clippy check to travisChristian Duerr2018-01-06
| | | | This commit adds clippy as a required step of the build process. To make this possible, all existing clippy issues have been resolved.
* Improve ability of alacritty to deal with broken configChristian Duerr2018-01-06
| | | | | | | | | | | | | Until now alacritty completely refuses to start when the config is broken in any way. This behavior has been changed so the worst-case is always that alacritty launches with the default configuration. When part of the config is broken, alacritty shouldn't instantly try to recover to the default config, but instead try to use defaults only for the parts of the config which are broken. This has also been implemented for most of the fields in the configuration. So it should be possible that parts are broken, but the rest is still used for the configuration. This fixes #954.
* Prevent font_size_modifier from sinking too low (#994)Christian Duerr2018-01-05
| | | | | | | | | This replaces the `font_size_modifier` stored on the `Term` struct with a `font_size` field. With this change it is not necessary anymore to calculate the new font size from a delta but the current font size is always stored directly on the `Term` struct. As a result of this it is now possible to increase the font size by more than 127 steps at runtime. It also limits the minimum font size to 1, so issues with the `font_size_modifier` dropping far below font size 1 are resolved with this change. This fixes #955.
* Pass ModifiersState to mouse_moved method tooChristian Duerr2018-01-03
|
* Pass ModifiersState to mouse input as wholeChristian Duerr2018-01-03
| | | | | | ModifiersState is now passed to the mouse methods in `input.rs` as a whole instead of just passing the `shift` state. This should make it a bit easier to do changes in the future.
* Always clear selectionChristian Duerr2018-01-03
| | | | | | | | It seems like the common consensus is that even in mouse mode, the selection should be cleared with a normal click. If there is any reason why this should not be the case, please let me know.
* Use default modifier stateChristian Duerr2018-01-03
| | | | | | The tests were using a manually setup `ModifiersState`, to clean things up a bit the `ModifiersState::default` method has been used to replace this.
* Fix failed testsChristian Duerr2018-01-03
| | | | | Three was still a test which passed the whole modifiers struct instead of just the shift bool, this has been fixed.
* Update mouse modifiers to only pass shiftChristian Duerr2018-01-03
| | | | | | The only mouse modifier required right now is the shift key, to prevent passing around unnecessary state, only the shift state is passed to the mouse processors now.
* Enable shift+select in mouse modeChristian Dürr2018-01-03
| | | | | | | | | | | When an application takes control over the mouse, it usually disables selection completely. However the common way to still make selection possible is by allowing selection while the shift key is held down. This feature is implemented here by making use of the new `modifiers` field on mouse events with glutin/winit. This fixes jwilm/alacritty#146.
* Add support for set-clipboard. (#970)Geert Jansen2018-01-02
| | | This allows e.g. tmux to set the clipboard via the OSC 52 escape code.
* Address feedbackChristian Duerr2018-01-02
| | | | | | | | | The config documentation has been changed to make it clear which part of the documentation is related to which setting. The faux scrollback part of the `scroll_terminal` method has been cleaned up by making use of the fact that the `codepoint + 1` can be used in the escape sequence which is used for scrolling.
* Allow faux scroll amount configurationChristian Dürr2018-01-02
| | | | | It is now possible to configure the amount of lines scrolled with faux scrollback.
* Add config option for faux scrollbackChristian Dürr2018-01-02
| | | | | | | | | | | | | Some people have complained about the behavior of faux scrollback inside of vim/tmux, however from what I can tell, alacritty behaves the same way as other terminal emulators that support faux scrollback. However there are a lot of terminal emulators that do not support faux scrollback at all, which leads to people complaining about unusual scroll behavior. This is my proposal on how to solve this issue, by giving people that do not like the VTE-Style faux scrolling the option to opt-out.
* Fix zombie children (#976)Joe Wilm2017-12-29
| | | Resolves #973
* Refactor populate cursor, fix-wide-cursor (#762)Oliver Uvman2017-12-24
| | | Cleanup cursor handling code and support wide cursors
* Change mouse cursor on terminal mode change (#865)Dustin2017-12-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some terminals have functionality around changing the type of mouse cursor dynamically (arrow and text) based on which mode(s) the VTE is in. For example, gnome-terminal changes the cursor from text (default) to an arrow when opening programs that track mouse events (e.g. vim, emacs, tmux, htop, etc.). The programs all allow using the mouse interactively under some circumstances (like executing `set mouse=a` in vim). The programs that use an interactive mouse set the terminal mode to different values. Though they're not entirely the same terminal mode across programs, an emulator like vte (the library gnome-terminal implements), changes the mouse cursor if the mouse mode is one of the following: - 1000: Mouse Click Tracking - 1001: Mouse Highlight Tracking - 1002: Mouse Cell Motion Tracking - 1003: Mouse All Motion Tracking - 1004: Mouse Focus Tracking See https://github.com/GNOME/vte/blob/6acfa59dfcceef65c1f7e3570db37ab245f049c4/src/vteseq.cc#L708 for more information. This commit adds functionality that changes the winit/glutin `MouseCursor` when a mouse-listening mode of 1000-1004 is set. It behaves similarly to when the window title changes.