aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | Merge pull request #7 from kumattau/graphics-gles2Ayose Cazorla2022-10-16
|\ \ | | | | | | Support GLES2 Renderer in sixel
| * | Support GLES2 Renderer in sixelkumattau2022-10-05
|/ /
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2022-08-04
|\|
| * Warn if only columns XOR lines is setSabu Siyad2022-08-02
| | | | | | Co-authored-by: Christian Duerr <contact@christianduerr.com>
| * Make grid mutably accessible to librariesMikayla Maki2022-07-29
| | | | | | Co-authored-by: Mikayla Maki <mikayla.c.maki@icloud.com>
| * Fix visible regex match on tall viewportsPeter DeLong2022-07-26
| | | | | | | | | | | | The end of the search window is currently calculated using the viewport start instead of the end. The observed behavior is that all hinting stops suddenly after line 101. This was introduced in #6139 when the code was refactored into this file from display/content.rs.
| * Fix clippy warningsChris Copeland2022-07-25
| |
| * Remove redundant dirty updatesKirill Chibisov2022-07-25
| | | | | | | | | | | | In some cases dirty was set without any ui update leading to extra redraws, this commit resolves this. Co-authored-by: Greg Depoire--Ferrer <greg@gregdf.com>
| * Fix inverted condition for cell's extra clearingKirill Chibisov2022-07-24
| | | | | | Fixes #6215.
| * Register Alacritty shells as tty sessions on macOSChris Copeland2022-07-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unless the `shell` config is specified, launch the user's shell with: ```sh login -flp $USER /bin/sh -c "exec -a -shell /path/to/shell" ``` On macOS, just running a shell prefixed by `-` is not sufficient to be registered as a login session for things like `w` and `logname`. However, using the `login` command changes the directory to `$HOME` before running the program by default, which is not desired. The `-l` flag disables this behavior, but also skips prepending `-` to the executed program, so shells will not run as login shells. Instead we just do this part ourselves with `exec -a`. The result is login shells that run in the intended directory and are registered as tty sessions. Fixes #3420.
| * Remove panics from UNIX PTY initializationMikayla Maki2022-07-20
| | | | | | Co-authored-by: Mikayla Maki <mikayla.c.maki@icloud.com>
| * Replace `map().unwrap_or()` with `map_or()`Chris Copeland2022-07-20
| | | | | | Use a `map_or` instead of a `map().unwrap_or()` chain.
| * Fix thin strokes on macOSChris Copeland2022-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on the `AppleFontSmoothing` user default. These changes let users get the "thin strokes" behavior by setting `AppleFontSmoothing` to 0 with: ```sh $ defaults write -g AppleFontSmoothing -int 0 ``` (Or replace `-g` with `org.alacritty` to apply this setting only to Alacritty.app, rather than the whole system.) Add a `removed` config attribute to show helpful warnings to users who are using config options that don't do anything anymore, and apply this attribute to `font.use_thin_strokes`. Bump `crossfont` to 0.5.0 to pick up the new font smoothing behavior. This release also includes a fix for a crash when trying to load a disabled font. Fixes #4616. Fixes #6108.
* | Initialize cell dimensions when create a Graphics instance.Ayose2022-07-15
| | | | | | | | | | This fixes a bug that crashes the terminal when a graphic is added before resizing the window.
* | Changes in sixel module to be compatible with oldstable.Ayose2022-07-15
| | | | | | | | | | - Reimplement abs_diff(). - Use positional arguments to format the error message in assert_color!().
* | Use hls_to_rgb implementation from libsixel.Ayose2022-07-15
| |
* | Fix clippy warnings.Ayose2022-07-14
| |
* | Merge branch 'master' into graphics-privateAyose2022-07-13
|\|
| * Fix hyperlinks not being keyboard actionableKirill Chibisov2022-07-11
| | | | | | | | | | | | This fixes a typo in 694a52b which was filtering all hyperlinks, except only duplicated ones when opening them with keyboard. Co-authored-by: Christian Duerr <contact@christianduerr.com>
| * Use org.alacritty instead of io.alacrittyKirill Chibisov2022-07-10
| | | | | | | | | | The common naming is reverse DNS, and given that alacritty is using alacritty.org it makes more sense to use org.alacritty instead of old io.alacritty.
* | Optimize graphics replacement.Ayose2022-07-13
| | | | | | | | | | | | | | | | | | | | | | A simple optimization for inserting graphics is to detect when a new graphic is replacing completely an existing one. If both graphics have the same size, and the new one is opaque, we can assume that the previous graphic will not be displayed anymore, so it is not considered when update the graphics list in a single cell. This commit also adds serde implementation for GraphicsCell. This was used to debug the new logic.
* | Allow overlapping graphics.Ayose2022-07-13
| | | | | | | | | | | | | | | | | | | | | | | | If a graphic is added over another one, the implementation now checks if new graphic has transparent pixels in every cell. If so, the graphic is appended to the cell, instead of replacing the previous one. SmallVec is used to prevent heap allocation when the cell only contains a single graphic. This should be the most common scenario. The GPU will store up to 100 textures. If another texture is added when there are 100, the oldest one is deleted.
* | Highlight graphics to show hints.Ayose2022-07-12
| | | | | | | | | | Similar to the underline line rendered when the cursor is over an hyperlink, for graphics we now render a border around the graphic.
* | Allow replacing part of a graphic with text.Ayose2022-07-12
| | | | | | | | | | | | | | | | | | When text is added to a cell with a reference to a graphic, an operation is sent to the OpenGL thread to replace a subregion of the cell with a transparent area. If the OpenGL driver supports the GL_ARB_clear_texture extension, the region is updated with glClearTexSubImage. If the extension is not available, the texture is updated with glTexSubImage2D.
* | Allow hue values up to 360 in the Sixel parser.Ayose2022-07-12
| |
* | Fill all cells under a graphic with the template.Ayose2022-07-12
| | | | | | | | | | | | | | | | With the template we can create hyperlinks attached to the graphic. To avoid reflow issues when a row is shrank, wrapped rows that only contain graphic cells are discarded. With this approach we loss some info, like the hyperlink, but the image is always properly positioned in the grid.
* | Merge with alacritty/masterAyose2022-07-12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The merge requires multiple changes in order to be compatible with the last version of Alacritty: - Textures are now always deleted on Drop. This is required because Alacritty now supports multiple windows in the same process, so we can't assume that all resources are freed when a single window is closed. This is the same approach used for the atlas textures. - The graphics feature is only compatible with OpenGL 3.3. Alacritty now supports GLES 2.2, but in order to provide a proper support for it we need a different approach, specific for that version. - Cell dimensions in pixels are re-added to the alacritty_terminal crate.
| * Add support for hyperlink escape sequenceKirill Chibisov2022-07-10
| | | | | | | | | | | | | | This commit adds support for hyperlink escape sequence `OSC 8 ; params ; URI ST`. The configuration option responsible for those is `hints.enabled.hyperlinks`. Fixes #922.
| * Fix error when opening in root dir on WindowsEthan Conneely2022-07-10
| |
| * Use DeviceId/WindowId::dummy in tests52252252022-07-09
| |
| * Add `cursor.blink_timeout` config optionKirill Chibisov2022-07-01
| | | | | | | | | | | | This option should prevent extensive power usage due to cursor blinking when there's no user activity being performed. Fixes #5992.
| * Fix resize on Wayland when creating new windowKirill Chibisov2022-06-29
| | | | | | | | | | | | | | When we have currently active context when asking EGL on Wayland to create new context it'll lock the backing buffer of surface using that context. So making it non-current before-hand to prevent it. Follow-up to 90552e3.
| * Add hexadecimal support to --embedSabu Siyad2022-06-28
| | | | | | Closes #6145.
| * Bump dirs to 4.0.0a5ob7r2022-06-20
| | | | | | This is to remove dependencies on multiple versions of dirs crate.
| * Bump copypasta to 0.8.1Christian Duerr2022-06-18
| | | | | | Fixes #6140.
| * Ignore special files for live config reloadKirill Chibisov2022-06-16
| | | | | | | | | | | | | | | | When using `--config-file /dev/null` with `live_config_reload`, each write to `/dev/null` was forcing alacritty to reload its configuration. This commit makes alacritty ignore special files for live config reload. Co-authored-by: Christian Duerr <contact@christianduerr.com>
| * Bump copypasta to 0.8.0Christian Duerr2022-06-16
| | | | | | This also applies all non-breaking semver updates.
| * Add value hints for clap file pathsChristian Duerr2022-06-16
| | | | | | | | This ensures that the generated completions properly suggest file paths for arguments which accept them.
| * Use `MaybeUninit<usize>` instead of `usize` in `Storage::swap`nils2022-06-15
| | | | | | | | `Row` contains pointer bytes, which are not valid for `usize`, therefore `MaybeUninit<usize>` should be used instead to do an untyped copy.
| * Update SGR escape sequence supportAlly Tiritoglu2022-06-10
| |
| * Add vi action to center view around vi cursorjeremycostanzo2022-06-10
| |
| * Fix flickering during resize on WaylandKirill Chibisov2022-06-09
| | | | | | | | | | This also fixes an issue of windows not being rendered while resizing. Fixes #6069.
| * Support dual source blending in GLES2 rendererVasily Khoruzhick2022-06-08
| | | | | | | | | | | | | | | | | | GLES2 has GL_EXT_blend_func_extended extension that enables dual-source blending, so essentially we can reuse fragment shader from GLSL3 renderer and do 1 rendering pass instead of 3 for the text. Co-authored-by: Kirill Chibisov <contact@kchibisov.com> Co-authored-by: Christian Duerr <contact@christianduerr.com>
| * Fix old vi cursor not being properly damagedKirill Chibisov2022-06-07
| | | | | | Co-authored-by: Christian Duerr <contact@christianduerr.com>
| * Fix crash when damaging off-screen hintKirill Chibisov2022-06-06
| | | | | | Co-authored-by: Christian Duerr <contact@christianduerr.com>
| * Fix a few minor clippy lintsYuri Astrakhan2022-06-02
| |
| * Fix DEC Special Character Set (Line drawing)André Kugland2022-06-01
| | | | | | | | | | | | | | | | This patch resolves some mapping issues with the line drawing character set where characters like linefeed were incorrectly mapped to their proper character representation rather than the codepoint of their identification glpyh. Co-authored-by: Christian Duerr <contact@christianduerr.com>
| * Fix Vi cursor not being damaged on scrollKirill Chibisov2022-05-26
| | | | | | | | | | There's no need to damage intermediate Vi mode cursor points, since it can't change the terminal content meaning that only the previous and current vi cursor's viewport points matter to damage it properly.
| * Don't inherit `--command` for `SpawnNewInstance`Kirill Chibisov2022-05-23
| | | | | | Fixes #6060.
| * Fix selection change after leaving vi-modea5ob7r2022-05-23
| | | | | | | | | | | | | | | | This patch fixes that the right point of the selection range moves to another point when leaves vi-mode with a selection by ToggleViMode. The cause is that always moves a vi-mode cursor to a search origin whether or not the current search is active. This problem is a regression which is introduced by #5945.