This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
imef's profile picture

Graphical Operating System - ImefOS v1.1

Started by imef, 05 January 2013 - 05:06 AM
imef #1
Posted 05 January 2013 - 06:06 AM
Imef OS


ImefOS is an operating system for advanced computers which takes advantage of the large graphical possibilities.
It has its own file management system and and has an option to be secured by password.

It is even possible to create your own applications for the OS. A tutorial shall be released soon explaining how to create one.


images :
SpoilerThe desktop :
Spoiler

The file management system :
Spoiler

Message Boxes :
Spoiler

Settings Application :
Spoiler

Password at startup :
Spoiler


Videos :
SpoilerMaking ImefOS:
update 1:
Spoiler[media]http://www.youtube.com/watch?v=3nAHAcb0GP4&list=PL3598A1D35EC6B618&index=21[/media]

update 2:
Spoiler[media]http://www.youtube.com/watch?v=_ABIuVxLA9A&list=PL3598A1D35EC6B618&index=23[/media]

update 3:
Spoiler[media]http://www.youtube.com/watch?v=JcMP7hATwfo&list=PL3598A1D35EC6B618&index=26[/media]

update 4:
Spoiler[media]http://www.youtube.com/watch?v=PkbW57pRSWs&list=PL3598A1D35EC6B618&index=27[/media]

update 5:
Spoiler[media]http://www.youtube.com/watch?v=-LSx6r2ngto&list=PL3598A1D35EC6B618&index=28[/media]


Download :
ImefOS v1.0 : mediafire
ImefOS v1.1 : mediafire


Install Guide :
  1. Download ImefOS
  2. Open the folder of the world in which you want the OS.
  3. Open the folder "computer"
  4. Open the folder(s) of the computers you want to have the OS.
  5. Drag "startup" and "ImefOS" into the folder(s)
  6. Go on Minecraft an enjoy!
Video Install guide :
Spoiler[media]http://www.youtube.com/watch?v=yKgdfvmNAf8[/media]

Futur Updates :

Now that v1.0 is out, it is time to start working on more content. At first I'm planning on improving v1.0 with minor updates to optimise the code, fix bugs, and also provide better esthetics. At the same time, I'll be working on a major update which will include many new features.

What is planned is v2.0 :
Spoiler
  • Adding a console.
  • Adding an option to set a background image for the desktop.
  • Adding a web browser
  • Adding servers and wi-fi relays.
  • Adding an updater (to update the OS if the http API is enabled).
  • More bugs features (I am open to requests).

Tuturial : Making your own Applications
Coming soon!



You are free to use and modify ImefOS in any way you want but if you want to distribute the code or a modified version, please contact me.
Dlcruz129 #2
Posted 05 January 2013 - 06:12 AM
Very nice for a first post!
rhyleymaster #3
Posted 05 January 2013 - 07:47 AM
I swear, This looks IDENTICAL to Windows 3.1 xD

Good job on the GUI.
Exerro #4
Posted 05 January 2013 - 08:03 AM
wow the graphics on this look amazing…if there were more programs i would definitely say this is the best OS i've seen…i think graphics are one of the most important things apart from usability and functionality :P/>
GravityScore #5
Posted 05 January 2013 - 10:20 AM
Love the look of this OS! It's quite unique!

May I suggest making an installer? It would be useful on multiplayer servers, and for overall easiness.
pielover88888 #6
Posted 05 January 2013 - 04:44 PM
this looks….a whole lot like what mine did that i dropped when i couldn't make clicking the equivalent to the start button actually work.. lol
anyway, looks cool, if it was just a pastebin link o_o otherwise i really wouldn't install it, lol
perhaps an installer file, even if it just goes through a list of pastebin links and downloads from it?
Edited on 05 January 2013 - 03:46 PM
imef #7
Posted 06 January 2013 - 12:10 PM
this looks….a whole lot like what mine did that i dropped when i couldn't make clicking the equivalent to the start button actually work.. lol
anyway, looks cool, if it was just a pastebin link o_o otherwise i really wouldn't install it, lol
perhaps an installer file, even if it just goes through a list of pastebin links and downloads from it?

