| Commit message (Collapse) | Author | Age |
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\| |
|
| | | |
|
| |\| |
|
| | | |
|
| | |
| |
| |
| |
| | |
Also apply clippy changes while at it.
Closes #8002.
|
| | | |
|
| | | |
|
| |\| |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\| |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue where an inline search in the left direction would
incorrectly assume that the first cell searched would not contain the
`WRAPLINE` flag, causing the second search for the match end to
terminate prematurely.
Fixes #8060.
|
| |\| |
|
| | |
| |
| |
| |
| |
| | |
Sextants are similar to quadrants and should align with them and
other box drawing, thus use builtin font to align them properly.
Part-of: #7422.
|
| | |
| |
| | |
Fixes #7470.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
Iterate over points in line instead of drawing it right away
and then finding it in the buffer.
Fixes: 4a26667060 (Use builtin font to draw powerline symbols)
|
| | |
| |
| |
| |
| |
| | |
In addition to box drawing it was decided to also draw powerline
symbols, since those are quite common and rather simple to draw with
present box drawing infra.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue with terminal resizes when the selection is on the
last line. Alacritty would fail to rotate lines and keep the selection
in the same line index whenever the terminal line count was grown or
shrunk.
This issue occurred due to the range passed to the selection's rotate
function still being based on the old terminal size, which caused the
initial or target state of the rotation to be outside of the terminal
bounds.
Closes #6698.
|
| |\| |
|
| | |
| |
| |
| |
| | |
This fixes the regression introduced by 2d27fff.
Fixes #6688.
|
| | |
| |
| | |
Fixes #6209.
|
| | |
| |
| | |
Fixes #6201.
|
| |\| |
|
| | |
| |
| |
| |
| | |
This should help trouble shooting the renderer being created and
different renderer options to determine when something like dual-source
rendering isn't working.
|
| | |
| |
| | |
Fixes #6432.
|
| | |
| |
| |
| |
| |
| |
| | |
Some old hardware doesn't like universal shader approach for all the
rectangle kinds leading to ALU instruction limits. This commit fixes
it by splitting the shader per rectangle kind.
Fixes #6417.
|
| |\| |
|
| | |
| |
| |
| |
| | |
This patch applies all clippy lints currently present on the latest
clippy master than are compatible with our oldstable clippy (only
exception is the `_else(||` stuff).
|
| | |
| |
| |
| |
| | |
It never worked in the first place, because we were
never requesting it in glutin, and it provides no value
given that textures are already antialiased.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Fixes #6239.
Fixes #5975.
Fixes #5876.
Fixes #5767.
Fixes #4484.
Fixes #3139.
|
| |\| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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>
|
| | |
|
| | |
|
| |
|
|
|
| |
Builtin box drawing glyphs in range from '\u{2580}' to `\u{2587}`
could have gap due to missing rounding. Previously height was rounded,
however not the `y` offset. This commit fixes it.
|
| |
|
|
|
| |
The `SizeInfo` is a SizeInfo used for rendering, which contains
information about padding, and such, however all the terminal need is
number of visible lines and columns.
|
| |
|
| |
Fixes #5944.
|
|
|
Currently Alacritty only works on hardware which supports OpenGL 3.3 or
more, which can become problematic with older devices. This patch adds a
new GLES2 renderer, since it is much more widely supported, especially
on weaker hardware like phones or a Raspberry Pi.
While the GLES2 renderer is slower than the OpenGL 3.3+ version, it is
still significantly faster than software rendering. However because of
this performance difference it is only used when necessary and there
should be no difference for machines supporting OpenGL 3.3+.
The two renderers are largely independent and separated in the
`renderer/text/glsl3` and `renderer/text/gles2` modules. Separate
shaders are also required for text rendering. The rectangle rendering
for underlines and the visual bell works identically for both versions,
but does have some version-specific shader code.
Fixes #128.
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|