djOS
djOS is a project I have been working on that combines object-orientated 'windows' and the Windows API. Nothing too special, just me learning how coroutines and things work.
You're welcome to learn off of this OS (what not to do maybe..) and give suggestions for how it could be written better (especially coroutines and windows, they are really messy!)
The UI is pretty nice, and everything is modular.
At the moment its WIP, so things like the Notifications Menu and Control Panel aren't complete (however the Notifications is functional, just needs touches here and there).
FEATURES
Spoiler
- Multiple Windows, all draggable, running at once
- Control Panel (WIP, does have buttons functioning fine, but no real…feature)
- Notifications (WIP, but the idea is so you can see who has been spamming your modem with messages, see when a disk was inserted into, or ejected out of, your Disk Drive, and more!)
- Desktop Environment (WIP, but the idea is that you can navigate your way through a visual file system, clicking on folder icons to bring up a new desktop within that directory or clicking on a program icon to run it)
- Time (…yay…)
- When setting the Window's 'Path', you don't have to link it to a file, it can be linked to programs that you can run normally (e.g. "edit test" or "hello"
- Active Window displays above all else! (Also displays the Active Window's label on taskbar)
SCREENSHOTS
Everyone loves these!
Spoiler
QUESTIONS YOU WILL PROBABLY ASK
OR
THINGS YOU MIGHT SAY IN THE COMMENTS
Spoiler
What is WOOPS?*
WOOPS is what this OS is based on.
It's basically a mix between Object-Oriented Programming (OOP) and the Windows API (W-S).
Or, if easier, can be understood as Window-Object-Oriented Programming. But that would be WOOP.
What does that mean?
Well, it means that this OS has objects and windows and window objects.
This is like your 4th OS, why another?
I love programming with CC.
Making OS' is my favourite thing is CC.
Learning new CC tricks is awesome.
Just learning how coroutines/windows work is awesome.
Those combined equals a new OS…
In regards to your code…
Yes, I know, it's very neat.
Got 'em.
You will notice it isn't commented much…at all.
It isn't like it's hugely hard to understand anyway :P
Yes, I'm open to suggestions. Comment below!
WHAT'S NEXT?
Spoiler
You mean aside from finishing the Notifications Menu, Control Panel and Icons?
Well…
Spoiler
- Login on startup (Would use SHA-256 hashes, maybe with a flick of salt..)
- Register availability (?) (Would involve making EVERYTHING read-only on the computer if your not an Admin)
- Custom Shell (Hate those black boxes on my desktop when running 'shell' in a window…)
- Email/Modem Messaging (With Notifications Menu integration)
- App Store (Download common apps and programs)
- Network FS (Sharing folders/programs over a network - Integrated into djOS)
FEEL FREE TO COMMENT FEEDBACK, SUGGESTIONS ETC.
('Good job' is a thing as well…)
*I so read your mind, didn't I?