If I make a lua program using the http API to download the OS from pastebin, would that be ok? (It is planned anyway for ImefOS v2.0 ;)/>)
pielover88888 #8
Posted 06 January 2013 - 03:49 PM
Even better, imef! :D/> sounds great, i really can't wait!
I wonder if it works well with Taskforce..
Thomasims3 #9
Posted 08 January 2013 - 10:53 AM
if there were more programs/>
I tried to make a program and it can be strange at first but once you get how it gets updated, the only problem left is to run the program (which can be done with the file explorer).
So, more programs is totaly possible
imef #10
Posted 10 January 2013 - 12:01 AM
if there were more programs/>
I tried to make a program and it can be strange at first but once you get how it gets updated, the only problem left is to run the program (which can be done with the file explorer).
So, more programs is totaly possible

It is true application making is strange. That's why I'll post a tutorial soon on how to make one. And later (probably for v2.0) I'll make an application to make them some which would work a bit like Visual Studio.
Thomasims3 #11
Posted 10 January 2013 - 01:41 AM
if there were more programs/>
I tried to make a program and it can be strange at first but once you get how it gets updated, the only problem left is to run the program (which can be done with the file explorer).
So, more programs is totaly possible

It is true application making is strange. That's why I'll post a tutorial soon on how to make one. And later (probably for v2.0) I'll make an application to make them some which would work a bit like Visual Studio.
I was just thinking about making an application like that. I think it would need a 2D view object, which would have tables like the 'app' does
darkroom #12
Posted 10 January 2013 - 08:56 AM
You say you treat the buttons like objects can you show us this code? I would love to see how someone else made OOP in Lua :)/>
imef #13
Posted 10 January 2013 - 10:39 AM
ImefOS v1.1 is out!
I have improved the rendering/displaying, the text boxes, and the list boxes.


You say you treat the buttons like objects can you show us this code? I would love to see how someone else made OOP in Lua :)/>

There are a bit less than 20 files in ImefOS. Most of them represent an object (ex : button, list box, text box, window, …).
I will put the code on pastebin in near future but until then you can download the zip with all the files. ;)/>

And if you are interrested, here's the basic structure I use for an "object" in lua :

Spoiler

local object = {

  --insert functions here

}

local object_mt = {
  __index = object,
}

function new(argument)
  local t = {
    --initialize objects local variables
    argument = argument or (default value) --replace default value with anything (number, table, string, ...)
  }
  setmetatable(t, object_mt)
  return t
end

 
darkroom #14
Posted 10 January 2013 - 02:19 PM
Still wrapping my head around your code but guys really this code is so much better than normal programs really everything is short and simple. I never thought much about OOP till now. Sidenote(I was about to release the first version of my OS but no I need to rewrite everything with classes so I can use the magics of class inheritance)
Edit: As I am writing my new OS my god…. its so easy to make things so complex
Thomasims3 #15
Posted 17 January 2013 - 09:52 AM
Here are some objects I made for people who know how to use them (you need to run them before using them in your program of course) :

 "Color Console" (testing)
 it's just a console window that scrolls down as it receives messages using 
 addMessage({text1,text2,text3},{colorText1,colorText2,colorText3})
 it get two tables with 3 string and corresponnding colors. Needs testing.
  http://pastebin.com/MPrZeTZe

 "DropDown Button" (testing)
 the title says it all, give it a table of names and the button selected is the output (I highly recommend setting "sel" to -1 after the selection check( if sel == 'choice number' then sel=-1; code; end)).
  http://pastebin.com/ZDsnBn2k

 "Event Box" (I think it works)
 each time it gets an update call, it sets its event and params then return true.
 the function that uses this can take the variables (event, p1, p2, p3). 
 this function will be called on every events the EventBox receives.
  http://pastebin.com/PxFxcMJM

PS: if there is a way in the base code to get a function called every time that can use the event properties then I missed it. That's why I made the event box.