Commit graph

62 commits

Author SHA1 Message Date
Leroy Hopson
ee6d7cb0fa Refactor file structure
Former-commit-id: 3eecf504cf
2020-10-05 17:56:57 +07:00
Leroy Hopson
a022104230 Remove gdscript version and replace with native
Former-commit-id: f9474fe533
2020-10-05 17:56:55 +07:00
Leroy Hopson
f8412a03f5 Make native library easier to build/use
Makes libtsm a static library rather than dynamic so that it doesn't
have to be installed as a system library on the user's operating system.

Also updates SConstruct to work on more operating systems other than
just NixOS. Adds a number of docker files for building the library on
various distributions (NixOS, Arch Linux, Ubuntu).

Uses a fork of godot-cpp with an updated godot_headers submodule that
includes godotengine/godot_headers#76. We should go back to tracking
https://github.com/godotengine/godot-cpp once the submodule has
been updated in that repo.

Former-commit-id: d8c8b5b272
2020-10-05 17:56:40 +07:00
Leroy Hopson
5cc2b2c718 Ok
todos:
	- Read more than one byte at a time before emitting signal.
	- Set correct termios and winp values.
	- Handle SIGWINCH stuff when resizing window.

Former-commit-id: 78eeacdc22
2020-10-05 17:56:25 +07:00
Leroy Hopson
bc86b92412 Crude resize working
Former-commit-id: 6b92606d99
2020-10-05 17:56:24 +07:00
Leroy Hopson
6e938f03bf Basics working, added pseudoterminal
Former-commit-id: 1187c9b7a3
2020-10-05 17:56:21 +07:00
Leroy Hopson
f6bd5a11c8 Initial native commit 2020-10-05 17:55:46 +07:00
Richard Hájek
85e6e8807e refactored some collisions 2020-09-13 19:28:34 +02:00
Leroy Hopson
0d4e10f5ab Add more features, bug fixes and bugs ;-)
Most notably:
- Reflow is now working. Terminal size will fill the window and
cols/rows will be resized/calculated based on window and font size.
- Added support for different fonts (i.e. bold, italic, bolditalic).
- Enabled blinking characters.
- Adde more tests and caught a few subtle bugs.
- Removed renderer code (which was part of xterm.js) and just
doing naive rendering in terminal.gd, but it seems to perform
a lot faster.

Still not working completely:
- vim (some weirdness going on).
- vttest (more weirdness).

Todo:
- Fix the above.
- Draw the cursor!
- Improve performance. Performance is still not great. The terminal
becomes unusable when running `yes` or `cmatrix -r`.
2020-05-19 18:55:43 +07:00
Leroy Hopson
0769592a1b Add/update more files 2020-05-17 17:32:06 +07:00
Leroy Hopson
8d76d3500c Update license text in file headers
With the exception of text_decoder.gd the code in these files follows
the original so closely that it doesn't qualify as an original work
and so there is nothing new to copyright.

Instead, the original license text is kept with a note mentioning the
port to GDScript.
2020-05-11 04:05:37 +12:00
Leroy Hopson
96e9ddcf79 Add all the files 2020-05-10 01:42:19 +07:00