It now takes sizes in cells and calculates the correct window size.
Thus, \033[3000;127;45z should set the terminal to the "standard" size
available in 1024x768 full-screen mode, and which is specified in the
terminfo file provide.
* Speed improvements
* Crash fixers
* Significant overhaul to escape handling based on extensive use of the
new serial console and a remote connection to a Linux box.
* Updated included terminfo file to accurately reflect terminal
behavior.
Some fun facts:
* vim runs great on a remote console (though the serial line slows a lot
of things down, it still runs rather smoothly)
* going to fix GNU screen, maybe in next commit, dunno
* tested with htop, less, and a bunch of other stuff
* fix some terminal bugs (some, not all)
* add a serial device to the VFS
* fix up serial so it works better
* add a serial-console application
* fix a bug in some other stuff relating to allocations
* change size of the terminal described by toaru.terminfo
* adds a new system call
* Reenables building of libstdc++
* Enables building of g++
* WARNING: The static binary loader does NOT support static
initializer functions! You must run them yourself (see
userspace/test-cpp.cpp for an example that initializes the standard
streams in order to use cout) until this is fixed.
* C++ stuff is slow to load, try to manually strip, it'll speed things
up a bit.
So that I don't need to keep changing this or worry about bad commits,
support falling back to the classic compositor if the new compositor
doesn't work.
- Desktop icons use the shadowing
- The login screen uses shadows instead of poorly-executed strokes
- The blur_test app has been updated to show multiple blur levels,
but does not use the library function.
Type to change the text.
Resize if you need more space.
Alt+F4 to quit.
(And remember, focus follows mouse, but does not go through transparent
windows, so if you're in the right box, you'll be fine)
Kernel driver sends raw scancodes, compositor or terminal handle the
rest. Support for F* keys will be added soon, in the mean time userspace
applications can know about the status of modifiers (control, shift,
alt, and super).
Compositor actions have been changed to Alt+Left Click for move and
Alt+Middle Click for resize. I'll work on adding more mouse events once
I get them to be faster (they're annoyingly slow at the moment... I want
more accuracy and less latency).
Also add functionality to the terminal to toggle it on and off.
There's a small, but nice-to-have performance increase from disabling
alpha transparency in the terminal.
Also, the display server sets DISPLAY=... to the shmem endpoint for the
compositor, so if getenv("DISPLAY") returns a pointer, you can assume
you are in a graphical environment, instead of having to rely on things
like arguments. Good for those applications that want to be able to run
both full-screen and windowed.