Commit Graph

848 Commits

Author SHA1 Message Date
Kevin Lange
77ed41c225 kernel vga term, commas in arguments, ide fixes 2012-10-03 22:03:21 -07:00
Kevin Lange
742a6e7448 Fix up style in system.c, fix some bugs, too 2012-10-03 22:01:45 -07:00
Kevin Lange
987fdf2959 Fix one last libpng 1.5.12 / 1.5.13 issue 2012-09-29 16:32:28 -07:00
Kevin Lange
e199e30efd Update toolchain libpng 2012-09-29 15:57:41 -07:00
Kevin Lange
2eb953f1f1 Massive fixes to the EXT2 driver.
* Works with different block sizes
* Works with different inode sizes
* Tested on a real EXT2 file system made with mkfs.ext2

* MBR reading is available
* You can specify a partition with hdd=0 or hdd=1 etc.

* If you make a "real" disk image, you can get GRUB installed in
  its MBR, toss in a suitable config file, and boot right off the
  disk rather than having to use QEMU to boot the kernel or using
  some silly CDROM ramdisk nonsense.
2012-09-29 00:39:01 -07:00
Kevin Lange
8c20e96fb6 reboot syscall will sync disks 2012-09-29 00:38:45 -07:00
Kevin Lange
ac997d0a48 Screenshot utility (testing/brokenish) 2012-09-29 00:38:11 -07:00
Kevin Lange
5e218b1272 Ramblings about microkernels 2012-09-29 00:37:30 -07:00
Kevin Lange
2b3076d0bb [meta] Fix some spelling mistakes in README
Perhaps not my strong suit...
I need to learn to `:set spell` more often.

[ci skip]
2012-09-19 21:54:17 -07:00
Kevin Lange
65e4353399 Icons on desktop, no terminal at login 2012-09-19 21:16:21 -07:00
Kevin Lange
f79f345956 Giant ramdisks (works on my desktop)
But not on my laptop...
2012-09-18 22:20:04 -07:00
Kevin Lange
e0e7b8a7ed Double ramdisk size.
8MB can fit some freetype fonts or a dozen extra applications.

[ci skip] since Travis doesn't deal with ramdisks.
2012-09-18 20:00:50 -07:00
Kevin Lange
9f282a7916 Fix alloc init bug, bump version.
We'll keep that graphic testing thing in there just in case.
2012-09-18 01:19:30 -07:00
Kevin Lange
57534cf009 Fix things up to prepare a working ramdisk. 2012-09-18 00:06:32 -07:00
Kevin Lange
a212a93942 Draw some pretty stuff and halt without a disk img
Don't push this to master!

