OneOS Version 2 - The All in One Operating System
#481
Posted 03 July 2014 - 11:47 AM
change your cfg file where it says whitelist: pastebin.com*; computercraft.info*
to whitelist: *;
someone correct me if i made typos ( on my phone atm )
I Hope that helped
#482
Posted 03 July 2014 - 11:54 AM
#483
Posted 03 July 2014 - 01:13 PM
NanoBob, on 03 July 2014 - 11:54 AM, said:
This tutorial was made for this exact problem.
http://www.computerc...e-the-http-api/
#484
Posted 03 July 2014 - 04:20 PM
It's amazing!! There is no lag/bugs and very easy to use =D
#485
Posted 03 July 2014 - 06:29 PM
#486
Posted 03 July 2014 - 07:41 PM
how do i fix this? i want to try it, but every time i try i get mad at these stupid installers or computercraft, my http is enabled. and when i try it on mimic(an online interpreter) it just says 'determining latest version' forever!
#487
Posted 03 July 2014 - 08:00 PM
slow-coder, on 03 July 2014 - 07:41 PM, said:
how do i fix this? i want to try it, but every time i try i get mad at these stupid installers or computercraft, my http is enabled. and when i try it on mimic(an online interpreter) it just says 'determining latest version' forever!
In this case, 'domain not permitted' is a behavior of ComputerCraft 1.6. The solution is easily found via Google, but I'll save you the time...
Open your ComputerCraft.cfg file and find this entry:
# Set the list of domains that can be accessed through "http" API on Computers. Set this to "*" to enable access to the entire internet. S:http_whitelist=*pastebin.com;*computercraft.info;*github.com --# these entries may be different in your config
To enable ALL domains do this
# Set the list of domains that can be accessed through "http" API on Computers. Set this to "*" to enable access to the entire internet. S:http_whitelist=*
or simply add the domains you wish to be able to visit following the format in the above example.
If you are playing on a server, the server admin will have to do this.
#488
Posted 03 July 2014 - 10:06 PM
slow-coder, on 03 July 2014 - 07:41 PM, said:
how do i fix this? i want to try it, but every time i try i get mad at these stupid installers or computercraft, my http is enabled. and when i try it on mimic(an online interpreter) it just says 'determining latest version' forever!
Well, that's your fault, not Oeed's fault. Follow this link, http://www.computerc...e-the-http-api/, or follow the above post's instructions.
#489
Posted 04 July 2014 - 05:13 AM
MrStickmanPro1, on 29 June 2014 - 02:01 PM, said:
first of all, I gotta say that this is the best OS I've seen so far for computercraft. Well done.
However, I've got one question: If yes, how can you use external monitors?
- MrStickmanPro1
You definitely can in 1.2 (which is still to be released), but I'm not sure if I added it to 1.1 (pretty sure I didn't).
What you could do is rename startup to something else (something like 'oneos') then, create a new startup file with this code:
shell.run('monitor left oneos') --replace left with the side of the monitorThe main problem is that you can't right click but everything else should work.
Beeskee, on 30 June 2014 - 05:14 AM, said:
slow-coder, on 03 July 2014 - 07:41 PM, said:
how do i fix this? i want to try it, but every time i try i get mad at these stupid installers or computercraft, my http is enabled. and when i try it on mimic(an online interpreter) it just says 'determining latest version' forever!
Now, on to some more news with the update.
It's moving along nicely. I've finally converted the base OS across to Bedrock (read the previous page for more info about it).
The previously 600 line main file is now only 60 lines and probably won't get much bigger. I've got menus and windows all working.
Here's some example code for making an alert box:
program:DisplayAlertWindow('Self Destruct?', 'Are you sure you want to blow up everything?', {'Yes', 'No'}, function(text) if text == 'Yes' then blowUp() end end)
Which results in:
You can also show windows using a view (similar to program:LoadView) with similar syntax as above.
For menus the code looks like:
myButton.OnClick = function(self, event, side, x, y) if self:ToggleMenu('desktopmenu', x, y) then program:GetObject('NewFolderMenuItem').OnClick = function(itm) --TODO: new folder end program:GetObject('NewFileMenuItem').OnClick = function(itm) --TODO: new file end program:GetObject('RefreshMenuItem').OnClick = function(itm) --TODO: refresh end end endYou can either pass the name of a file which has the menu items (which could be made using drag and drop) or you can pass a table, which could look something like:
{ ["Type"]="Menu", ["Children"]={ [1]={ ["Name"]="NewFolderMenuItem", ["Type"]="Button", ["Text"]="New Folder..." }, [2]={ ["Name"]="NewFileMenuItem", ["Type"]="Button", ["Text"]="New File..." }, [3]={ ["Name"]="Separator", ["Type"]="Separator" }, [4]={ ["Name"]="RefreshMenuItem", ["Type"]="Button", ["Text"]="Refresh" }, }, }
I've also added drawing constraints. Basically, if you have something like a window and the content is bigger than the window it will cut out everything that isn't within the constraints, you can also toggle this off. Additionally, these constraints are compounded, meaning that they essentially stack up... yea I can't really explain that, but they basically just work.
One of the big things I'm wanting feedback on is when the screen is drawn. Previously when ever something was clicked or something needed to be drawn the system would draw everything again (buffered though). In this new system I've made it so it will check if anything needs to be drawn every fifth of a second and if so draw anything that changed. All objects which haven't changed will draw from a cache. Objects can tell the OS to draw them using self:ForceDraw() However, I'm not sure if doing it this way is the best really, so if you have any feedback in this area it'd be most appreciated.
Edited by oeed, 04 July 2014 - 05:16 AM.
#490
Posted 08 July 2014 - 08:09 PM
oeed, on 04 July 2014 - 05:13 AM, said:
First off, let me just say that I don't know how OneOS works internally, nor do I know the performance benefits of what I'm about to suggest, so this may or may not be a good idea. But why not take the best of both worlds? Have a certain "mode" using a method like you described above that you can toggle on and off that's used when you need to redraw most of the screen (ex. going into the file explorer) and another that's used for redrawing small things (ex. moving icons on the desktop, messages popping up) that can just draw what it needs to and leave everything else?
Edited by Thegameboy, 08 July 2014 - 08:10 PM.
#491
Posted 08 July 2014 - 08:47 PM
#492
Posted 08 July 2014 - 09:47 PM
but anyway, one thing I think needs major improvements in OneOS is the file size. Seriously. It's too big. After installing OneOS you have like 1/4th of a MB to do all your stuff. I'd say you should compact everything down to a little under 500MB then have the user have 2 floppies with the OS. And if you could get it down to 124KB(probably impossible without dropping features) then that would mean only one disk. I'm currently making a program to expand storage to a (theoretically) infinite potential amount of storage using disk drives hooked to a computer, though the networks are pretty dang big for their size. For 1mb, it takes 8 drives with floppies, though you could use pocket computers, I've confirmed that they work. Either way, you don't want to have to go to the point where you need a network just to install OneOS with some space leftover.
#493
Posted 09 July 2014 - 12:09 AM
Thegameboy, on 08 July 2014 - 08:09 PM, said:
Lyqyd, on 08 July 2014 - 08:47 PM, said:
Geforce Fan, on 08 July 2014 - 09:47 PM, said:
but anyway, one thing I think needs major improvements in OneOS is the file size. Seriously. It's too big. After installing OneOS you have like 1/4th of a MB to do all your stuff. I'd say you should compact everything down to a little under 500MB then have the user have 2 floppies with the OS. And if you could get it down to 124KB(probably impossible without dropping features) then that would mean only one disk. I'm currently making a program to expand storage to a (theoretically) infinite potential amount of storage using disk drives hooked to a computer, though the networks are pretty dang big for their size. For 1mb, it takes 8 drives with floppies, though you could use pocket computers, I've confirmed that they work. Either way, you don't want to have to go to the point where you need a network just to install OneOS with some space leftover.
Yea... file size is quite an issue. I really just don't know what to do about it though. The largest part of the OS by far is the programs, although the APIs are still quite sizeable. I don't think getting it down to 124KB is going to be at all possible. Hopefully Bedrock will reduce the file sizes a bit as it makes a lot of code I just copied and pasted centralised (the main.lua file is now 4KB, previously it was 15KB).
I've looked briefly in to minification. Removing tabs takes about 46KB and new lines about 26KB, although that's not strictly minification. And if possible I'd like to keep line numbers for error reporting. I'm going to take a look at this today and see how beneficial it'll be: http://matthewwild.c...s/squish/readme
I'm not sure if gzipping will work with CC, but it might help a lot.
#494
Posted 14 July 2014 - 10:03 AM
I've really been trying to reduce the size of the OS. I've managed to get it around 420KB (although that could change greatly), leaving you with over 500KB. I'll try to squish it down even more, and as I rewrite more programs to use Bedrock this should certainly help.
By far the biggest three files are Sketch, LuaIDE and Ink. I put them through a minifier and it certainly helped (about 30 - 40% reduction), but unless I start deleting things there isn't really going to be much more room to make space.
In other news, I've almost finished rewriting Files. Bedrock has changed it from a 600 line file to just 200 lines, so I'm quite happy with the benefits it's having. I've also added logging to the OS which will hopefully assist with tracking down errors, especially if I have to loose line numbers to save space. I don't have much logging at the moment, but I'll hopefully have enough information to solve most issues easily (the logs will be uploaded to GitHub instead of the serialised table).
So yea, I can't say when this update will be finished, but one thing I will promise, I won't be adding any more features I haven't already mentioned. I don't want to push the release further and further back. I'd also like to point out that 1.2 will not have have OneCode or Inspector. They might come 1.3.
#495
Posted 14 July 2014 - 10:28 AM
Quick question: is it possible to use bedrock for myself?
#496
Posted 15 July 2014 - 08:31 AM
CCNerd, on 14 July 2014 - 10:28 AM, said:
Yes, you most definitely will. I'll probably release it a week or two after I release 1.2. The main thing I need to do is write documentation and a tutorial on how to use it.
#497
Posted 15 July 2014 - 01:18 PM
Release 1.2!
Release 1.2!
#499
Posted 16 July 2014 - 04:28 AM
Thanks
Edited by Tombot44, 16 July 2014 - 04:29 AM.
#500
Posted 16 July 2014 - 04:46 AM
Tombot44, on 16 July 2014 - 04:28 AM, said:
Thanks
1.2 is bringing greater support for pocket computers. Is there any aspect you feel that could improve? I will not be making a special version though, it just complicates things.
3 user(s) are reading this topic
0 members, 3 guests, 0 anonymous users