aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src
Commit message (Collapse)AuthorAge
...
* Fix movement within search matchesChristian Duerr2020-07-14
| | | | | | | | | | | | | | | | | 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.
* Remove gui dependencies from alacritty_terminalKirill Chibisov2020-07-11
| | | | | | | | This commit removes font dependency from alacritty_terminal, so it'll simplify the usage of alacritty_terminal as a library, since you won't link to system's libraries anymore. It also moves many alacritty related config options from it. Fixes #3393.
* Remove alacritty.yml mentions from font crate errorsKirill Chibisov2020-07-11
|
* Fix crash when configured font is missingChristian Duerr2020-07-11
| | | Fixes #3942.
* Add readline bindings to searchChristian Duerr2020-07-10
| | | Fixes #3938.
* Add option to run command on bell Kirill Chibisov2020-07-10
| | | Fixes #1528.
* Add regex scrollback buffer searchChristian Duerr2020-07-09
| | | | | | | | | | 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.
* Update --help for class option to match manpageJeff Windsor2020-07-04
|
* Fix live right-click expansionChristian Duerr2020-06-24
| | | | | | | | While the commit 43c0ad6ea9d2467ccf867a310c4f1e30f5b627c6 introduced right click as a way to expand the active selection, it did not allow for holding right click to continuously do so. This commit remedies that problem by allowing live expansion with while holding the right mouse button.
* Add selection expansionChristian Duerr2020-06-23
| | | | | | | This allows for expanding the selection using the right mouse button. The new selection type depends on the number of clicks and applies to both sides of the selection. Fixes #1554.
* Add automatic scrolling during selectionChristian Duerr2020-06-18
| | | | | | | | | | | | | This adds a new `Scheduler` which allows for staging events to be processed at a later time. If there is a selection active and the mouse is above or below the window, the viewport will now scroll torwards the direction of the mouse. The amount of lines scrolled depends on the distance of the mouse to the boundaries used for selection scrolling. To make it possible to scroll while in fullscreen, the selection scrolling area includes the padding of the window and is at least 5 pixels high in case there is not enough padding present.
* Rework default config binding replacementKirill Chibisov2020-06-15
| | | | | | | | | | | | | | | | | | | This reworks the criteria necessary for default bindings to be overwritten by custom user bindings. It should provide a better heuristic which accounts for the possibility that notmodes are added which prevent a conflict between the bindings, so the default isn't unnecessarily removed. It is still possible to define a new binding that intersects a default binding without the default getting removed, if the user explicitly specifies a mode that doesn't include the default binding's mode. This is based on the assumption that users explicitly specifying a new mode are trying to make a mode-specific addition and are capable of removing the default when desired. This helps with old modes still being present in user's config files, since a lot of new config options just have the additional ~Vi mode set. Fixes #3476.
* Cleanup window.rs importsChristian Duerr2020-06-08
| | | | | | | | | | | | | | | | The window.rs imports have been extremely messy due to heavy platform-specific import usage. While some of them are just stray imports for a single platform, a lot of these are specific to Linux/BSD. To make these a little easier to read and maintain, the Linux/BSD specific imports were grouped together, since this allows us to just have a single platform annotation. Most of our imports follow the order of how relevant and foreign these imports are to Alacritty, putting our own frequently used imports at the far bottom and STD with things people usually don't need to care about at the top. Since platform specific imports are generally important to fewer people, I've decided to put them before all the other imports rather than behind them.
* Remove copypasta dependency from alacritty_terminalKirill Chibisov2020-06-07
|
* Remove copyright notice from filesChristian Duerr2020-06-06
| | | | | | | | | | | | | | Keeping the license as part of every file bloats up the files unnecessarily and introduces an additional overhead to the creation of new modules. Since cargo already provides excellent dependency management, most of the code-reuse of Alacritty should occur through Rust's dependency management instead of copying it source. If code is copied partially, copying the license from the main license file should be just as easy as copying from the top of the file and making some adjustments based on where it is used is likely necessary anyways.
* Refactor Shell, Command, and Launcher to share implKirill Chibisov2020-06-05
|
* Add whitespace after dropped file pathsFernando2020-06-03
| | | Fixes #3767.
* Refactor Term/Grid separationChristian Duerr2020-05-30
| | | | | | | | | | | This commit aims to clear up the separation between Term and Grid to make way for implementing search. The `cursor` and `cursor_save` have been moved to the grid, since they're always bound to their specific grid and this makes updating easier. Since the selection is independent of the active grid, it has been moved to the `Term`.
* Remove env_logger depedencyChristian Duerr2020-05-29
| | | | | The env logger has been broken for over a year and is not used by anyone as far as I know. This removes this option entirely in favor of Alacritty's built-in logger level selection flags.
* Fix build warnings on macOS/WindowsKirill Chibisov2020-05-27
|
* Add subpixel anti-aliasing support on macOS 10.14+Casper Rogild Storm2020-05-17
|
* Fix vi ScrollToBottom motionChristian Duerr2020-05-16
| | | | | This resolves an issue with the ScrollToBottom motion in vi mode where it would jump between the first unoccupied cell across wrapped lines and the first unoccupied cell in the current line.
* Fix emojis being blended with backgroundlbonn2020-05-12
| | | Fixes #1864.
* Treat Shift + Backspace as BackspaceAlexey Chernyshov2020-05-07
|
* Don't hide cursor on modifier pressDavid Herberth2020-05-06
| | | Fixes #2761.
* Extend style guideline documentationChristian Duerr2020-05-05
|
* Use frame callbacks instead of vsync on WaylandKirill Chibisov2020-05-03
| | | | | | | | | Instead of blocking on vsync, Alacritty now requests a notification from wayland about when the next frame should be rendered. this helps with input latency, since it gives alacritty more time to process events before a redraw. it also prevents alacritty from drawing unless the compositor tells it to do so. Fixes #2851.
* Use numbers instead of strings for additional mouse bindingsDavid Herberth2020-05-02
| | | Fixes: #2861.
* Call glFinish right after swap_buffers on X11Kirill Chibisov2020-05-01
| | | | | | | | | | On X11 `swap_buffers` does not block for vsync. However the next OpenGl command will block to synchronize (this is `glClear` in Alacritty), which causes a permanent one frame delay. Calling `glFinish` after swapping buffers forces Alacritty to finish the buffer swap before returning control to the event loop. Fixes #3061.
* Fix clippy warningsMatthias Krüger2020-05-01
|
* Use embedded resource for window iconDavid Hewitt2020-04-25
|
* Update depedenciesBastien Orivel2020-04-18
|
* Add config option to set cursor thicknessKirill Chibisov2020-04-15
| | | Fixes #3526.
* Log critical errors with error! instead of println!Kirill Chibisov2020-04-12
|
* Fix various mouse mode + vi mode interactionsKirill Chibisov2020-04-10
| | | | | | | | | This commit fixes some issues introduced by 1a8cd172e520e493bacc9c6a2ae6f80de086eaa3: 1. Vi cursor not moving properly on double/triple click 2. URL not launching via mouse click in vi mode + mouse mode 3. Ability to select in mouse mode with double/triple click regardless of shift modifier
* Use config colors to theme Wayland decorationsKirill Chibisov2020-04-09
| | | Fixes #2092.
* Add CopyPrimary keybinding action on Linux/BSDKirill Chibisov2020-03-23
|
* Remove right click deselectionStefan Devai2020-03-19
| | | Fixes #3144.
* Fix scrolling with selection outside of vimodeChristian Duerr2020-03-19
|
* Add modal keyboard motion modeChristian Duerr2020-03-18
| | | | | | | | | | | | | | | | | | | This implements a basic mode for navigating inside of Alacritty's history with keyboard bindings. They're bound by default to vi's motion shortcuts but are fully customizable. Since this relies on key bindings only single key bindings are currently supported (so no `ge`, or repetition). Other than navigating the history and moving the viewport, this mode should enable making use of all available selection modes to copy content to the clipboard and launch URLs below the cursor. This also changes the rendering of the block cursor at the side of selections, since previously it could be inverted to be completely invisible. Since that would have caused some troubles with this keyboard selection mode, the block cursor now is no longer inverted when it is at the edges of a selection. Fixes #262.
* Add default keybinding for SpawnNewInstance on macOSNathan Lilienthal2020-03-17
|
* Remove std::fs::read_to_string reimplementationMatthias Krüger2020-03-17
|
* Fix live config reload for window titleChristian Duerr2020-03-14
| | | | | | | | | | | | | This enables live config reload for the window title. This includes updating the title after it has been pushed and popped from the title stack. The dynamic title option also isn't disabled automatically anymore when the title is set in the config. If the title is set from CLI, the behavior is unchanged and dynamic title changes are still disabled. If the dynamic title is disabled in the config, the title is still updated when the config title is changed. Dynamic title now only prevents changes to the UI's title.
* Run clippy on oldest supported versionChristian Duerr2020-03-12
| | | | | Since there were some problems with clippy suggesting changes that were not yet available in the oldest supported Rust compiler of Alacritty, the clippy stage has been moved from stable to 1.37.0.
* Update to glutin 0.24.0Christian Duerr2020-03-12
| | | | | | | | Fixes #3266. Fixes #3248. Fixes #3188. Fixes #3177. Fixes #2445. Fixes #1574.
* Fix selection with invisible start and endChristian Duerr2020-03-07
| | | | | This resolves an issue with the selection clamping, where no selection would be rendered at all when the start was above the viewport while the end was below it.
* Fix ignoring of slow touchpad scrollingTimo2020-03-02
| | | Fixes #3377.
* Remove `tabspaces` config optionChristian Duerr2020-03-01
| | | | | | | This completely removes the tabspaces option from the Alacritty configuration, due to frequent misuse of it. Based on some research, none of the terminal emulators support setting the value for tabspaces or read the terminfo to determine init_tabs value at startup. The tested terminal emulators were URxvt, XTerm, and Termite.
* Remove unnecessary macos focus checkChristian Duerr2020-02-27
| | | | Since winit now filters out clicks on unfocused windows on macOS anyways, we don't need to implement this logic ourselves anymore.
* Add seconds and nanoseconds to log outputChristian Duerr2020-02-14
|