aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/display
Commit message (Collapse)AuthorAge
* Re-implement crosshairs on newer alacritty.Josh Rahm2025-11-12
| | | | The config values are hardcoded atm.
* Merge remote-tracking branch 'vendor/master' into graphicsAyose2025-11-04
|\
| * Ignore touch gestures for enabling IMEChristian Duerr2025-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously whenever the user would use touch gestures to make selections or scroll the terminal, IME would automatically be enabled due to the focus change and reduce the terminal height. This isn't ideal when the goal is just scanning through the terminal history without making any input. This patch keeps track of pointer and touch focus and only enables IME when either the pointer is within the window or a tap touch sequence was performed to give the window 'touch focus'. The initial touch tap sequence used to enable IME is still forwarded to the terminal as a simulated click event, since otherwise touch devices without virtual keyboard would be forced into a confusing additional tap to make it work. This means that virtual keyboard users will not be able to open the virtual keyboard without creating a click event, which should still be preferable to the status quo.
| * Bump dependenciesChristian Duerr2025-10-08
| | | | | | | | This performs all non-breaking dependency updates, which includes unicode-width 0.2.2 for Unicode 17 support.
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2025-09-07
|\|
| * Fix hint highlighting when hovering with hidden mouseskewb1k2025-09-01
| | | | | | | | | | | | | | | | When the mouse cursor was hidden with `hide_when_typing` enabled, hints could still be highlighted under the hidden cursor. This typically occurred when a hint moved underneath the stationary, hidden cursor. This fix ensures hints are not highlighted by the mouse cursor while it's hidden.
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2025-07-23
|\|
| * Migrate to 2024 editionChristian Duerr2025-07-13
| |
| * Remove cstr! macro in favor of literal notationKirill Chibisov2025-07-01
| | | | | | | | | | Also apply clippy changes while at it. Closes #8002.
| * Add IPC config retrieval subcommandChristian Duerr2025-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new `alacritty msg get-config` subcommand which can retrieve the current config from any Alacritty window using the IPC socket. The command will always print the full configuration file in JSON, without the ability to filter which values are returned, leaning on tools like `jq` instead of adding this complexity to Alacritty. Contrary to deserialization, this relies heavily on the default serialization implementations to reduce the necessary changes. Key and Mouse bindings are omitted entirely since their structure is very complex and they tend to just bloat the message size without having an obvious usecase.
| * Bump all dependenciesKirill Chibisov2025-05-28
| |
| * Fix clippy warningsKirill Chibisov2025-05-28
| |
| * Clamp offscreen damageKirill Chibisov2025-03-23
| | | | | | | | This could happen if the terminal is very small and cell is not entirely visible, thus having bounds outside the terminal width/height.
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2025-02-24
|\|
| * 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.
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2024-12-26
|\|
| * 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.
* | Merge remote-tracking branch 'vendor/v0.14' into graphicsAyose2024-10-24
|\ \
| * | 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.
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2024-10-13
|\|
| * 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
| |
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2024-07-29
|\|
| * 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
| |
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2024-05-15
|\|
| * 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.
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2024-02-11
|\|
| * 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.