| Commit message (Collapse) | Author | Age |
| ... | |
| |\ \
| | |
| | | |
Support GLES2 Renderer in sixel
|
| |/ / |
|
| |\| |
|
| | |
| |
| | |
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
| | |
| |
| | |
Co-authored-by: Mikayla Maki <mikayla.c.maki@icloud.com>
|
| | |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
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>
|
| | |
| |
| | |
Fixes #6215.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| | |
Co-authored-by: Mikayla Maki <mikayla.c.maki@icloud.com>
|
| | |
| |
| | |
Use a `map_or` instead of a `map().unwrap_or()` chain.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| | |
This fixes a bug that crashes the terminal when a graphic is added before
resizing the window.
|
| | |
| |
| |
| |
| | |
- Reimplement abs_diff().
- Use positional arguments to format the error message in assert_color!().
|
| | | |
|
| | | |
|
| |\| |
|
| | |
| |
| |
| |
| |
| | |
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>
|
| | |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| | |
Similar to the underline line rendered when the cursor is over an hyperlink, for
graphics we now render a border around the graphic.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
This option should prevent extensive power usage due to cursor blinking
when there's no user activity being performed.
Fixes #5992.
|
| | |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| | |
Closes #6145.
|
| | |
| |
| | |
This is to remove dependencies on multiple versions of dirs crate.
|
| | |
| |
| | |
Fixes #6140.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| | |
| |
| | |
This also applies all non-breaking semver updates.
|
| | |
| |
| |
| | |
This ensures that the generated completions properly suggest file paths
for arguments which accept them.
|
| | |
| |
| |
| | |
`Row` contains pointer bytes, which are not valid for `usize`, therefore
`MaybeUninit<usize>` should be used instead to do an untyped copy.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
This also fixes an issue of windows not being rendered while resizing.
Fixes #6069.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| | |
| |
| | |
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
| | |
| |
| | |
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| | |
| |
| |
| |
| | |
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.
|
| | |
| |
| | |
Fixes #6060.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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.
|