Commit Graph

57 Commits

Author SHA1 Message Date
Kevin Lange
939749edf9 unbork terminal 2014-04-16 11:18:40 -07:00
Kevin Lange
9a985ff5fc Speed up terminal rendering a bit with regions 2014-04-16 00:59:58 -07:00
Kevin Lange
262f06a979 port a bunch of other things 2014-04-15 21:16:46 -07:00
Kevin Lange
b8551d2174 Kill the old compositor 2014-04-15 19:45:56 -07:00
Kevin Lange
00ecfff45f make kbd library reentrant 2014-04-14 21:03:23 -07:00
Kevin Lange
6db3fe2ec2 Focus change events 2014-04-13 18:28:42 -07:00
Kevin Lange
f0ca89685b Support window focus change 2014-04-13 17:58:19 -07:00
Kevin Lange
d85f3fd4ce Resurrect vga terminal 2014-04-11 20:03:01 -07:00
Kevin Lange
7009e4ec1c Continued progress on Yutani 2014-04-06 18:21:35 -07:00
Kevin Lange
60d66da7e6 Quick port of Terminal to yutani 2014-04-06 13:25:04 -07:00
Kevin Lange
a8d599b570 Remove calls to syscall_print 2014-04-05 15:25:34 -07:00
Kevin Lange
927d16950a cleanup for ansi library 2014-03-24 21:35:27 -07:00
Kevin Lange
543ca3eb5e initial work to separate ansi/term stuff to library 2014-03-24 21:08:07 -07:00
Kevin Lange
af14fd2e72 oops 2014-03-15 20:54:20 -07:00
Kevin Lange
82a917d270 no more serial syscall
More cleanup

Oopsy
2014-03-15 20:51:11 -07:00
Kevin Lange
faec73e73d Workaround an issue where terminals werne't closing 2013-12-02 21:05:30 -08:00
Kevin Lange
a9d5009060 Fix terminal alpha rendering in fullscreen mode 2013-11-28 16:14:41 -08:00
Kevin Lange
5d1aa1f6b8 Special-case some block drawing to make it look better 2013-09-01 18:32:46 -07:00
Kevin Lange
a1784a5da1 Fix handling of line endings at right side of screen 2013-08-21 18:30:20 -07:00
Kevin Lange
40f0c41932 Preliminary termios support
This is some initial work on support real PTYs.
Canonical mode is not supported at the moment.
2013-07-27 00:18:29 -07:00
Kevin Lange
9f50d7a3bf WHY AM I PRINTING THIS 2013-07-22 22:41:56 -07:00
Kevin Lange
caf16396c1 More threads, less stat 2013-07-20 02:11:27 -07:00
Kevin Lange
69f3cd3b05 Kill the VGA terminal.
I am going to replace it after I finish making the ANSI escape parser
modular again (it became a bit less modular during the development of
this terminal).

These changes are part of an effort to make the terminal more efficient.
Another goal is to make the terminal use the "new-style" compositor
interface, which is still in development.
2013-06-28 18:51:30 -07:00
Kevin Lange
570905a7d2 Kill the font loading bar 2013-06-28 00:55:02 -07:00
Kevin Lange
9a40a41f03 Drop legacy fullscreen support and add new fullscreen support 2013-06-28 00:42:40 -07:00
Kevin Lange
2888fc776f Add alt key support to terminal 2013-06-15 15:23:10 -07:00
Kevin Lange
4c9be9361a Compositor animations - actual
There are both some good changes and some terribly hacky changes in this
commit.

- Server uses a different struct than client now for windows, so
  arbitrary compositor things like effect parameters can be added
  without having to rebuild everything. That's good.
- Client window structs no longer attempt to track or use window
  locations. That's good.
- Windows do not destroy in response to the destory command, but rather,
  a special animation is triggered; the end state for this animation
  calls the actually window destruction code. That's a hack.
- Animations are based on rendered frames, not on time. That's a hack.
2013-05-29 21:31:59 -07:00
Kevin Lange
80445dafcc Various shell and terminal cleanups 2013-05-22 21:59:28 -07:00
Kevin Lange
3e59074974 [terminal] redraw cursor on focus change 2013-05-22 20:56:52 -07:00
Kevin Lange
416d483fd6 Box drawing and new wcwidth
Currently a brute-force method, going
to replace this with a Markus Khun-esque interval
search shortly.
2013-05-11 13:20:20 -07:00
Kevin Lange
8d20462288 work around -onlcr 2013-05-09 23:56:49 -07:00
Kevin Lange
1e664bef2b Integrate signals into libc 2013-05-05 15:00:24 -07:00
Kevin Lange
fcdec09eaf Unfocused terminal cursor box 2013-05-04 23:22:54 -07:00
Kevin Lange
907566b259 Fix terminal padding opacity 2013-05-03 00:20:16 -07:00
Kevin Lange
8af7d27445 Make terminal darker 2013-05-01 18:35:03 -07:00
Kevin Lange
8b39566b43 Kill some code duplication in the terminal 2013-04-27 01:43:24 -07:00
Kevin Lange
6aa623216d But clear the buffer on ^C 2013-04-27 01:16:17 -07:00
Kevin Lange
b575e5e2e4 Flush buffer on switch to raw mode 2013-04-27 01:14:21 -07:00
Kevin Lange
b6dd8f47c6 More curses samples 2013-04-13 20:59:36 -07:00
Kevin Lange
cd677b44c3 Fix up some terminal bits, add F keys 2013-04-13 20:21:40 -07:00
Kevin Lange
969d454083 disable visual bell in terminal 2013-04-02 23:02:54 -07:00
Kevin Lange
4a66259cb8 Fix a couple minor rendering issues in the terminal 2013-04-01 21:25:53 -07:00
Kevin Lange
7c4cd8dd51 fix nulldev, add zerodev 2013-03-31 13:01:05 -07:00
Kevin Lange
e2d5411a96 Use alpha channel in text rendering in terminal 2013-03-29 00:39:23 -07:00
Kevin Lange
8e48ee8cfa Fix alpha blitting once and for all 2013-03-29 00:34:12 -07:00
Kevin Lange
98b6ae5867 esh -> sh, clean up
* login should set some environment variables now
* init should start terminals as login shells, so --single doesn't really
  mean "single user" any more, just sorta single terminal session
* system() should work now since esh now accepts -c; not that vim is
  still going to be unhappy because it does crazy shit.
2013-03-28 00:12:48 -07:00
Kevin Lange
eff6aa9114 RGB color support in terminal 2013-03-27 17:42:47 -07:00
Kevin Lange
faae12f1cd Fix bg=16 in terminal being interpreted as transparent
This fixes a bug in Vim and one introduced an hour ago in Nyancat.
This bug was also present in early versions of bim.

Problem: If the background is set to 16 (all black) explicitly, we still
treat it as if it is the default color and thus make it transparent.
This is wrong, only the default background, as set by resetting either
the bg itself (with mode 49) or the full display parameter set (with 0)
should show up transparent.

Solution: By using flag to indicate wether the background is "default",
we can detect other uses of background color 16 without having fudge
with other colors like 0. The flag is ANSI_SPECBG, where SPEC means
"special", and thus it is set any time the background changes
explicitly, and is unset in raw cells or places where we are in default
mode.
2013-03-27 00:22:15 -07:00
Kevin Lange
5867eec659 Deprecate legacy terminal size feedback 2013-03-25 22:24:26 -07:00
Kevin Lange
479827eb1b Clean up terminal resizes; fix scale 2013-03-22 22:08:21 -07:00