So basically I wanted to jump on that mainstream train and remake my shitty OS for the third time..
Please don't criticize this too hard, I know on my own that this is pretty bad (?).
Functions:
Basic multitasking (start an app and exit out with the delete key. If you press the Launch/Start/WhateverLanguageYouAreOn button again it will resume the last session.<— NOT ANYMORE: This system now uses windows, which are freely moveable/resizeable and minimizeable! (BTW minimized programs should continue running in the background just fine, tested with Firewolf and Shell!)- Taskmanager/ThatLittleTButtonAtTheBottomOfTheStartMenu (lists all suspended coroutines or all paused processes in short. Gives ability to kill process or resume it (like if you would just press the Run-button again))
- Languages (languagefiles are stored in /doorOS/languages/ and are easy to make/to translate, literally just write the stuff written on the left in your language (yes, the files are just tables containing strings, which the OS calls))
Encrypted password storing (after "registering" your account, the program writes everything into a file, while the password is additionally encrypted with the EncryptionAPI) (btw… the key to decrypt your password is stored on my pastebin account, which means you have to always have a internet connection to properly login< now uses SHA-256 (look at the changelog for the pastebin link)- Software management (remove and install apps (you are only able to install apps, which are compiled with my MSIMaker )
- To move a window: drag the window with the M button on the top left
- To resize a window: drag the bottom right corner of the window
- Toolbar:
- red = close
- green = maximize
- orange = minimize (still runs in the background (look at the taskmanager to open it again or to completely close it))
Look at this fancy GitHub Site :P/>
Missing Features:
(easy) installation of programs (you have to move your program to /doorOS/apps/MYAPP.app/PROGRAMRENAMEDTOSTARTUP)<– Added software management :)/>- additional program to make a project/program and compile it to a installer when finished (I'm looking at you, MSI-Maker)
- QuestBrowser (by oeed) ONLY works if you put the "quest"-file to "/" and make a startupfile at "/doorOS/apps/whatever.app/startup", which redirects to "/quest" (shell.run("/quest")) – That's actually not my fault, try to download Quest, put it in a folder (not /) and try to run it…. It doesn't work for me atleast
Planned Features:
- Homemade filebrowser (bruh this can't be that hard :)/> )
Shell as an app (is literally just one damn line :rolleyes:/> )SettingsMaybe finally a shutdown and restart button ? :)/>JUST A THOUGHT: maybe TRY to implement real windows, like in LiquidOS? (I mean I have some ideas (I won't look at other codes, because I really want to LEARN stuff) that could work…)Lol done :D/>
Spoiler
- Updated passwordencryption (now uses SHA-256, idea by Luca_S (thx btw)), which means you should now not be able to decrypt it
- Added Shell as app
- Added shutdown and reboot button (to the top right corner)
- Added Settings ("S" button to the right of the "T" button in the start menu)
- Ability to change the username, password and wallpaper (by using NPaint btw)
- Fixed crashing bug with the searchbar
- Added Software manager (you are now able to remove installed apps and install apps by entering the path to the program, which MUST be compiled with my MSIMaker. It will automatically detect wether it's really a installable program or not and install it.)
- Reworked whole app-starting system: Now uses windows!
- Windows features: moveable, resizeable, quick switching between them (just click on another), minimizing (yes they should be able to run in the background), maximum size: 49x16 (for some apps sad, I will think of adding a fullscreen feature someday… but I'm lazy so this could need some time)
- Edited the installer: it asks if you want to start the OS at boot or not… If not: it creates a file named "bootDoorOS" in "/" for you to easy start the OS up.
Bugs:
Spoiler
Critical: When having more than 1 task and deleting one on the list, every task under it gets deleted and launching other tasks causes the OS to break out of the loop (when I try to use table.remove() it just returns: os.lua: 209: table expected, got nil; I would really love it if someone helped me with that ^^<——– FIXED :)/>
How to download: (and install automatically)
(Wow you actually want to test this? Thx :P/>)
pastebin run pfiSmK3K
Screenshots are attached… INFO: THESE MAY BE (VERY) OUTDATED!