1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-24 07:46:59 +03:00
Commit Graph

5359 Commits

Author SHA1 Message Date
Davide Mancusi
755f1c28ae docs: update minimum required Rust version 2022-02-23 07:54:25 -08:00
Wez Furlong
3234ef0ec9 x11: add fallbacks when loading xcursor themes
refs: #1655
2022-02-23 08:53:11 -07:00
Riyyi
9438e49726 docs: fix truncate call in example and fix typo 2022-02-22 06:40:59 -08:00
Wez Furlong
f0ed6ce0c9 cargo update 2022-02-21 19:44:27 -07:00
Wez Furlong
85a8434ecb docs: fix autumnmeowmeow's links 2022-02-18 07:16:28 -07:00
Wez Furlong
77222e0630 docs: fix typo in changelog 2022-02-18 07:14:41 -07:00
Wez Furlong
55b41664d6 docs: changelog links to phys vs mapped section
refs: https://github.com/wez/wezterm/issues/1483
2022-02-18 06:34:16 -07:00
Wez Furlong
e12c511ccb docs: more docs for https://github.com/wez/wezterm/issues/1483 2022-02-18 06:29:02 -07:00
Wez Furlong
6e972d3f08 docs: adjust changelog for https://github.com/wez/wezterm/issues/1483
closes: https://github.com/wez/wezterm/issues/1483
2022-02-18 06:05:36 -07:00
Wez Furlong
0e48c1966e docs: note about https://github.com/wez/wezterm/issues/1424
closes: https://github.com/wez/wezterm/issues/1424
2022-02-18 06:04:22 -07:00
Wez Furlong
c232817270 docs: changelog for https://github.com/wez/wezterm/issues/1633
closes: https://github.com/wez/wezterm/issues/1633
2022-02-18 06:00:42 -07:00
Wez Furlong
4a1c4b5566 cargo update 2022-02-13 20:31:40 -07:00
Wez Furlong
c9f1f0e12c window: x11: avoid potential crash when pasting non-utf8 text
This might "break" eg: pasting from apps that just use ATOM_STRING
and that happen to have utf-8 compatible text.

Ideally the get_text_property interface would expose the actual
text encoding in the returned data and allow the application to
"do stuff" with it.

refs: https://github.com/meh/rust-xcb-util/issues/21
2022-02-13 07:34:47 -07:00
Wez Furlong
a79fc87586 deps: harfbuzz -> 3.4.0 2022-02-12 16:00:58 -07:00
Wez Furlong
48d6935f91 fix matching iosevka font when multiple ttcs were installed
refs: https://github.com/wez/wezterm/issues/1630
2022-02-12 14:07:26 -07:00
Wez Furlong
0a7e30e9bc serial: fix busy waiting on unix systems.
The serial port is always in non-blocking mode so we need to use our
own timeout and `poll(2)`.

While we're in here, the `wait` method could cause the gui to exit
immediately on startup because we'd interpret its immediate error
return result as child process completion.

This commit makes the wait method look at the carrier detect signal
and propagates IO errors back as completion events.

refs: https://github.com/wez/wezterm/issues/1594
2022-02-12 11:38:45 -07:00
Wez Furlong
18c63c0526 fix copying trailing whitespace from wrapped lines
refs: #1635
2022-02-12 09:47:03 -07:00
Wez Furlong
3b209c671d termwiz: update widechar_width
Brings us up to date with c68f845054