[ci skip]
2012-09-17 22:58:49 -07:00
Kevin Lange
777b442a1e Finish rename of bochs driver to lfb driver.
* Removed some deprecated header stuff.
* Renamed functions / global variables.
2012-09-17 22:46:43 -07:00
Kevin Lange
5ce042f2d8 Deprecate VESA support.
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.
2012-09-17 22:22:25 -07:00
Kevin Lange
8dec80deb9 [risky] Try to merge in dirent.h stuff.
This might not work. I hope it does, though.
2012-09-16 20:37:22 -07:00
Kevin Lange
af65ec4178 Update README
* 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]
2012-09-16 18:35:32 -07:00
Kevin Lange
352badfadf Cleanup some things
* 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.)
2012-09-16 18:14:07 -07:00
Kevin Lange
127b24a686 Bump default QEMU memory to 1GB 2012-09-14 21:53:04 -07:00
Kevin Lange
ee875440a0 Fix travis config? 2012-09-14 21:30:56 -07:00
Kevin Lange
285fbfd7ed Change Travis settings 2012-09-14 21:22:46 -07:00
Kevin Lange
32fe610b7c Updates to newlib patches
* Replace my allocator with dlmalloc [public domain]
* Path up setjmp.S so that it doesn't call CLI
* Add some stubs to syscalls.c
2012-09-14 19:11:45 -07:00
Kevin Lange
66c2df40c1 Fix alpha blending for RGBA destinations.
* Also enable PNG loading in `view`
* Also enable RGBA PNG loading in general
2012-09-13 23:22:38 -07:00
Kevin Lange
4c67b5da84 Completely rewrote compositing engine
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.
2012-09-13 22:12:47 -07:00
Kevin Lange
1f8f17d08f README now includes a blurb about user passwords.
[ci skip]
2012-09-13 13:46:43 -07:00
Kevin Lange
d2fff11244 Make logout a lot more reliable and stable.
[ci skip]
2012-09-13 00:29:29 -07:00
Kevin Lange
08f6a66e6a Support graphical session logout.
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]
2012-09-13 00:10:00 -07:00
Kevin Lange
cea692b577 And now with more login.
* 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.
2012-09-12 23:19:07 -07:00
Kevin Lange
b4ae49b056 Graphical Login Manager (without the login part)
* Some-what managed sessions
* Cool fade in effect from the bootscreen
* Not terribly unawesome rendering of everything else
2012-09-12 22:10:10 -07:00
Kevin Lange
994af55611 PNG wallpapers; compositor bug fixes; oh my!
* 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).
2012-09-12 20:10:48 -07:00
Kevin Lange
ba358a51ff Bump kernel version
* Panel now displays actual kernel version using the uname hack
2012-09-12 20:08:30 -07:00
Kevin Lange
46d8f11c88 Add libpng/zlib to the toolchain
* 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.
2012-09-12 20:06:22 -07:00
Kevin Lange
03181de68b One line fix to a big bug in the ext2 driver
[ci skip]
2012-09-11 00:26:39 -07:00
Kevin Lange
3a5fda0d9c Super fast terminal scrolling.
* Uses memmove to shift terminal cells and graphics memory.
* Can cat cat super-fast!

Verified in windowed, fullscreen, and VGA modes.

[ci skip]
2012-09-10 23:42:45 -07:00
Kevin Lange
09c01eb2c5 Make docs and utils a separate build path from all
docs require too many extra dependencies and haven't been updated in
ages; utils are not required for anything.

[ci skip]
2012-09-10 22:53:39 -07:00
Kevin Lange
688e2f19bd Updated READMEs, TODOs, fonts, Bim.
* 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.
2012-09-09 20:48:43 -07:00
Kevin Lange
c8cfd50fd7 Rudimentary support for moving the viewport horiz.
Rough, still a bit broken, needs cursor tracking.

[ci skip]
2012-09-08 22:25:32 -07:00
Kevin Lange
fe07b4b9bb Support for multiple buffers (tabs) in bim.
: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.
2012-09-08 20:20:38 -07:00
Kevin Lange
3f5dbcaf9b Update core Makefile for building bim for Linux
[ci skip]
2012-09-08 16:49:40 -07:00
Kevin Lange
3a62d779f0 Include a working implementation of wcwidth()
Terminal and Bim both use this third-party implementation of wcwidth()
Please see the README for copyright and license information.

[ci skip]
2012-09-08 16:47:43 -07:00
Kevin Lange
58ca0b984c Add write support; make sacrifices to the gods
- 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]
2012-09-08 15:54:56 -07:00
Kevin Lange
d424e70aa6 [bim] Insert linebreaks into the middle of lines
[ci skip]
2012-09-08 15:23:10 -07:00
Kevin Lange
df8afae9b9 Linux support for bim; fix a bug when opening
[ci skip]
2012-09-08 14:37:48 -07:00
Kevin Lange
b63f0a11f7 Refresh the statusbar when the cursor moves
Because we weren't always doing that, especially on normal-mode
movements. [ci skip]
2012-09-08 02:39:45 -07:00
Kevin Lange
d2374903f1 This is Bim, a Bad IMitation of Vim.
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.
2012-09-08 01:47:19 -07:00
Kevin Lange
ea1146ea17 More minor fixes to the terminal 2012-09-08 00:17:43 -07:00
Kevin Lange
af6be648d4 A lot of refactoring 2012-09-07 20:17:00 -07:00
Kevin Lange
12bf07364c Pull the font and palette out of the terminal code
Honestly, the latter should be configurable to an extent.

[ci skip]
2012-09-06 19:46:36 -07:00