Truly independent web browser
Find a file
Andreas Kling ae90043424 WindowServer+LibGUI: Send the window size along with Paint server messages.
This way GWindow doesn't need to do synchronous IPC to fetch the appropriate
size for the window's backing store. This is mostly only relevant during
live resize.
2019-02-26 10:53:21 +01:00
AK WindowServer: Add a simple CPU usage graph to the global menu bar. 2019-02-26 02:17:25 +01:00
Applications FileManager: Don't crash when clicking on a forbidden directory. 2019-02-26 00:59:37 +01:00
Base Kernel+Userland: Implement setuid() and setgid() and add /bin/su 2019-02-21 23:38:10 +01:00
Kernel More moving towards using signed types. 2019-02-25 22:06:55 +01:00
LibC More moving towards using signed types. 2019-02-25 22:06:55 +01:00
LibGUI WindowServer+LibGUI: Send the window size along with Paint server messages. 2019-02-26 10:53:21 +01:00
Meta Meta: Update ReadMe with a new screenshot. :^) 2019-02-12 15:47:37 +01:00
SharedGraphics More moving towards using signed types. 2019-02-25 22:06:55 +01:00
Userland More moving towards using signed types. 2019-02-25 22:06:55 +01:00
WindowServer WindowServer+LibGUI: Send the window size along with Paint server messages. 2019-02-26 10:53:21 +01:00
.gitignore Move over to building all of userspace with i686-pc-serenity-g++. 2019-02-22 14:45:14 +01:00
ReadMe.md Switch over to building everything with i686-elf-g++. 2019-02-22 10:45:32 +01:00

Serenity

x86 Unix-like operating system for IBM PC-compatibles.

About

I always wanted to write my own operating system, but I never took it seriously. Until now.

Screenshot

Screenshot as of 000ccc0

Current features

  • Pre-emptive multitasking
  • Compositing window server (in userspace)
  • ext2 filesystem support
  • mmap()
  • Unix-like libc and userland
  • Pseudoterminals
  • Event-driven GUI library
  • Other stuff I can't think of right now...

How do I get it to run?

You need a cross-compiler for the i686-elf target. I've only tested this on an Ubuntu 18.10 host with GCC, so I'm not sure it works anywhere else.

If you'd like to run it, here's how you'd get it to boot:

cd Kernel
./makeall.sh
./run q          # Runs in QEMU
./run            # Runs in bochs

Author

License

Undecided. Probably something close to 2-clause BSD.