Ethereal's new taskbar and desktop UI looks amazing (no AI used + from-scratch)
▲ 127 r/kerneldevelopment+1 crossposts

Ethereal's new taskbar and desktop UI looks amazing (no AI used + from-scratch)

Ethereal's new UI for version 2.0.0 is coming along great! Here you can see the new taskbar, start menu, and desktop icons (+ a new wallpaper)

Neutron powers everything you see here (minus the Terminal and About Ethereal box, those are todo). The wallpaper chooser, the file explorer, hell even the desktop icons. It provides a mostly fluent and good looking desktop experience.

Total feature list:

  • Built on a custom UI framework known as Neutron which uses a widget-tree model to layout and draw while remaining fully resizable and clean
  • The new taskbar, with support for listing applications. Celestial sends events to the "root window" (there can only be one) for new windows, focus events, etc. The taskbar even has this awesome fade animation that plays
  • The background icons are (as obvious) incomplete. They have this really weird box blur shadow thing I cobbled together from random codepieces to give them an outline. Otherwise, white text would look like garbage
  • Over 6 wallpapers have been created by the lovely artist
  • The start menu supports sub-folders (once separate icons are made, it will be more visible - for now Demos is the sub-folder here, containing the demos for Ethereal)
  • Menus for Alt-Tab keybinds, an application quick-launch menu, as well as other things are fully supported.
  • A minimal (possibly TUI) text editor and (definitely GUI) image viewer are planned for 2.0.

Both of these are still in beta so they haven't been pushed yet, but they are almost ready to be.

As always - Ethereal is a from-scratch x86_64 UNIX-like monolithic modular kernel and contains no artificial intelligence code. The repo is licensed under BSD 3-clause and can be found here:

https://github.com/sasdallas/Ethereal

u/Professional_Cow3969 — 2 days ago
▲ 32 r/kerneldevelopment+1 crossposts

Links on Ethereal

This counts as a web browser in my eyes. Port hasn't been released since its a bit buggy (you can see the scrolling leaving some artifacts at the bottom bar)

Since my last post, Ethereal has also gotten support for sshd among other ports. It has also been merged into mainline mlibc.

There is no vibecoding in Ethereal. This OS is made by humans and always will be.

GitHub: https://github.com/sasdallas/Ethereal

u/Professional_Cow3969 — 25 days ago
▲ 80 r/osdev

Ethereal with quite a few new features. Release hopefully sooner.

It has been slightly around 10 months since the last release of Ethereal but I have been working a lot of things. Demonstrated here is a lot of the new ports and features, including a personal favorite of mine known as XBanan.

Xbanan is a tool developed by u/Bananymous for his amazing banan-os operating system (an OS where a lot Ethereal's port inspiration comes from). It emulates an X11 window server while exposing a generic layer. An initial port shown here is extremely easy, only requiring an initialize/invalidate/create_window function set (as well as everything like unix sockets/poll/etc.). You can find the GitHub here: https://github.com/Bananymous/xbanan

Also shown: The in-progress UIKit for Ethereal known as Neutron and a (incomplete) port of fastfetch.

As discussed in previous posts I rewrote my networking TCP stack, but I also (since last post):

  • Rewrote the entire memory managements system (implementing slabs with caches, proper kVMM allocation, CoW correctly, and more)
  • Rewrote the entire VFS to be more inode/file like
  • Made a really shitty xHCI driver
  • Rewrote the clock system to drop a lot of stolen code (still in progress at the moment)
  • Rewrote the IRQ system (to be more Linux like with IRQ domains and vector allocation)
  • Prepared for tickless with a new one-shot timer subsystem (although this is unstable)
  • Began a window manager rewrite (preserving the protocol but strengthening with multi-threaded capabilities, still unstable)
  • Added tasklets (using the softirq model from Linux)
  • Ported so much more and expanded the Ethereal ports repository.
  • Began setting up for a proper taskbar system.

Ethereal's github is a mess and I hope to clean it up before this code gets to grace the releases tab. A lot of stuff is still buggy and unstable but it will be fixed!

As always, https://github.com/sasdallas/Ethereal - download the latest release from GitHub actions as Lilypad is extremely out-of-date.

u/Professional_Cow3969 — 2 months ago