Previously no arguments were provided, but by convention argv[0] should
be the name of the program.
Providing this argumens enables Psuedoterminal node to work on macOS.
- Uses matrix so that build steps don't need to be defined multiple
times.
- Caches godot-cpp bindings, so they only need to be built when the
submodule version changes.
- Uploads build artifacts for linux 32/64-bit, windows 64-bit and macOS
64-bit.
Move pre-built binary to 'dist' folder so it no longer causes git
conflicts with custom builds. Also make it a release build which
decreases its size by ~70M.
Former-commit-id: ea9954712062f6ab0f6af9a55d72f0324cd51e5f
This is important when terminal is a child of a Container node and we
set the margin properties, otherwise the background rect is drawn with
an offset.
Former-commit-id: e68d2f55c9
If a true color has been set it will have code -1 regardless of the
actual color. Therefore, it shouldn't be stored in the color cache
dictionary otherwise all true color cells will be colored the most
recently set value.
Former-commit-id: 0d14fd1e47
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
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
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`.