Commit Graph

2064 Commits

Author SHA1 Message Date
h-leth
87c38aa930
Add alacritty.yml to dmg 2023-01-26 02:34:54 +00:00
dependabot[bot]
2ed79e3e39
Bump bumpalo from 3.11.0 to 3.12.0 2023-01-23 11:00:53 +00:00
Kirill Chibisov
ed67aa3c08
Add support for horizontal scrolling
This adds support for horizontal mouse scrolling in mouse mode
and alternative scrolling modes.

Fixes #2185.
2023-01-16 20:22:01 +03:00
Christian Duerr
5a3280e8e0
Preserve last column with erase in line right
When the erase in line escape sequence with a parameter of 0 (right) is
passed while the wrapline flag is already set, it will no longer clear
the last column and instead ignore the operation.

The behavior of `\e[1K` and `\e[2K` is unchanged and both will clear the
entire first line without clearing the wrapline flag.

Closes #6159.
2023-01-15 22:53:41 +00:00
Naru
bcd6d0d981
Use sRGB color space for NSWindow on macOS
Co-authored-by: Christian Duerr <contact@christianduerr.com>
2023-01-07 14:23:00 +00:00
Kirill Chibisov
2bd26fbeb0
User timer based rendering instead of vsync
Fixes #824.
2022-12-30 19:25:04 +03:00
Kirill Chibisov
b77b9b3bcd
Fix crash when one dimension of the window is zero
This fixes a crash on Windows when the user resizes the window
to the point that it has the height of zero. The crash was introduced
by the glutin update, since it requires non-zero sizes for the
resize.
2022-12-30 18:39:39 +03:00
Christian Duerr
a49bd74292
Disable depth and stencil buffers
This patch reduces the active GPU memory consumption by disabling the
depth and stencil buffers. During original testing it reduced GPU memory
usage on Linux by almost a third.

This is a reintroduction of previously reverted patch 3475e44.

Closes #2881.
2022-12-29 12:36:50 +03:00
Kirill Chibisov
d5e9d1d883
Apply 'font.glyph_offset.y' for underline/strikeout
Fixes #6561.
2022-12-25 12:42:00 +03:00
Christian Duerr
2291610f72
Fix multi-line bracket selection
This fixes a bug where semantic selection for bracket characters wasn't
working properly over multiple lines since start and end of the
selection were swapped.

Closes #6567.
2022-12-14 20:21:25 +03:00
James McCoy
507f727768
Add changelog to alacritty crate
Shipping the changelog as part of the Alacritty crate allows packagers
to use it for their packages.
2022-12-11 23:46:16 +00:00
James McCoy
a152365c14
Add -T short form for --title
Debian-based distributions provide a standard interface to launch a
terminal via the x-terminal-emulator name.  In order for a terminal
emualtor to satisfy that interface, it must

* Be VT100 compatiable
* Support the "-e <command> <args>" CLI option
* Support the "-T <title>" CLI option

Adjust the short form of --title accordingly, providing -t as an alias
to avoid breaking any existing usage.
2022-12-11 00:54:06 +00:00
Kirill Chibisov
6566dd3def
Fix damage computation on boundaries
Given that the Rect started to use signed integers saturating_sub
became irrelevant and no clamp to zero were performed. This commit
uses max instead to fix it.
2022-12-09 09:21:28 +03:00
Kirill Chibisov
79860622a7
Fix crash while typing on Wayland
Fixes #6487.
2022-12-06 04:06:50 +00:00
Philip Taron
df32b5216b
Fix VirtualKeyCode config documentation
The `winit` crate was split off of the `glutin` crate. This patch fixes
the config link to correctly point to the winit enum instead of the old
glutin reexport.
2022-12-02 22:20:40 +00:00
Kirill Chibisov
2c58e096f9
Ignore errors from swap_buffers
Most of them are innocent and require just swap again. It was
like that before anyway due to old glutin bug in the error
handling implementation where errors won't pulled on swap buffers,
but old observed error was used.

Fixes #6538.
2022-12-02 04:27:08 +03:00
Kirill Chibisov
706682646b
Bump glutin to 0.30.2
Fixes #6498.
2022-12-02 00:45:10 +03:00
Kirill Chibisov
2d619850ae
Add 'debug.renderer' config option
This should help trouble shooting the renderer being created and
different renderer options to determine when something like dual-source
rendering isn't working.
2022-11-28 13:12:53 +03:00
Christian Duerr
19120f40be
Fix padding update not updating renderer
This fixes an issue where it was possible to update the padding of the
terminal without actually queueing an update for the renderer
projection, leading to a blurry projection.

Closes #6502.
2022-11-28 02:06:19 +00:00
James McCoy
d92a8a0e16
Update to notify v5 via notify_debouncer_mini
Notify v5 moved the debounced API into the notify_debouncer_mini crate.
The debounced API doesn't provide details on the type of event that
happened, just that a list of events or errors happened. Therefore,
reload is triggered on any event for a matching path.