Notably: ea5824d966
2022-02-11 20:16:40 -07:00
Wez Furlong
e7b8374c3f thread original umask through when spawning mux server
refs: #1633
2022-02-11 10:00:09 -07:00
Wez Furlong
41342ef740 fix UB in vtparse
closes: #1631
2022-02-10 08:20:22 -07:00
Wez Furlong
3316695dc0 docs: changelog for https://github.com/wez/wezterm/pull/1577 2022-02-09 19:51:01 -07:00
Autumn
4997c463d4
Support DECSDM (#1577)
* #217 DECSDM, and commented pseudocode for improved handling of transparent image cells

* oops forgot cargo fmt --all

* #217 set initial palette colors to match VT340

* #217 cleanup color_map initialization, fix sixel scrolling

* #217 remove large comment - transparency discussion for another time
2022-02-09 19:48:01 -07:00
Wez Furlong
dbf190d414 gui: changing cursor color with escape sequences > force_reverse_video_cursor
refs: 1625
2022-02-08 06:46:31 -07:00
Wez Furlong
0826fb060c Add separate animation_fps config for easing
and adjust animation scheduling to avoid excessive scheduling
if the time we compute is later than an already scheduled time
2022-02-07 23:02:52 -07:00
Wez Furlong
39babc1f1e fix overflow calc
refs: #1627
2022-02-07 07:49:51 -07:00
Wez Furlong
7a5956d3b8 gui: blinking cursor now eases rather binary blinks
Also: I recently broke force_reverse_video_cursor with the recent
glyph rendering fixes; this commit restores that functionality.
2022-02-06 22:09:52 -07:00
Wez Furlong
435ff1e93b deps: image -> 0.24 2022-02-06 18:51:32 -07:00
Wez Furlong
c4009d8e1d deps: shell-words -> 1.1.0 2022-02-06 18:32:10 -07:00
Wez Furlong
842e4800b5 blinking text is now eased between bg and fg color 2022-02-06 18:28:45 -07:00
Wez Furlong
7b4c3d0397 refactor: visual bell easing to a helper 2022-02-06 18:28:45 -07:00
Wez Furlong
75e785e01e allow using CSS style color specs in the config
This change also allows removing the dep on the palette crate,
which I found to be difficult to use (API changed often, and relied
on a lot of `.into` that was hard to follow and reconcile across
upgrades).  We already pulled in the csscolorparse crate as an indirect
dep of colorgrad, so we can replace the color conversion we need for
sixel with that crate while we're in here.

refs: #1615
2022-02-06 08:23:26 -07:00
Wez Furlong
d1ea39af7a deps: cargo update 2022-02-06 07:46:12 -07:00
Wez Furlong
7956e71b34 docs: mention bidi in changelog 2022-02-06 07:37:01 -07:00
Wez Furlong
2fedc0ca21 docs: changelog for https://github.com/wez/wezterm/issues/1615 2022-02-06 07:29:33 -07:00
Wez Furlong
52f3d6c0e5 gui: clarify code, no functional change 2022-02-06 07:29:07 -07:00
Wez Furlong
f89f2b5248 term: reset to single width line when clearing a line
Previously overlooked because we didn't render or otherwise
change behavior: after running vttest and running ls, some
lines still had double width/height set.

This ensures that we remove that attribute when clearing
the screen.
2022-02-06 07:10:31 -07:00
Wez Furlong
1b63b4b7c9 deps: harfbuzz -> 3.3.2 2022-02-06 06:44:59 -07:00
Wez Furlong
2ccf2378fd fix vertical positioning for custom block glyphs
refs: https://github.com/wez/wezterm/issues/1621
2022-02-06 06:19:49 -07:00
Wez Furlong
d0a7fc9fd3 gui: take a run at rendering double-width/height lines
This is using the existing attributes on the lines and rendering
the lines with doubled dimensions.

Selection on double width lines is a bit wonky because we don't
know how to translate the column position correctly.
2022-02-05 21:28:18 -07:00
Wez Furlong
9c83e27172 remove grey_out method from palette
This was used by the mux client when the session is tardy.
I've heard feedback that the greying out is distracting and not
especially useful, so I don't think this is any great loss.
2022-02-05 17:01:31 -07:00
Wez Furlong
1f6764f792 fixup underlines
bd47979292 made underlines only as
wide as the glyph texture.

This commit renders them under the width of the cluster region.
2022-02-05 16:29:04 -07:00
Wez Furlong
8cb74c62d2 allow setting selection colors with alpha values
This commit allows the following configuration:

```
wezterm -n --config 'colors = { selection_fg = "clear", selection_bg = "rgba:50% 50% 50% 50%" }'
```

which sets the selection_bg to fully transparent, and selection_bg to
50% transparent gray.

When selection_fg is fully transparent we'll use the normal fg color.

When selection_bg is partially (or fully!) transparent, it will be
alpha blended over the current cell background color.

To support this, the config file will now accept rgba colors specified
as 4 whitespace delimited numeric values. If a value ends with `%` it
is interpreted as a number in the range 0-100.  Otherwise, it is
interpreted as a number in the range 0-255.  The 4 values are
red, green, blue, alpha.

At this time, only the selection_fg and selection_bg settings accept
alpha values.

refs: #1615
2022-02-05 15:17:22 -07:00
Wez Furlong
240026de48 refactor: move color parsing into wezerm-color-types crate
Resolves a little bit of the awkward duplication of color types
between some of the crates by factoring them a little bit better.

This is prep for allowing specifying alpha for some colors
in the config.
2022-02-05 13:59:54 -07:00
Wez Furlong
bd47979292 revise ligature render / cursor intersection
This puts to final rest #478, wherein ligatured glyphs that span
cells would render portions of the glyph with the wrong fg color,
where wrong was usually the bg color and cause the glyph to turn
invisible when cursoring through the ligature.

The approach used here is to divide the glyph into 7 discrete strips
where each strip either intersects with the cursor, the selection, or
neither. That allows us to render each strip with the appropriate
foreground color.

This change simplifies some of the logic and allows some other code
to be removed, so that feels good!

As is tradition with these renderer changes, there's a good chance that
I overlooked something in testing and that the metrics or alignment
might be slightly off for some font/text combo.  Let's see how this
goes!

refs: #784
refs: #478
refs: #1617
2022-02-05 10:49:49 -07:00
Wez Furlong
1e32ccbd2f shaping: fix an issue where we'd lose combining marks like U+20d7
For a sequence like `e U+20d7` the intent is to render the `e` with
a vector arrow over the top.

This is typically implemented by fonts as an `e` followed by the
vector glyph (or vice versa), where either one of those may have
a zero advance so that the two elements are combined.

There were two problems here:

* During shaping we'd see the zero advance and assume that the entry
  was useless and skip it
* During rendering, if we didn't think it had any cell width, we'd
  not render it

Cursoring through that particular sequence can hide the vector
mark if the cursor is set to the default block cursor due to annoyances
in how the block cursor is rendered (it changes the fg color to match
the bg, but for elements outside where we think the cursor is, this
makes those elements invisible).

refs: https://github.com/wez/wezterm/issues/1617
2022-02-05 06:19:25 -07:00
Wez Furlong
3e2f5263bc centralize image data size sanity checking, add to kitty
refs: https://github.com/wez/wezterm/issues/1031#issuecomment-1030056063
2022-02-04 08:58:23 -07:00
Wez Furlong
092663a332 slightly simplify compute_cell_fg_bg
Reduce the number of parameters passed down into it
2022-02-04 08:38:16 -07:00
Wez Furlong
f4c3eab3f8 remove some dead code 2022-02-04 07:54:47 -07:00
Wez Furlong
cb1f35a7f9 remove experimental_shape_post_processing option
This has been obsoleted by the work in 9de0e1ac90
2022-02-04 07:43:01 -07:00
Wez Furlong
794113807b docs: changelog for https://github.com/wez/wezterm/issues/1601
closes: https://github.com/wez/wezterm/issues/1601
2022-02-03 23:09:40 -07:00