aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/display
Commit message (Collapse)AuthorAge
* Re-implement crosshairs on newer alacritty.Josh Rahm2025-02-05
| | | | The config values are hardcoded atm.
* Add option to drain PTY on shutdownAndrew Borg (Kashin)2025-01-16
| | | | | This patch removes the `hold` option on `alacritty_terminal` in favor of a `drain_on_exit` option, which will drain the PTY before shutdown. The hold logic is instead handled in `alacritty`.
* Bump glutin to 0.32.2Kirill Chibisov2025-01-12
| | | This cleans up context managing.
* Try to recover from GPU resetsKirill Chibisov2025-01-11
| | | | | Use context robustness to get notified about GPU resets and try to recover from them by rebuilding the rendering pipeline.
* Fix crash during live output searchKirill Chibisov2025-01-09
| | | | | | | | Sometimes points could end up outside of viewport, thus the screen will need to be invalidated. The default unwrapping does handle both cases. Fixes: a1ed79bd2c01 (Fix highlight invalidation on grid scroll)
* Pass activation token in alacritty msg create-windowKirill Chibisov2025-01-04
| | | | Fixes #8337.
* Remove unnecessary staticsIntegral2024-12-09
|
* Add `window.level` config optionDavid Horner2024-11-23
|
* Switch to new objc2 cratesMads Marquart2024-11-21
|
* Fix racing condition in hint triggeringChristian Duerr2024-11-02
| | | | | | | | | | | This fixes an issue with hints where it was possible that the terminal content of highlighted hints changed between the highlighted hint update and the activation of the hint. This patch always validates the hint's text content against the hint itself to ensure that the content is still valid for the original hint which triggered the highlight. Closes #8277.
* Focus new windows on macOSChris2024-11-02
|
* Fix hint highlight invalidationChristian Duerr2024-10-29
| | | | | | | This fixes a couple issues with hint highlight invalidation, which would cause hints to lose their underline highlight despite the terminal itself not having changed since the highlight started. Closes #8270.
* Add IME support to inline searchChristian Duerr2024-10-15
| | | | | | | | | | | This changes the behavior of inline search from only accepting direct key inputs, to also accepting IME and paste. The additional characters are still being discarded, matching the existing behavior. This also fixes an issue where inline search wouldn't work for characters requiring modifiers, since the modifier press was interpreted as the search target instead. Closes #8208.
* Implement multi-char cursor highlightKirill Chibisov2024-10-15
| | | | | | | | Use `end` of the cursor to draw a `HollowBlock` from `start` to `end`. When cursor covers only a single character, use `Beam` cursor instead of `HollowBlock`. Fixes #8238. Fixes #7849.
* Fix highlight invalidation on grid scrollChristian Duerr2024-10-07
| | | | | | | | | | | | | | | This fixes an issue where hints highlighted by vi or mouse cursor would produce an underline on the incorrect line since the highlights only store the initial match boundaries without accounting for new content scrolling the terminal. To accurately invalidate the hint highlights, we use existing damage information of the current frame. The existing logic to damage hints for the next frame to account for removal has been changed, since the hints would otherwise be cleared immediately. Instead we now mark the terminal as fully damaged for the upcoming frame whenever the hints are cleared. Closes #7737.
* Move root config fields to `[general]` sectionChristian Duerr2024-10-02
| | | | | | | | | | | Some users struggle with TOML, since root options must always be at the top of the file, since they're otherwise associated with the last table. To avoid misunderstandings, all root-level fields have been removed. A new `general` section was added to allow housing configuration options that do not fit into any more specific groups. Closes #7906.
* Fix app icon in alt+tab view on WindowsNeil Stewart2024-09-30
|
* Unify string formattingHamir Mahal2024-07-24
|
* Bump dependenciesKirill Chibisov2024-07-17
| | | | Update winit and clap to latest versions.
* Bump glutin to 0.32.0Kirill Chibisov2024-06-08
|
* Bump winit to 0.30.0Kirill Chibisov2024-05-04
|
* Fix hint `Select` action for hyperlink escapeChristian Duerr2024-03-12
| | | | | | | | | | | | This fixes an issue where the `Select` action for hyperlink escape text would select the entire line, instead of selecting only the hyperlink itself. It also changes the way hyperlinks with the same ID are highlighted, removing the restriction of being on consecutive lines and instead highlighting all visible cells that correspond to the matching hyperlink. Closes #7766.
* Fix replacing optional fieldsChristian Duerr2024-01-02
| | | | | | | This fixes an issue with the default `SerdeReplace` implementation where it would never recurse through options but always replace the entire option with the new value. Closes #7518.
* Keep IME always enabled on X11Kirill Chibisov2023-12-22
| | | Fixes #7195.
* Fix message bar not damaged when the same sizeKirill Chibisov2023-12-08
| | | | | | The regression was added due to `y` coordinate in OpenGL differs to `y` inside the damage rectangles. Fixes: 40160c5d (Damage only terminal inside `alacritty_terminal`)
* Update to crossfont 0.6.0Kirill Chibisov2023-12-08
|
* Fix IME popup positioningKirill Chibisov2023-11-24
| | | | | | | | | | | | | | | | | | | When setting cursor area, the popup will be placed either above or below not obscuring the supplied region, however we were still offsetting line with `+1` putting the cursor at the bottom of the line, and given that area is from the top-left corner, the wrong area was marked for not being obscured. It was also discovered that some compositors, like GNOME, position IME in the bottom right corner of the supplied region, which is wrong, but it renders IME popup not very useful, since it's far away from the place it should be, thus try to not obscure just a few characters near the cursor. Given that X11 doesn't support area setting, it uses the old logic with offsetting. Co-developed-by: lilydjwg <lilydjwg@gmail.com> Signed-off-by: lilydjwg <lilydjwg@gmail.com>
* Damage entire window on font size changeKirill Chibisov2023-11-24
| | | | | | Font size could change without changing the cell dimensions, like becoming slightly higher/wider. Fixes: 40160c5d (Damage only terminal inside `alacritty_terminal`)
* Damage only terminal inside `alacritty_terminal`Kirill Chibisov2023-11-23
| | | | | | | | | | | | The damage tracking was including selection and vi_cursor which were rendering viewport related, however all the damage tracking inside the `alacritty_terminal` was _terminal viewport_ related, meaning that it should be affected by `display_offset`. Refactor the damage tracking so `alacritty_terminal` is only tracking actual terminal updates and properly applying display offset to them, while `alacritty` pulls this damage into its own UI damage state. Fixes #7111.
* Fix message bar damageKirill Chibisov2023-11-13
| | | Fixes #7224.
* Fix visual bell getting stuck on macOSKirill Chibisov2023-11-13
| | | Fixes #7325.
* Remove `alacritty_config` from alacritty_terminalKirill Chibisov2023-11-10
| | | | | There's no need to force alacritty's user configuration on other users of the crate, thus provide the options actually used by alacritty_terminal itself.
* Fix crash when leaving search after resizeChristian Duerr2023-11-03
| | | | | | | This fixes a crash which could occur when leaving search with a visible match after shrinking the terminal height to be lower than the original line the focused match was in. Closes #7054.
* Add `window.blur` config optionKirill Chibisov2023-10-29
| | | Fixes #972.
* Avoid maximizing window when creating new tabKyle Willmon2023-10-27
| | | | | | This patch ignores the startup mode when creating a new tab on macOS to avoid maximizing an existing window. Co-authored-by: Christian Duerr <contact@christianduerr.com>
* Fix typosPavel Roskin2023-10-25
|
* Update winit to 0.29.2 and copypasta to 0.10.0Kirill Chibisov2023-10-21
| | | | | | | | | Fixes #7236. Fixes #7201. Fixes #7146. Fixes #6848. Fixes #3601. Fixes #3108. Fixes #2453.
* Fix `window.decorations_theme_variant` reloadKirill Chibisov2023-10-15
| | | | | The live reload handling wasn't introduced when the option got added. Fixes #7295.
* Underline hint matches during selectionChristian Duerr2023-09-22
| | | | | | | | | | | This patch underlines the full regex hint match while the keyboard hint selection is in process. While it would be possible to color the entire match, this would only introduce unnecessary configuration options and be too noisy. The underline matches the mouse highlighting and has a less drastic visual impact. Closes #6178.
* Fix regex memory usageChristian Duerr2023-09-17
| | | | | | | | | | | | | | | | | | This fixes an issue where regexes with a large number of possible states would consume excessive memory, since the entire DFA was compiled ahead of time. To solve this, the DFA is now built at runtime using `regex-automata`'s hybrid DFA. There are however still some checks performed ahead of time, causing errors with obscenely large regexes (`[0-9A-Za-z]{999999999}`), which shouldn't cause any issues. A regex which is large, but not large enough to fail the NFA construction (like `[0-9A-Za-z]{999999}`) will cause a long search of the entire grid, but will complete and show the match. Closes #7097.
* Support startup notify on Wayland/X11Kirill Chibisov2023-09-04
| | | | | | | Activate a window to indicate that we want initial focus when the system uses startup notifications. Fixes #6931.
* Add bindings for macOS tabsKirill Chibisov2023-09-04
| | | | | This doesn't represnet the movement to add tabs on any other platform, unless winit could add a similar API for them.
* Update winit to 0.29.1-betaKirill Chibisov2023-09-04
| | | | | | | | Make use of new winit frame throttling mechanism used in RedrawRequested, which removes the need for having Wayland queue to ask for the frame callbacks. Fixes #7011.
* Update regex-automata to v0.3.6Christian Duerr2023-08-27
| | | This seems like a sensible first step before looking into #7097.
* Remove winit dependency from alacritty_configMax Brunsfeld2023-08-17
|
* Apply transparent background colors to "UI" cellsSonu Bardai2023-08-07
|
* Use ahash instead of fnv and regular hash functionKirill Chibisov2023-07-24
| | | | | | | | After evaluation of the ahash with the data alacritty uses it was discovered that it's 1.5-2x times faster when getting the already hashed values, which is the primary cases for alacritty's renderer. Given that ahash is generally faster, all the HashSet and HashMap's inside the alacritty were changed to use it as a hasher function.
* Remove unnecessary mutable referencesPavel Roskin2023-07-18
|
* Update to the new winit keyboard APIKirill Chibisov2023-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main highlight of this update is that alacritty will now use new keyboard API from the winit, which resolves a lot of issues around key bindings, such as ability to bind dead keys. It also fixes long standing issues with the virtual key code bindings and make bindings in general more predictable. It also makes our default Vi key bindings fully working. Given that alacritty was using `VirtualKey` directly in the bindings from the winit, and winit simply removed the enum, we've added internal conversions to minimize the fallout, but new way to specify the bindings should be more intuitive. Other part of this update fixes some forward compatibility bugs with the Wayland backend, given that wayland-rs 0.30 is fully forward compatible. The update also fixes weird Maximized startup issues on GNOME Wayland, however they were present on any sane compositor. Fixes #6842. Fixes #6455. Fixes #6184. Fixes #5684. Fixes #3574. Fixes #3460. Fixes #1336. Fixes #892. Fixes #458. Fixes #55.
* Add option to persist hints after selectionSonu Bardai2023-06-15
| | | Closes #6976.