Co-authored-by: Christian Duerr <contact@christianduerr.com>
2022-11-15 14:10:08 +00:00
Chris Copeland
7785580602
Fix cursor visibility with focus change on macOS
Fixes #6452.
2022-11-11 10:27:05 +00:00
Kirill Chibisov
0e418bc2f7
Update glutin to 0.30.0
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.
2022-11-03 19:37:54 +03:00
Kirill Chibisov
578e08486d
Update winit to 0.27.5
Fixes #6396.
2022-10-26 23:04:35 +03:00
Kirill Chibisov
2a2d38fcaa
Bump crossfont and sctk-adwaita
Fixes #6432.
Fixes #6414.
Fixes #6400.
Fixes #6338.
2022-10-26 01:32:02 +03:00
Kirill Chibisov
e3af53c863
Fix startup failure on macOS with dash as /bin/sh
The dash's exec doesn't have `-a` argument we rely on when running
login shell, so use zsh instead.

Fixes #6426.
2022-10-22 13:17:46 +03:00
Kirill Chibisov
62e9d3ab39
Fix crash with very low font sizes
Fixes #6432.
2022-10-21 22:40:42 +03:00
Kirill Chibisov
5b1dd38806
Fix cursor and underlines always being black
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.
2022-10-21 22:19:42 +03:00
Andrzej Grzeslak
c3b915b695
Fix --help output for --class to match man pages
The output of --help did not match the man pages with regards to the
ordering of arguments for the --class flag. This has now been fixed.

Fixes #6413.
2022-10-18 22:11:40 +00:00
Christian Duerr
269b6e3dba
Fix changelog versioning 2022-10-14 05:57:20 +03:00
Christian Duerr
1ea49b9a6f
Fix Windows release build
Closes #6392.
2022-10-14 01:57:56 +00:00
Christian Duerr
21c75d9d94
Fix clippy warnings
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).
2022-10-12 07:40:46 +03:00
Kirill Chibisov
182086f59c
Bump winit to 0.27.4
Fixes #6370.
Fixes #6356.
2022-10-09 22:57:06 +00:00
Nathaniel Graham
d721424822
Add RHEL8 instructions to INSTALL.md
Co-authored-by: Christian Duerr <contact@christianduerr.com>
2022-10-07 22:39:06 +00:00
Hugal31
2aedee1c29
Fix icon decoding on X11
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.
2022-10-05 13:14:23 +00:00
killian
e9ee8dcd9f
Migrate from winapi to windows-sys 2022-09-30 11:49:02 +00:00
Christian Duerr
c5ae05e810
Fix IPC config overriding previous values
Before this patch whenever changing the IPC configuration, all previous
configuration options would be discarded. This was the case even when
the new option was invalid.

This patch ensures that the IPC config is only ever cleared when the
`--reset` flag is passed. Invalid IPC config options are logged and
discarded.

Additionally whenever a new IPC config message is sent, all previous IPC
error messages are cleared.

Closes #6330.
2022-09-17 13:32:10 +00:00
Christian Duerr
3a38f0b996
Update unicode-width to Unicode 15
This applies all not-breaking dependency changes, including an update to
unicode-width. This brings support for Unicode 15 with its new widths
table so new glyphs and Emojis are shown correctly.
2022-09-17 13:10:38 +00:00
Kirill Chibisov
5bbba6973f
Bump winit to 0.27.3
Fixes #6324.
Fixes #6313.
2022-09-15 23:51:06 +03:00
Kirill Chibisov
bf3e882293
Avoid text cursor location for hyperlink preview
Fixes #6325.
2022-09-14 02:33:15 +00:00
Kirill Chibisov
f2e74d9947
Update Cargo.lock for new -dev bump 2022-09-12 12:03:27 +00:00
Kirill Chibisov
1d86775229
Don't enable multisampling
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.
2022-09-11 00:23:32 +03:00
Christian Duerr
89f4bdb770
Add licenses to alacritty_config 2022-09-05 09:39:09 +03:00
Christian Duerr
a51dbe25d6
Bump development version to 0.12.0-dev
This is only an update to the development version and does not represent
a stable release.
2022-09-03 19:43:05 +00:00
Christian Duerr
4ddb608563
Add IPC config subcommand
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.
2022-09-01 01:48:38 +03:00
Kirill Chibisov
18f9c27939
Add inline input method support
This commit adds support for inline IME handling. It also makes the
search bar use underline cursor instead of using '_' character.

Fixes #1613.
2022-08-29 16:29:13 +03:00
Kirill Chibisov
791f79a02a
Rework --class CLI option
This commit swaps the order of `general` and `instance` arguments
and also sets `instance` to `general` when only one argument was
provided. This should make this option behave like in other terminals
on X11, since they set either both or general by default, but
not instance like Alacritty.

Fixes #6279.
2022-08-25 05:51:19 +00:00
Christian Duerr
8f88b4d4be
Include extra directory in crate
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.
2022-08-24 09:19:30 +00:00
Ulrik de Muelenaere
23915cfc53
Fix general and instance class set on window (#6276)
This fixes a regression introduced in 7d708d5, which caused the general
and instance class to be swapped.
2022-08-20 16:43:02 +00:00
Kirill Chibisov
5549e9eb04
Bump winit to 0.27.2 2022-08-13 10:06:54 +04:00
trimental
376300385b
Use WindowEvent::Occluded to hint rendering
This should prevent rendering on macOS and X11 to invisible
windows.
2022-08-11 13:06:19 +04:00