1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-23 13:21:38 +03:00
Commit Graph

110 Commits

Author SHA1 Message Date
Wez Furlong
1059620233 add stub for setting the scroll region 2018-01-28 20:33:21 -08:00
Wez Furlong
2011eec9f2 clamp cursor y position when moving the cursor 2018-01-28 19:30:07 -08:00
Wez Furlong
001eda902b tidy up basic scroll handling
Previously, we would not allocate a new line and would end up
panicking when we went off the end of the default screen height.
2018-01-28 18:05:22 -08:00
Wez Furlong
8d9cd83e6d add some more comments on CSIParser 2018-01-28 17:11:05 -08:00
Wez Furlong
0057b42c4f Pull intermediates check up higher in CSIParser
This should reduce the chance of ambiguous matches for sequences
that have the same 'byte' field but different intermediates.
2018-01-28 17:01:15 -08:00
Wez Furlong
78c3aee697 Add support for responding to escape sequences 2018-01-28 16:43:10 -08:00
Wez Furlong
d28494ac20 recognize device status report codes 2018-01-28 15:11:07 -08:00
Wez Furlong
b696aae51f vim truecolor mode uses kde style rgb sgr 2018-01-28 14:55:28 -08:00
Wez Furlong
a0cc6822ef add support for recognizing some decset modes
We don't do anything about those modes yet.
2018-01-28 14:51:00 -08:00
Wez Furlong
5816928a25 Add support for Erase In Display 2018-01-28 14:12:56 -08:00
Wez Furlong
39a5b5ef0d add some comments about CSIParser 2018-01-28 14:03:57 -08:00
Wez Furlong
d48bc62a18 move all the current CSI parsing into the CSIParser 2018-01-28 13:53:18 -08:00
Wez Furlong
12a839c4ac Adopt slice patterns for parsing CSI 2018-01-28 13:36:17 -08:00
Wez Furlong
2eefee4412 move csi parsing to its own file 2018-01-28 11:35:36 -08:00
Wez Furlong
cedc62e91a fix cursor positioning when ligatures are used 2018-01-28 09:55:28 -08:00
Wez Furlong
dbeda14566 Add ShmImage, a shared memory Pixmap
Using the SHM extension of the X server saves us from sending ~1MB of
bitmap data to the server on many screen update operations for a
modestly sized terminal window.

SHM may not be available in some situations so we need to keep a
fallback that basically works.  This is done via a helper enum
in xwin.rs.

I've removed the unused Pixmap class; the pixmap concept makes the
most sense for us only when SHM is available.
2018-01-28 09:43:36 -08:00
Wez Furlong
91424e427f factor out BitmapImage from Image 2018-01-27 22:58:40 -08:00
Wez Furlong
bf854d0eb0 remove some unused code 2018-01-27 22:24:44 -08:00
Wez Furlong
0ab8cf1eec Render the cursor position, fixup colors
I thought it would be nice to use the default xterm palette, but
I really hate the contrast of its default blue on black, so switch
to the palette from my xterm config.
2018-01-27 22:17:31 -08:00
Wez Furlong
1d4fc17187 apply Deref to simplify Terminal/TerminalState 2018-01-27 21:56:29 -08:00
Wez Furlong
1ae85b2349 send keyboard input to the pty 2018-01-27 21:54:57 -08:00
Wez Furlong
f879447d59 add xgfx::Connection, store atoms inside it 2018-01-27 14:49:15 -08:00
Wez Furlong
ec3c8f04ba move TerminalWindow into its own file 2018-01-27 14:29:07 -08:00
Wez Furlong
ee85a0bdcd avoid .bk files when rustfmt'ing 2018-01-27 14:20:15 -08:00
Wez Furlong
5d6d9747c7 expand columns as needed for set_cell 2018-01-27 13:56:35 -08:00
Wez Furlong
2d739eb667 Ensure that the pty is the controlling terminal for the child 2018-01-27 13:51:10 -08:00
Wez Furlong
8080718c71 Listen for sigchld 2018-01-27 13:41:45 -08:00
Wez Furlong
a11a34b031 We're now able to run and render top 2018-01-27 13:38:26 -08:00
Wez Furlong
e63f003ad0 move the pty into the TerminalWindow 2018-01-27 08:43:08 -08:00
Wez Furlong
eef4487d27 plumb XCB events into the mio loop 2018-01-27 08:18:55 -08:00
Wez Furlong
ab74b4c731 proof of concept with having mio drive the pty reads 2018-01-26 09:00:40 -08:00
Wez Furlong
0ecda48f01 Add some code for working with ptys 2018-01-26 08:23:32 -08:00
Wez Furlong
3484b94435 Allow setting full RGB foreground/background color 2018-01-25 21:37:16 -08:00
Wez Furlong
b56209a181 tighten up SGR parsing
Track all the rendition bits described in the SGR section here:
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html

Still need to hook up color matching against the color palette
as described for the 256 color mode flavor.
2018-01-25 10:05:57 -08:00
Wez Furlong
3ec0b3f795 connect model to display, hook up print + some basic SGR 2018-01-24 22:28:03 -08:00
Wez Furlong
342efa810b cell attributes to bitfield, add screen container 2018-01-24 09:13:03 -08:00
Wez Furlong
7e41bb27d4 Add basic attribute setting and rendering 2018-01-23 23:12:30 -08:00
Wez Furlong
641e85650d add terminal cell and colors 2018-01-23 08:57:59 -08:00
Wez Furlong
36a884b872 Add compositing to colorize text
Defines a couple of compositing operators so that we can support having
both colored background and colored text.
2018-01-22 22:32:48 -08:00
Wez Furlong
fb53f2c16b remove cairo dependency
It's a PITA to make it work with pixels without scaling and blurring
2018-01-22 18:54:18 -08:00
Wez Furlong
aef4e340e8 add xcb_util, set window name 2018-01-22 09:02:28 -08:00
Wez Furlong
3ea7bbc501 compute descender, render cell box, fixup GRAY handling 2018-01-22 08:13:00 -08:00
Wez Furlong
31f35554a4 Add text color, improve resize render performance 2018-01-21 17:14:56 -08:00
Wez Furlong
306414baa9 Add double buffering to eliminate flicker
Actually, the flicker was caused by the back pixel setting on the
window; I spent a long time running this down and finally got the
clue from this crusade against flicker:
http://www.ruska.it/michal/flicker.html
2018-01-21 10:25:40 -08:00
Wez Furlong
aa18b273f9 remove sdl. use cairo + xcb
The spacing between glyphs seems too wide.  Need to figure this out.
A bunch of the integer vs float changes in this diff were a result
of trying to run this down, but success has been limited, and in fact
the spacing has increased as a result of making this more correct(!)
2018-01-21 01:32:59 -08:00
Wez Furlong
67c04e7a2a start playing around with xcb+cairo 2018-01-20 14:54:11 -08:00
Wez Furlong
efb566e4bf move this pixelformat thing to be a constant 2018-01-18 07:31:24 -08:00
Wez Furlong
144d8cc3eb start pulling in cairo 2018-01-18 07:20:29 -08:00
Wez Furlong
df64bce18a add some docs, make slightly more efficient when computing cluster size vec 2018-01-17 00:17:22 -08:00
Wez Furlong
93c10590ca println -> debug build only logging 2018-01-17 00:07:31 -08:00