This is in favor of bootloader-assisted mode switching. Grub has a
wonderful option we will exploit to set the video mode.
My laptop supports a couple of 32-bit video modes, which is nice,
because I'm not support 24-bit modes.
I'm not sure whether the super-sketchy video memory locator will work
in the real world, but we'll find out sometime soon.
* New screenshots
* The leading screenshot has been replaced with a new one.
* Other screenshots have been added.
* Change IRC blurb
* Add a blurb about third-party software
* Fix some typos
* Add a note about libpng and zlib to the license section.
[ci skip]
* Remove old login background [unused]
* Remove glock (graphical lock) [outdated]
* Have toolchain/activate set pkg-config variables
XXX: You will have unset PKG_CONFIG_LIBDIR to configure native
software if you have activated the toolchain! Otherwise, your
pkgconfig information will be incorrect.
* Fixed a bug in the compositor where we would give window stack order 0
to applications that didn't ask for it because depths were assigned by
wid which starts at 0. Make it start at 1 instead, no chance of an app
getting the wrong stack order (this shoudn't have any effect on how
things work with a login app, since it grabs wid 0; but if you boot
directly into a non-login environment, minor timing issues can do odd
things.)
The compositor itself still needs work, but the compositing engine
within now does full blitting and is faster than the old method.
Transparency is now supported properly, though telling the compositor to
use it on a window will degrade performance. One terminal is usually
okay, and everything runs faster than it did before; two terminals is
pushing it; three will make you very sad. The stacking logic has also
been updated. Presumably, alpha blitting for transparent windows could
be done with SIMD instructions and be extremely fast.
All graphics libraries have also been updated to (hopefully) work
properly with alpha bits.
You can log out by exiting the terminal for now, this will later be "by
exiting the wallpaper application" or something to that effect, and will
be triggered by an on-screen button or keybinding.
[ci skip]
* Also cleaning up some kernel logging options here.
* You can log in as local or root with passwords local and toor
* Graphical sessions are still buggy, so don't kill that terminal.
* Fresh new wallpaper as a PNG from gnome-look:
http://gnome-look.org/content/show.php/Echo?content=137142
(By user hyperdude111, released as "do whatever you want")
* Terminal bug fix for --geometry option, which was derping on height
vs. width.
* Compositor bug fix for wallpaper app not showing up at the bottom.
Fixed by doing a better job of reordering the windows on a REORDER
call (which we weren't actually doing).
* 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.
* A minor bug has been fixed in bim's write_file method
* The VL Gothic fonts have been updated (and the proportional version of
the font is now included)
* The README and TODO have both been updated to reflect current plans.
:tabp and :tabn will switch between them.
:q will try to (fully) close the current tab, :q! will force it.
:qall will try to close all tabs; maybe I'll :qall! later.
- 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]
It's an editor, but it is incomplete. For example, write is not
supported yet, so you can open existing files and make modifications,
but you can not save them. Use it as a fun little scratchpad, I guess.
\033[1003z will stuff them into stdin like 80,24.
This is a hack, just like the "disable local echo" hack used for
passwords and it should, ideally, be replaced with a proper system as
defined in POSIX for terminal control, but for, it works, and that's
pretty cool because it means `ls` can stop being stupid.
* Some applications now support UTF-8 text through the use of a very
simple decoder.
* The terminal uses a slow, but accurate method to determine the width
of a character the first time it is printed to the screen. Characters
are now stored in the terminal in two bytes, rather than one, and may
in the future be increased to 3 or 4 bytes to ensure support for
Unicode supplemental planes.
* A simple font-fallback method is employed in the applications that
support unicode that will make use of the VL Gothic fonts if the
DejaVu font does not have a character. No guarantees are made for
support of writing systems other than extended Latin and Japanese.
* 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.
- Can now register a userspace file descriptor as the output for kernel
print statements through kprintf()
- Can set logging levels for debug print messages, which are separate
from kernel log events and meant to be more readily visible. Log
events are recorded in a buffer to be viewed later, though nothing
actually using logging at the moment.
- Serial output is disabled by default now. You can enable it yourself
by appending the logtoserial argument to the kernel on boot.