Commit Graph

1064 Commits

Author SHA1 Message Date
Kevin Lange
1a648129cb Fix import for dirent.h 2012-10-08 19:37:46 -07:00
Kevin Lange
5249138dcd Environment variables, integrated with newlib.
* Patched crt0 to support a pre_main
* pre_main sets up environment variables, can do other things later,
  but then just jumps to main with the same arguments.
* Updated a bunch of apps to pass environment variables around.
2012-10-08 00:17:50 -07:00
Kevin Lange
147f112151 Updated toolchain scripts for better libc builds 2012-10-08 00:17:32 -07:00
Kevin Lange
99b48f72e0 Fix cursor position after tab-tab complete 2012-10-07 20:57:58 -07:00
Kevin Lange
ad6d8f013e Fix some things I missed previously.
- Environment loading in esh was broken.
- I dropped the 'exit' command from esh somewhere along the line.
2012-10-07 20:54:11 -07:00
Kevin Lange
deaa6ad513 Rough support for environment variables
- libc functions not implemented yet
- see `env` for an example of reading variables
- see `esh` for an example of how to set and maintain variables for
  sending to other applications

  Both of the above will be the basis for the libc implementation.
2012-10-07 20:46:35 -07:00
Kevin Lange
272a2a3809 Fix history bugs from previous.
- Fix history scrolling after ^L
- Fix duplicate entry pruning.
2012-10-07 15:58:30 -07:00
Kevin Lange
484cf903cd Fixes for multiline history
(Also fixed a bug with backspace handling in the terminal)
2012-10-07 12:22:39 -07:00
Kevin Lange
b37fa0180f Good catch, ayust 2012-10-07 11:09:51 -07:00
Kevin Lange
609a43c15c Command parser with quotation support. 2012-10-07 11:01:00 -07:00
Kevin Lange
1fba6661f8 reverse-i-search
- Also fix history
2012-10-07 09:34:10 -07:00
Kevin Lange
8374d09c3c Make tab completion slightly better
- Link with the list library.
- Use lists to make match evaluation faster.
2012-10-07 08:45:00 -07:00
Kevin Lange
478e7c31f1 Fill in remaining for tab completion.
This is pretty inefficient...
[ci skip]
2012-10-07 00:18:55 -07:00
Kevin Lange
e496060b3e Fix up tab completion 2012-10-06 23:48:46 -07:00
Kevin Lange
c0b29c365a History and better line editing for esh. 2012-10-06 23:01:39 -07:00
Kevin Lange
f26ad85965 Update README.md
[ci skip]
2012-10-06 01:10:28 -05:00
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