| 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.
|
| |
|
|
| |
This performs all non-breaking dependency updates, which includes
unicode-width 0.2.2 for Unicode 17 support.
|
| |
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
| |
Also apply clippy changes while at it.
Closes #8002.
|
| | |
|
| |
|
|
|
| |
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`.
|
| |
|
|
| |
Fixes #8337.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
| |
Fixes #7195.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
Fixes #7325.
|
| |
|
| |
Fixes #972.
|
| |
|
|
|
|
|
|
|
| |
Fixes #7236.
Fixes #7201.
Fixes #7146.
Fixes #6848.
Fixes #3601.
Fixes #3108.
Fixes #2453.
|
| |
|
|
|
| |
The live reload handling wasn't introduced when the option got added.
Fixes #7295.
|
| |
|
|
|
|
|
| |
Activate a window to indicate that we want initial focus when the
system uses startup notifications.
Fixes #6931.
|
| |
|
|
|
| |
This doesn't represnet the movement to add tabs on any other platform,
unless winit could add a similar API for them.
|
| |
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
This should resize window by cell dimensions granularity instead of
using pixels.
Fixes #388.
|
| |
|
|
|
|
|
|
| |
Fixes #6644.
Fixes #6615.
Fixes #6558.
Fixes #6515.
Fixes #3187.
Fixes #62.
|
| |
|
| |
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
| |
|
| |
Fixes #824.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The glutin 0.30.0 update decouples glutin from winit which
provides us with basis for a multithreaded renderer. This
also improves robustness of our configuration picking,
context creation, and surface handling.
As an example we're now able to start on systems without a vsync,
we don't try to build lots of contexts to check if some config works,
and so on.
That also brings us possibility to handle context losses, but that's
a future work.
Fixes #1268.
|
| |
|
|
|
| |
Glutin is waiting for an RGBA buffer with 8-bit depth, but our icon is
16-bit depth. So we need to normalize the color data when decoding the
icon.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds a new mechanism for changing configuration options
without editing the configuration file, by sending options to running
instances through `alacritty msg`.
Each window will load Alacritty's configuration file by default and then
accept IPC messages for config updates using the `alacritty msg config`
subcommand. By default all windows will be updated, individual windows
can be addressed using `alacritty msg config --window-id
"$ALACRITTY_WINDOW_ID"`.
Each option will replace the config's current value and cannot be reset
until Alacritty is restarted or the option is overwritten with a new
value.
Configuration options are passed in the format `field.subfield=value`,
where `value` is interpreted as yaml.
Closes #472.
|
| |
|
|
|
|
| |
This commit adds support for inline IME handling. It also makes the
search bar use underline cursor instead of using '_' character.
Fixes #1613.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of having the extra symlink in the root, this puts the symlink
in the alacritty crate. Since we build the package on Linux this is not
a problem and even allows us to get rid of the `alacritty.png` symlink.
To avoid having complicated symlinks with regards to the windows build
assets directory, it has just been removed from the `extra` directory
completely. Since we only need it for building, it doesn't matter where
it's located and users will never have to interact with it manually
anyway.
Closes #6242.
|
| |
|
|
| |
This fixes a regression introduced in 7d708d5, which caused the general
and instance class to be swapped.
|
| |
|
|
|
|
|
|
| |
Fixes #6239.
Fixes #5975.
Fixes #5876.
Fixes #5767.
Fixes #4484.
Fixes #3139.
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
Other platforms don't have such concepts in general or have them
via different interfaces not related to EGL.
This commit also resolves some minor clippy issues.
Fixes #6051.
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
| |
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This commit persists OpenGL context creation flags from previous window
build attempts saving time in multiwindow context.
It also creates window as srgb by default, since it's what Alacritty is
rendering in. For reference [1] and [2]. Moreover the fallback for 10
bit colors is also added.
[1] - https://github.com/alacritty/alacritty/issues/4939 and
[2] - https://github.com/alacritty/alacritty/issues/3756.
Fixes #4703.
|
| | |
|
| |
|
|
|
| |
This commit finishes the effort from a64553b to avoid reloading font
twice during startup, since the original issue is with getting font
metrics without building the glyph cache.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows compositors to only process damaged (that is, updated)
regions of our window buffer, which for larger window sizes (think 4k)
should significantly reduce compositing workload under compositors that
support/honor it, which is good for performance, battery life and lower
latency over remote connections like VNC.
On Wayland, clients are expected to always report correct damage, so
this makes us a good citizen there. It can also aid remote desktop
(waypipe, rdp, vnc, ...) and other types of screencopy by having damage
bubble up correctly.
Fixes #3186.
|
| |
|
|
| |
This uses `with_position` method on a `WindowBuilder` instead of setting
window position on the created window later on.
|
| |
|
|
|
| |
This adds the ability to pass title and class over IPC via the
create-window subcommand, so users can run only one instance for windows
of different spurposes in the window managers of their choice.
|