* Also some minor updates to the toolchain in general.
* Replacing the old bitmap wallpaper (not the actual wallpaper, but the
terminal one) with a fresh new wallpaper as a PNG.
- Write support!
- The widths of characters is now determined with freetype ;-;
I really wish wcwidth() was a real thing, but it's not.
This is a sacrifice that had to be made.
If you are building FOR Linux -rather than toaru- you might need to
poke at some things to make sure it builds, but in my experience it is
working just fine (and IMEs now work properly).
[ci skip]
* Finally bring syscall.h up to speed and include all syscalls in the
syscall module of the C library.
* Remove the third-party obfuscated C demos (we have nyancat, good
enough)
* Fix userspace apps to build without complaining about undeclared
strtok_r by disable __STRICT_ANSI__
* Fix .eh_frame by including the proper stuff with libgcc.
All graphics library commands now take a gfx_context_t pointer, which
points to a simple datastructure describing a rendering context (width,
height, depth, total size, front buffer, backbuffer; where backbuffer =
front buffer when not in double-buffering mode, thus we always render to
backbuffer except on a flip). This may have caused a minor speed
reduction, but I don't really care as it's far more important that we
support multiple graphics contexts.
TODO:
- Shared Memory Fonts library (there are a couple of apps that use these
so-called "shmem fonts" on their own; we need a dedicated library for
them)
- Break off "TTK" GUI toolkit into its own library. Since it's just a
callback-based button framework, this shouldn't be too hard right now.
Also, with the previous tick, I'll be able to put labels on controls
and start using text in more places.
This update includes support for shadow passwords, stored in
/etc/master.passwd, as well as support for an /etc/passwd file
containing user/uid/full name/shell associations, which are used by the
shell to get your username for display purposes, as well as by whoami
for the same reason. The login tool does not yet select the right shell
though this is planned.
* root's password is `toor` (a throwback to older times)
* local's password is `local` (because it's obvious)
Need to replace the bitfont with freetype, get the thing attached to a
pipe, start getting other stuff to run under it, and then we can remove
the kernel's graphical terminal.