1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-29 16:42:13 +03:00
Commit Graph

4245 Commits

Author SHA1 Message Date
Wez Furlong
0e5d0d8117 term: fix encoding F1-F4
This was accidentally broken by 8da1f676a8

refs: #892
2021-09-12 09:30:14 -07:00
Wez Furlong
1f97a8324e pty: tweak EIO matching for Rust 1.55 and up
The release notes suggest never matching ErrorKind::Other,
so let's avoid that.
2021-09-09 09:16:34 -07:00
Wez Furlong
c870c73dbe deps: update harfbuzz to 2.9.1 2021-09-09 09:01:42 -07:00
Wez Furlong
8282faf31f window: allow specifying window resize increments on macos and x11
This commit introduces a mechanism for specifying resize increments
for a window, and then arranges for the termwindow to set those
to match the current font cell metrics.

This should help to avoid cases where there is excess padding pixels
resulting from the window being slightly larger than computed number
of cells and the font metrics.
2021-09-08 22:57:42 -07:00
Wez Furlong
3e8e0aa7f4 docs: changelog for https://github.com/wez/wezterm/pull/1127 2021-09-08 17:47:20 -07:00
Greg V
94ede1e8f1 window: implement window movement by dragging on Wayland 2021-09-08 17:45:48 -07:00
Wez Furlong
bd9b964106 docs: changelog for #1126 2021-09-08 17:40:25 -07:00
Greg V
ce5615082c gui: cancel mouse click streak when the cursor has moved to a different cell (fixes #910)
Fast-clicking users generally expect to be able to rapidly do regular selections
or otherwise cancel double/triple/quad clicks, so significant mouse movement should end the streak.

Allowing tiny pixel movements to account for touchpads is necessary.
Fortunately, the position here is already in character grid cells, which provides enough margin for this.
Other code editors like gedit also seem to do this based on the character grid.
2021-09-08 17:38:59 -07:00
Wez Furlong
8eefe7a764 docs: changelog for #1074
closes: #1074
2021-09-08 09:43:19 -07:00
Wez Furlong
9fe11669fd docs: changelog for #1120 2021-09-08 09:34:49 -07:00
Spyros Roum
bfaf46a196 Also accept shift + y/n when asking for confirmation to close panes 2021-09-08 09:33:08 -07:00
Wez Furlong
27153e1cea docs: changelog for #1122, #1123 2021-09-08 09:28:36 -07:00
Greg V
455ea89fa8 window: unbreak bypass_mouse_reporting_modifiers on Wayland (fixes #1122)
Modifier state was not saved to the `modifiers` field that's read when converting mouse events,
so these events always had no modifiers.
2021-09-08 09:27:23 -07:00
Wez Furlong
95638e0864 docs: explain why we need Windows 10+ 2021-09-07 09:18:11 -07:00
Wez Furlong
aa61a6b065 gui: force cursor to be visible in copy mode
It appears as though kakoune hides the terminal cursor and renders
its own version of the cursor.

The hidden state was being picked up by the copymode overlay,
making it awkward to use.

This commit forces the cursor to be visible (and a block) when
copy mode is active.

closes: #1113
2021-09-06 19:51:20 -07:00
Wez Furlong
7da1971bad docs: changelog for #1111, #1112 2021-09-06 19:27:51 -07:00
Greg V
5b85e80b75 window: fix synthesized configure event for Wayland DPI scale (fixes #1111) 2021-09-06 19:26:24 -07:00
Wez Furlong
86f0bae1db fonts: tidy up fontconfig charset acceleration
and add a changelog entry!

refs: #250
2021-09-06 11:05:16 -07:00
HMH
466e5cab21 Speedup font loading with fontconfig and freetype.
- If possible use fontconfig to obtain character coverage instead of
  going through all glyphs using freetype.
- `FT_Get_First_Char` typically returns ranges of continuous glyphs itself
and it is far cheaper (I measured a speedup of about 7 times while
catting a large file with lots of funny unicode) to add a range to the
glyph coverage instead of adding each glyph individually.
- Permit adding a range to a RangeSet without performing checks to speed
  up things even further.
2021-09-06 10:53:01 -07:00
Wez Furlong
10b64abec8 fonts: constrain to a single thread for fallback resolution
@H-M-H noticed and suggested this; rather than spawning a thread
for potentially every cluster of graphemes that are being displayed
before we've located a font, constrain things to a single thread
so that we don't burn CPU trying to process the same results
in an excessive number of threads.
2021-09-06 10:48:00 -07:00
Wez Furlong
41866a0b5b gui: capture new terminal size even if we haven't setup opengl
I think this is a hangover from the older logic to figure out
the initial sizing, and I suspect that it is what is causing
refs: 1074

So this is a speculative change to see if it helps!
2021-09-06 10:19:06 -07:00
Wez Furlong
4d5a923cb4 docs: changelog for #947 2021-09-06 10:13:28 -07:00
Wez Furlong
91209af8da window: fix default dpi on X11 and Wayland systems
Similar to da455cafa1, the extra
connection layer wasn't forwarding the call to the actual impl.

closes #947
2021-09-06 10:01:16 -07:00
Wez Furlong
3f212012f2 fix black pixel "halo"
Need to only set alpha to 1 if the pixel is not transparent

closes: #1110
2021-09-06 09:31:50 -07:00
Hans Petter Jansson
05fc55a128 get-deps: Zypper needs -l (--auto-agree-with-licenses)
Without this switch, zypper would automatically answer "no" to any
license agreements, halting the update.
2021-09-05 23:30:21 -07:00
Wez Furlong
93e18b2a01 deps: colorgrad -> 0.5 2021-09-05 23:27:01 -07:00
Wez Furlong
545a8fc8a7 deps: ordered-float -> 2.8 2021-09-05 23:25:37 -07:00
Wez Furlong
3f5fb5b76f cargo update 2021-09-05 23:23:40 -07:00
Wez Furlong
18ddf38174 font: set alpha to 0xff in rasterizer
Since fonts now use dual source blending, the pixel colors are
interpreted as individual alpha channels.  The A component should
be set to 1.0, so that's what we do here.

refs: #1025
2021-09-04 18:54:32 -07:00
Wez Furlong
311bd78902 Fix SU (scroll up) using default-blank cells
closes: https://github.com/wez/wezterm/issues/1102#
2021-09-04 17:35:33 -07:00
Wez Furlong
dc1996ac67 fixup terminfo for underline color
I noticed while reviewing the session recording for https://github.com/wez/wezterm/issues/1102
that wezterm reported:

```
2021-09-04T22:05:46.136Z WARN  wezterm_term::terminalstate::performer > unknown unspecified CSI: "58::2::87::61::38m"
2021-09-04T22:05:46.138Z WARN  wezterm_term::terminalstate::performer > unknown unspecified CSI: "58::2::87::61::38m"
```

Those extra double-colons aren't valid, and I think they're coming from
this terminfo file, so fix it up!
2021-09-04 15:52:20 -07:00
Wez Furlong
fea3a527dd Fixed invisible I-beam/underline cursor w/force_reverse_video_cursor
closes: https://github.com/wez/wezterm/issues/1076
2021-09-04 14:24:58 -07:00
Wez Furlong
4c8ccf8efc Add Multiple key assignment
refs: https://github.com/wez/wezterm/pull/1091
2021-09-04 13:01:34 -07:00
Wez Furlong
67e8bdc5c2 term: fix DCH removing cells instead of setting to current bg color
refs: #789
2021-09-03 16:21:15 -07:00
Wez Furlong
e9f1c319e7 docs: changelog for 1031
closes: https://github.com/wez/wezterm/issues/1031
2021-09-03 12:19:44 -07:00
Wez Furlong
bc4ed3735d Add SendKey key assignment
refs: https://github.com/wez/wezterm/pull/1091
2021-09-03 12:07:17 -07:00
Wez Furlong
8da1f676a8 ALT+ "function" keys incorrectly sent ESC prefixed sequences
closes: #892
2021-09-03 11:35:01 -07:00
Wez Furlong
c5d1f67853 term/termwiz: move key encoding to termwiz
This will enable eg: a lua helper function to serialize keycodes to
assist in some key rebinding scenarios (see:
https://github.com/wez/wezterm/pull/1091#issuecomment-910940833 for the
gist of it) but also makes it a bit easier to write unit tests for key
encoding so that situations like those in #892 are potentially less
likely to occur in the future.
2021-09-03 11:12:42 -07:00
Wez Furlong
aaa9e3562d docs: tweak get_appearance docs a little 2021-09-03 09:11:00 -07:00
Daniel Poulin
0acda5852d Simply GNOME Wayland appearance documentation and implementation 2021-09-03 09:04:16 -07:00
Daniel Poulin
343727f4df Document workaround for get_appearance on GNOME Wayland 2021-09-03 09:04:16 -07:00
Wez Furlong
97831848cb gui: also log current size during a resize event
refs: #947
2021-09-02 09:18:32 -07:00
Wez Furlong
da455cafa1 window: plumb get_appearance on x11/wayland systems
Not sure what happened here: presumably a borked merge or something
similar, but this commit allows `window:get_appearance` to return
the actual appearance value on X11.

Even though this plumbs the call through to Wayland, Wayland doesn't
provide an equivalent concept so still always return Light, as is
mentioned on our docs.

closes: #1098
2021-09-02 09:08:21 -07:00
Wez Furlong
f3e5c337fd docs: changelog for https://github.com/wez/wezterm/issues/1051
closes: #1051
2021-09-02 08:53:31 -07:00
Wez Furlong
b53a6059de increase max fps to 60 by default, improve coalesce
* Trigger a paint immediately from invalidate if not throttled
* Otherwise defer the other events until we're about to sleep for xcb
  events, which should maximize the coalesce around resize/expose events

refs: #1051
2021-09-02 08:53:03 -07:00
Wez Furlong
367797c1ae x11: coalesce resize and repaint events
The thesis is that some WM's might send a whole bunch of events
that cause us to over draw/over resize.

I'm not convinced that this is a righteous change, but it can't
hurt to try.

refs: #1051
2021-09-02 08:53:03 -07:00
Wez Furlong
3d227d27cc docs: changelog for https://github.com/wez/wezterm/pull/1096 2021-09-01 21:13:14 -07:00
Ziyang Lin
df68147af5 (macOS) respect alt key configs for ime 2021-09-01 22:54:44 +08:00
Wez Furlong
3ff5ea7f75 cargo update 2021-08-29 21:30:03 -07:00
Wez Furlong
af23d64e97 docs: changelog for #1083 2021-08-27 07:51:27 -07:00