1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-24 13:52:55 +03:00
Commit Graph

2945 Commits

Author SHA1 Message Date
Wez Furlong
dd4c9d6683 refactor the font loading code
This is the first step towards making this code more system independent.
2018-02-20 19:53:50 -08:00
Wez Furlong
b66f93ad11 add non-linux sigchld waiter 2018-02-20 17:34:32 -08:00
Wez Furlong
a4b55ecffb macos pty api has some mutable ptrs 2018-02-20 17:13:19 -08:00
Wez Furlong
8024acff69 macos related build tweaks 2018-02-20 17:12:17 -08:00
Wez Furlong
e2529d1837 Move opengl code into its own module 2018-02-20 15:46:05 -08:00
Wez Furlong
4efef794fe move Renderer to its own file
It is now independent of the X11 code
2018-02-20 15:43:42 -08:00
Wez Furlong
39a0b6c9fd extract render code into Renderer class 2018-02-20 15:33:21 -08:00
Wez Furlong
e1cd44922f move x11 code around
idea is to reduce the cfg attributes and make it easier to
split into system dependent renderers
2018-02-20 15:02:39 -08:00
Wez Furlong
5a99dd143c move hbwrap into harfbuzz crate 2018-02-20 14:32:28 -08:00
Wez Furlong
fe1ae0b7eb Be more particular about platform deps 2018-02-20 14:17:28 -08:00
Wez Furlong
828580a261 add badges to readme 2018-02-20 13:50:45 -08:00
Wez Furlong
0b68ab0c58 sudo is required to make kcov work
travis-ci issue 9061 has the details.  I'm not linking that by url
because I don't want to surface this repo too publically already.
2018-02-20 13:41:05 -08:00
Wez Furlong
f4b647863f add cargo cache to travis 2018-02-20 13:31:35 -08:00
Wez Furlong
820c22301c travis/kcov 2018-02-20 13:29:17 -08:00
Wez Furlong
4ccb5a2519 revise readme and travis config 2018-02-20 13:17:23 -08:00
Wez Furlong
247be93bc4 maybe add code coverage to the CI 2018-02-20 13:06:50 -08:00
Wez Furlong
a86e81a796 tweak travis config 2018-02-20 12:48:15 -08:00
Wez Furlong
2d45e25953 move these comments; they break the crate attributes(!) 2018-02-20 12:41:21 -08:00
Wez Furlong
e7d99024bb build our own harfbuzz for broader compat 2018-02-20 12:33:30 -08:00
Wez Furlong
7c0536f9a3 avoid panic if an app sets an invalid scroll region 2018-02-20 08:42:08 -08:00
Wez Furlong
9a5e7999da TODONE 2018-02-20 08:13:36 -08:00
Wez Furlong
9da069e1e9 clean up atlas api
We now bubble up an error if we ran out of texture space.
Previously we'd allocate a new texture but that wouldn't help anyone.

I've bumped up the texture size by default, too.

Longer term we should catch this, blow the font cache, cancel the
pending render and re-render.
2018-02-20 08:09:12 -08:00
Wez Furlong
e6f42987ca remove another unused crate 2018-02-20 07:41:19 -08:00
Wez Furlong
3a66f29775 remove some unused feature flags 2018-02-20 07:39:15 -08:00
Wez Furlong
1f76edaaef readme update 2018-02-19 22:15:11 -08:00
Wez Furlong
1ffacec318 add screenshot 2018-02-19 22:10:59 -08:00
Wez Furlong
5ff473872d Eliminate the third draw call
We can consolidate the underline/strike glyph rendering with
the background layer pass.
2018-02-19 22:02:27 -08:00
Wez Furlong
279b2018fd Render cursor and selection for resized lines
If the user enlarges the terminal we can have regions of the vertex
buffer that have colors that default to alpha channel 0.  This is
normally fine but breaks rendering of the cursor and the selection;
those attributes are out of band from the normal cell attributes,
especially for whitespace cells, so we need to handle those in
the degenerate case at the end of a line render.

Refactor the code that computes the cursor and selection colors
so that we can call it and use it in both places.
2018-02-19 21:29:27 -08:00
Wez Furlong
d55d5855a5 set CLIPBOARD as well as PRIMARY selection when selecting 2018-02-19 20:53:12 -08:00
Wez Furlong
25e2dc2a96 fix an issue with the selection when in scrollback 2018-02-19 16:26:10 -08:00
Wez Furlong
dd238d5b50 add DCH 2018-02-19 15:33:13 -08:00
Wez Furlong
d041b7be0d fix an issue with scrolling within a region 2018-02-19 14:39:07 -08:00
Wez Furlong
37e5d8571a add HVP sequence. Just like CUP. 2018-02-19 14:02:54 -08:00
Wez Furlong
c9eba103d1 Use vecdeque for screen lines
This brings us back in the right perf ballpark
2018-02-19 13:08:47 -08:00
Wez Furlong
58f423eebe fix bounds for scrolling
unfortunately this is super expensive and halves the cat test perf.
2018-02-19 11:26:19 -08:00
Wez Furlong
b0fa3c329f bold me 2018-02-19 11:00:49 -08:00
Wez Furlong
1e64344092 forgot to include the cat portion of the bench in the readme 2018-02-19 10:59:09 -08:00
Wez Furlong
02846f4c82 use Cell::reset to clear portions of a line 2018-02-19 10:51:34 -08:00
Wez Furlong
a0b4630998 micro opt cursor moving during print 2018-02-19 10:47:49 -08:00
Wez Furlong
6e5986e868 tweak table formatting 2018-02-19 10:34:05 -08:00
Wez Furlong
aa95eaefd9 micro-opt scroll_up some more 2018-02-19 10:27:28 -08:00
Wez Furlong
48997f02d1 micro optimize cell creation 2018-02-19 09:08:17 -08:00
Wez Furlong
55175f70b6 Add a little note about performance 2018-02-19 08:41:54 -08:00
Wez Furlong
1b989b011d improve scroll_up perf
We were marking the entire scrollback history as dirty on each line
scroll.  This was from the early days and isn't needed any more.
This brings the runtime of:

```
$ find /usr > /tmp/usr-files.txt
$ time cat /tmp/usr-files.txt
```

down from ~2.5s to ~1.2s.

Also avoid a redundant line_mut() call in set_cell().
2018-02-19 08:14:03 -08:00
Wez Furlong
966eb2ce4c Don't loop to read from pty
We don't need to be greedy in handling this read.  It is important
not to for example when a lot of data is being written to the pty
we don't want that to starve the gui event handler and block sending
an interrupt signal.
2018-02-19 07:56:33 -08:00
Wez Furlong
563408df6f micro optimization for scroll_up 2018-02-19 07:55:49 -08:00
Wez Furlong
a0faebad8b Clear some rendering artifacts from the rhs of the screen
These would get left behind after making the window wider
and then switching between alt screen and the main screen.
2018-02-19 00:15:11 -08:00
Wez Furlong
52f6e3c0bd tweak the underline position 2018-02-18 23:53:54 -08:00
Wez Furlong
bc2c77aa1c fixup alpha for tinted colors
Needed to de-pre-multiply(!) the color channels by the alpha to avoid
them getting too dark.
2018-02-18 23:48:21 -08:00
Wez Furlong
9bc0eee1e2 Re-enable underlining of whitespace
This was a hangover from an earlier iteration and isn't needed any more.
2018-02-18 23:08:49 -08:00