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

Long Os - [v1.2 Released] Multitasking Multilocalized Windowed Open-source Os

Started by Gvin, 12 September 2013 - 05:51 AM
Gvin #1
Posted 12 September 2013 - 07:51 AM

LongOS is an open-source project which purpose is to create simple and intuitive windowed OS for ComputerCraft.
The main goal is to make common everyday actions easier and faster. And also to add some pretty interface for every such action.
Being the open-source project means that anyone can fork or contribute to this OS if he want to.

Current OS version: 1.2



To update from v1.1
SpoilerYou can update your LongOS using integrated updater. To do this you should install patch.

pastebin get YwAJTYgU
Install it, run updater and wait until it finishes it's work.

Screenshots:
SpoilerOS basic screen


Downloader program running


File manager


Paint


Configuration (color configuration on this picture)


Terminal emulator


LongOS launched in terminal emulator inside the LongOS


Customization possibilities example

Documentation
SpoilerLongOS has documentation for basic features and programming. You can download this documentation using links:

Version 1.2
User Guide
Programming Guide

Older versions:
SpoilerVersion 1.1
User Guide
Programming Guide

Version 1.0
User Guide
Programming Guide

Features
SpoilerFeatures available from the box:
  • Desktop enviroment
  • Windowed programs
  • Multitasking applications executtion
  • Native programs support
  • Custom resolutions support
  • Integrated OOP
  • Integrated errors catching
  • Standard dialogs
  • Interfaces for all configurable options
  • Integrated updater
  • Multilocalization

Programs
SpoilerPrograms available from the box
  • File manager
  • Paint
  • Calculator
  • Terminal emulator

Configurable options
SpoilerOptions that can be configured from the OS interface
  • Standard colors
  • Control panel position
  • Standard window buttons position
  • Applications list in the "Applications"; menu

Installation:
You can download and install the LongOS manually using the GitHub repository. It is suggested to download the last stable release.
Alternatively you can use automated downloader from the pastebin:

pastebin get 8VE6vxdd downloader

Issues
If you have found bugs in the LongOS you can post about them using the GitHub issue tracker.
Alternatively you can post this bugs or some suggestions here.
Please add steps describing in your bug reports. It is also suggested to attach screenshots.

Versions history
Spoilerv0.1 [pre] - Firs prerelease
v0.2 [pre] - Inner improvements
v0.3 [pre] - Paint update
v0.4 [pre] - Components update
v0.5 [pre] - Terminal release
v0.6 [pre] - Preparing release
v1.0 - Firs public release
v1.1 - File Browsing Release
v1.2 - Localization Release

Changelog
SpoilerVersion 1.2
  • Added multilocalization
  • Added UI for localization changing
  • Separated Updater from About System application
Version 1.1
  • File browsing component (easy file browsing from any application)
  • Integrated updater (update the LongOS from the "About System" application)
  • Files icons (makes file browsing more visual)
  • Edit component update (you can now click on the text in it to change the cursor position)
Bubba #2
Posted 12 September 2013 - 08:51 AM
This looks very, very impressive. In fact, to me this is the most appealing OS on the forums right now. Well done.
Grim Reaper #3
Posted 12 September 2013 - 09:39 AM
When executing the installer, I get the following error:

installer: 102: attempt index ? (a nil value)
In green right before that red error message, the text

tree.lua
is displayed.

I've got the http API enabled and have downloaded from pastebin many times before.
Gvin #4
Posted 12 September 2013 - 09:57 AM
When executing the installer, I get the following error:

installer: 102: attempt index ? (a nil value)
In green right before that red error message, the text

tree.lua
is displayed.

I've got the http API enabled and have downloaded from pastebin many times before.

This is quite strange. Download from pastebin goes fine but downloading from github results with this error. Please check if our github repository is available to you.
On our computers the download process goes fine.
Alternatively you can donwload the release package and install the LongOS manually.
Mitchfizz05 #5
Posted 13 September 2013 - 04:35 AM
This looks like a certainly highly detailed OS with all the little things and big things a CC OS should have plus more!
I love the interface!
Great Job!
Dave-ee Jones #6
Posted 13 September 2013 - 06:22 PM
This looks very, very impressive. In fact, to me this is the most appealing OS on the forums right now. Well done.

I second that :D/>

I think I will re-design my GUI for AquaOS soon…It seems to be very old compared to some newer ones.
Gvin #7
Posted 04 October 2013 - 08:40 AM
We decided to turn next pre-release version 1.0.1 into release version 1.1. This was because we implemented a lot of new features in this version so the difference can be seen by anyone.
For now there are several small features and two big are left to do. We are going to finish and release version 1.1 till monday.
Thanks for replies!
YuvonDovah #8
Posted 04 October 2013 - 04:00 PM
There is a typo in the text near the top, second line you have put 'he ' instead of 'The'. But it's look really really good although I think you need to touch up on the art and colours, I feel they colours you use don't belong together.
Gvin #9
Posted 05 October 2013 - 03:44 AM
There is a typo in the text near the top, second line you have put 'he ' instead of 'The'. But it's look really really good although I think you need to touch up on the art and colours, I feel they colours you use don't belong together.
Thanks for your opinion!
Colors and the desktop wallpaper can be changed inside tho OS (color configuration dialog). You can customize a lot of things in the LongOS! Here is an example screenshot:
Spoiler
Also you can suggest your color combination and we will think about changing our default colors to yours.
Zudo #10
Posted 05 October 2013 - 04:41 AM
Sexy :)/>
Blade88 #11
Posted 05 October 2013 - 12:54 PM
wow it seems to be very nice…

i will test it on my server!
TheOddByte #12
Posted 05 October 2013 - 01:32 PM
Wow, I this OS is simply amazing!
I expected it to flicker a lot and run very slow but you managed it so it didn't, Great work!
+1
gamax92 #13
Posted 06 October 2013 - 10:15 AM
Wow, this is impressive!
I like the fact that an actual GUI system is used and that if an application crashes, it will handle the crash.
The level of customization is pretty nice.

LongOS running inside of LongOS, twice!

Since I'll be putting my issues as i find them, to prevent the post from getting long I've placed them in a spoiler tag.
SpoilerHowever, The terminal does have the capability to crash the entire OS:
lua> os.pullEvent = function() error() end
Also, it does kinda seem to support larger screen sizes but windows will spawn in the "center" of the 51x19 area even if the screen isn't 51x19.
In the downloader:

if (not color) then
  color = colors.black;
end
Could be shortened to:

color = color or colors.black;
Also, I feel like that image format you use could be reduced in size quite a lot.
Instead of recording the actual color value, 1, 16, 4096, etc, you could store the color as exponent of 2.
2^X where X is from 0 to 15 would give you from white(1) to black(32768) and all the colors between.
To convert back from the color value to X, you could use math.log(color)/math.log(2)
———-
The mouse configuration screen won't accept anything because its "Not a number"
———
Just wondering, is it possible that in /LongOS/Classes/LongOS.lua that oldSleep(0.1); around line 216 be changed to oldSleep(0.05);
It makes it so the refresh rate of the screen is 20 ticks instead of 10.
Its okay if you don't it makes it a little more jumpy but text input more smoother.
———
The calculator has the word substract everywhere when it should be subtract
I also feel like for consistency, the button layout like it is on my real calc, windows calc, linux calc, mac calc could go:
7 8 9
4 5 6
1 2 3
——–
The color picker could have all its color buttons reduced down to one block of code by using a for loop 0-15 and 2^variable
——–
The file manager could sort its files directories first, then files first.
Also if you click on a folder from root, you'll get a double slash, this could be fixed with fs.combine
Gvin #14
Posted 06 October 2013 - 05:18 PM
Since I'll be putting my issues as i find them, to prevent the post from getting long I've placed them in a spoiler tag.

Thanks a lot for this issues reply! We will add them to the issues list and try to fix them as soon as possible.
Your explanation is full and constructive. Please continue to report about such things!
Gvin #15
Posted 07 October 2013 - 09:07 AM
Since I'll be putting my issues as i find them, to prevent the post from getting long I've placed them in a spoiler tag.


Here is our reaction on your issues report:
Spoiler

However, The terminal does have the capability to crash the entire OS:
lua> os.pullEvent = function() error() end
Created bug type issue #25.

Also, it does kinda seem to support larger screen sizes but windows will spawn in the "center" of the 51x19 area even if the screen isn't 51x19.
Created enhancement type issue #26.

In the downloader:

if (not color) then
  color = colors.black;
end
Could be shortened to:

color = color or colors.black;
Created enhancement type issue #27.

Also, I feel like that image format you use could be reduced in size quite a lot.
Instead of recording the actual color value, 1, 16, 4096, etc, you could store the color as exponent of 2.
2^X where X is from 0 to 15 would give you from white(1) to black(32768) and all the colors between.
To convert back from the color value to X, you could use math.log(color)/math.log(2)
Created enhancement type issue #28.

The mouse configuration screen won't accept anything because its "Not a number"
This issue was allready fixed for the release 1.1.

Just wondering, is it possible that in /LongOS/Classes/LongOS.lua that oldSleep(0.1); around line 216 be changed to oldSleep(0.05);
It makes it so the refresh rate of the screen is 20 ticks instead of 10.
Its okay if you don't it makes it a little more jumpy but text input more smoother.
We will investigate such posibility.

The calculator has the word substract everywhere when it should be subtract
I also feel like for consistency, the button layout like it is on my real calc, windows calc, linux calc, mac calc could go:
7 8 9
4 5 6
1 2 3
Created enhancement type issue #29.

The color picker could have all its color buttons reduced down to one block of code by using a for loop 0-15 and 2^variable
We will investigate such posibility. Interesting solution!

The file manager could sort its files directories first, then files first.
This was allready done for the release 1.1.

Also if you click on a folder from root, you'll get a double slash, this could be fixed with fs.combine
Thanks for this advice, we will use this.


Because of such issues list the release date was moved to the 10/11/2013.
Gvin #16
Posted 08 October 2013 - 07:13 AM
LongOS version 1.1 released!
Release title: File Browsing Release

PasteBin downloader and documentation links are updated!

Done in this release:
  • File browsing component (easy file browsing from any application)
  • Integrated updater (update the LongOS from the "About System" application)
  • Files icons (makes file browsing more visual)
  • Edit component update (you can now click on the text in it to change the cursor position)
Advanced change log:
Spoiler Implemented Features
  • F98: Add http events support for applications, windows and threads.
  • F85: Add image position option to the wallpaper manager program.
  • F96: GvinFileManager: Add sorting by types for directories/files.
  • F88: Add file type icons to the GvinFileManager manager.
  • F64: Create file extensions association configuration and use it in GvinFileManager.
  • F104: Add errors processing and retrying to the downloader.
  • F101: Add installation path writing on OS installation.
  • F82: Add working directory property to the application.
  • F106: Add default configuration to the configuration managers.
  • F61: Create file browsing component.
  • F110: Add "Temp" directory and clean it on system startup.
  • F103: Add on click cursor position changing for edit component.
  • F107: Add mask char to the Edit component.
  • F102: Add posibility to filter chars in Edit component.
  • F99: Add Updater program for updation OS to the current released version.
Implemented Enhancement Requests
  • #30 GvinFileManager: Double slash is displayed sometimes in the current path string.
  • #29 Change calculator buttons position.
  • #26 Allow windows to set their default positions in the center of the screen.
Fixed Bugs
  • #23 GvinTerminal: Second click isn't sended to the program in terminal on double clicking.

We are composing new TODO list for the next version now. Feel free to suggest your enhancements!
theoriginalbit #17
Posted 16 October 2013 - 03:34 PM
Very nice work! Not only the best OS1 I've seen on the forums but that developer documentation! +1 to you sir, finally someone who really knows what they're doing.

Oh also, good job managing to fit digital boobs in a bikini on the Computer's small resolution xP

1 I'd go as far to call this an OS, as context I call the others "graphical shells" because they don't deserve the OS title, so hat off to you for getting that!
Gvin #18
Posted 22 October 2013 - 05:35 AM
Looking for translators!
We have implemented multilocalization in LongOS v1.2 so now we are looking for translators!
If you know any common language (except for English) and want to participate please send a PM to me as soon as you can!
theoriginalbit #19
Posted 22 October 2013 - 06:08 AM
If you know any common language (except for English)
Not going to support EN_UK/EN_AU? only EN_US?
Gvin #20
Posted 22 October 2013 - 06:14 AM
If you know any common language (except for English)
Not going to support EN_UK/EN_AU? only EN_US?

Hmm, why not! LongOS can support any localization that are written using standard english letters and symbols. So if you like to create either en_UK or en_AU localization we will be glad to include it!
theoriginalbit #21
Posted 22 October 2013 - 06:24 AM
Hmm, why not! LongOS can support any localization that are written using standard english letters and symbols. So if you like to create either en_UK or en_AU localization we will be glad to include it!
I've made some comments on your repo in regards to the localisation file
Gvin #22
Posted 22 October 2013 - 06:52 AM
Hmm, why not! LongOS can support any localization that are written using standard english letters and symbols. So if you like to create either en_UK or en_AU localization we will be glad to include it!
I've made some comments on your repo in regards to the localisation file

Thanks for your opinion! We will implement some of your suggestions in the v1.2.
theoriginalbit #23
Posted 22 October 2013 - 07:07 AM
Hmm, why not! LongOS can support any localization that are written using standard english letters and symbols. So if you like to create either en_UK or en_AU localization we will be glad to include it!
en_uk/au done.
Gvin #24
Posted 22 October 2013 - 07:12 AM
Hmm, why not! LongOS can support any localization that are written using standard english letters and symbols. So if you like to create either en_UK or en_AU localization we will be glad to include it!
en_uk/au done.
Thanks for your work but this is only System localization. For each application there is a separated set of localization files. I will prepare a special file with all this lines for the translation and send it to you in a PM.
theoriginalbit #25
Posted 22 October 2013 - 07:18 AM
Thanks for your work but this is only System localization. For each application there is a separated set of localization files. I will prepare a special file with all this lines for the translation and send it to you in a PM.
Ahh I didn't realise you had multiple files, I tried quickly searching and that's all I saw, just PM me a link to all your localisation files.
Engineer #26
Posted 23 October 2013 - 07:29 AM
I took the liberty to translate it to dutch. There are probably tonnes of place for improvement, but hey, its something:
http://pastebin.com/amsKGCJP

Also, a shorthand for dutch is: "NL" (Nederlands -> Dutch)
Seeing the screenies, this looks like a nice OS :)/>

Edit: And thank theoriginalbit for getting me to do this, didnt even know that this could be translated :P/>
TableCraft0R #27
Posted 23 October 2013 - 09:07 AM
LongOS PH Locale File.
Gvin #28
Posted 23 October 2013 - 09:34 AM

Thaks for your work but you have translated only the system's localization. Every application in the LongOS has it's own localization folder.
For everyone who would like to translate LongOS:
Here is the full localization file. Translate it and PM me/comment this topic.
TableCraft0R #29
Posted 23 October 2013 - 10:14 AM


Thaks for your work but you have translated only the system's localization. Every application in the LongOS has it's own localization folder.
For everyone who would like to translate LongOS:
Here is the full localization file. Translate it and PM me/comment this topic.

Here is the full translated localization file.
Gvin #30
Posted 23 October 2013 - 10:42 AM
I took the liberty to translate it to dutch. There are probably tonnes of place for improvement, but hey, its something:
http://pastebin.com/amsKGCJP

Also, a shorthand for dutch is: "NL" (Nederlands -> Dutch)
Seeing the screenies, this looks like a nice OS :)/>

Edit: And thank theoriginalbit for getting me to do this, didnt even know that this could be translated :P/>

Thanks for your work! Dutch NL localization will be included in LongOS v1.2. You can allready check it in the GitHub repository.
TableCraft0R #31
Posted 24 October 2013 - 08:12 AM
SUGGESTION - App Store?
Gvin #32
Posted 24 October 2013 - 08:27 AM
SUGGESTION - App Store?

Currently there are very small amount of applications for the LongOS.
The OS supports native programs too but you can get them from the author's pastebin or something like that.

Your suggestion is really good and maybe when we will have more applications to add to the App Store we will create it.
Thanks for your suggestion and localization!
TableCraft0R #33
Posted 24 October 2013 - 09:10 AM
Time to learn the API!
Gvin #34
Posted 24 October 2013 - 09:18 AM
Time to learn the API!

You can read the programming guide if you want to create applications for the LongOS. Maybe we will create some sort of IDE with windows designer but for now you have to design them in your code. See the basic applications for examples.
TableCraft0R #35
Posted 24 October 2013 - 10:21 AM
The /rom/programs/secret/alongtimeago program smoothness reduced to 75% when im on this os. I hope the next version will optimize the speed.
Gvin #36
Posted 24 October 2013 - 10:42 AM
The /rom/programs/secret/alongtimeago program smoothness reduced to 75% when im on this os. I hope the next version will optimize the speed.

We are working on it. Maybe we'll find how to improve the speed in terminal emulator. You can review our code if you like - maybe you will be able to find a solution.
And a small question: how did you calculate the "smoothness reduce"? :)/>
TableCraft0R #37
Posted 24 October 2013 - 10:47 AM
The /rom/programs/secret/alongtimeago program smoothness reduced to 75% when im on this os. I hope the next version will optimize the speed.

We are working on it. Maybe we'll find how to improve the speed in terminal emulator. You can review our code if you like - maybe you will be able to find a solution.
And a small question: how did you calculate the "smoothness reduce"? :)/>
sorry for the late reply, because minecraft is really addictive!

Just computed with bare eyes.
TableCraft0R #38
Posted 24 October 2013 - 11:33 AM
Test creating threads per function. that might improve speeds up to 70%

I tried it. 7% Speed improvement. Code Edited. Keeps crashing. Says "java.lang.IndexOutOfBoundsException"


7% SPEED IMPROVEMENT CODE. EDIT <install dir>/LongOS/Long
Spoilerif (not term.isColor()) then
print('LongOS is designed for advanced computers and cannot be executed on colorless machines.');
return;
end
oldStartTimer = os.startTimer;
os.startTimer = function(time)
local timer = oldStartTimer(time);
System:AddTimer(timer);
return timer;
end
function oldSleep(time)
local timer = oldStartTimer(time);
repeat
local _, eTimer = os.pullEvent('timer');
until eTimer == timer;
end
local function draw()
while (System:GetWorking()) do
System:Draw();
oldSleep(0.1);
end
end
local function update()
while (System:GetWorking()) do
System:Update();
oldSleep(0.1);
end
end
local function catchEvents()
while (System:GetWorking()) do
System:CatchEvents();
end
end
local function processEvents()
while (System:GetWorking()) do
System:ProcessEvents();
end
end
local function drawGlobalErrorScreen(errorText)
term.setTextColor(colors.lime)
term.setBackgroundColor(colors.black);
term.clear();
term.setCursorPos(1,1);
print("Uncaught error in the system's core and system was shutted down to prevent damadge to your files or property.\n\n");
print("Error message text:");
term.setTextColor(colors.red);
print(errorText);
term.setTextColor(colors.lime);
print("\nPlease restart your computer to reload OS.");
print("If you continue seeing this screen please contact developer and describe your problem.")
print("You can post your issue on https://github.com/Gvin/LongOS/");
print("Press ENTER key to reboot the system…");
oldSleep(1);
repeat
local event, key = os.pullEvent('key');
until (keys.getName(key) == 'enter');
os.reboot();
end
local function getSystemDirectory()
local prog = shell.getRunningProgram();
return prog:sub(1, prog:len() - 11)..'LongOS';
end
SystemDirectory = getSystemDirectory();
local function load()
shell.run(SystemDirectory..'/Loading.lua');
if (LoadingErrors > 0) then
error('Loading errors found. See loading.log for details.');
end
LoadingErrors = nil;
end
local success, message = pcall(load);
if (not success) then
drawGlobalErrorScreen(message);
end
System = Classes.System.LongOS(SystemDirectory);
SystemDirectory = nil;
Classes.System.LongOS = nil;
System:ReadConfiguration();
System:ReadAutoexec();
function fa()
ths = coroutine.create(update)
coroutine.resume(ths)
sleep(0)
fa()
end
function fb()
md = coroutine.create(draw)
coroutine.resume(md)
sleep(0)
fb()
end

success, message = pcall(parallel.waitForAll,fa,fb,catchEvents,processEvents);
if (not success and message ~= 'parallel:22: Terminated') then
drawGlobalErrorScreen(message);
end
os.startTimer = oldStartTimer;
term.setBackgroundColor(colors.black);
term.setTextColor(colors.white);
term.clear();
term.setCursorPos(1, 1);
print('LongOS closed.');
Gvin #39
Posted 24 October 2013 - 11:51 AM
Test creating threads per function. that might improve speeds up to 70%

I tried it. 7% Speed improvement. Code Edited. Keeps crashing. Says "java.lang.IndexOutOfBoundsException"


7% SPEED IMPROVEMENT CODE. EDIT <install dir>/LongOS/Long

Crash: Index out of bounds. Thats because you recursively call functions "fa" and "fb".
nolongerexistant #40
Posted 24 October 2013 - 12:15 PM
I took the liberty to translate it to dutch. There are probably tonnes of place for improvement, but hey, its something:
http://pastebin.com/amsKGCJP

Also, a shorthand for dutch is: "NL" (Nederlands -> Dutch)
Seeing the screenies, this looks like a nice OS :)/>

Edit: And thank theoriginalbit for getting me to do this, didnt even know that this could be translated :P/>

I modified yours a little, some things were inconsistent; like 'folder' and 'map'. And some of the language was kinda Google Translate dutch. :)/>

http://pastebin.com/q90VfHPG
Engineer #41
Posted 24 October 2013 - 12:41 PM
I modified yours a little, some things were inconsistent; like 'folder' and 'map'. And some of the language was kinda Google Translate dutch. :)/>

http://pastebin.com/q90VfHPG

That is because if I read in english, my mindset is english. I know what Im saying but translating is kinda hard for me. Especially if there is a limit in characters.
Gvin #42
Posted 24 October 2013 - 01:24 PM
I modified yours a little, some things were inconsistent; like 'folder' and 'map'. And some of the language was kinda Google Translate dutch. :)/>

http://pastebin.com/q90VfHPG

Thanks a lot for your translation correction! I will replace current localization with yours.
TableCraft0R #43
Posted 25 October 2013 - 07:18 AM
Custom Bootanimation + Better Crash Screen?
Gvin #44
Posted 25 October 2013 - 08:11 AM
Custom Bootanimation + Better Crash Screen?
Good suggestions. I will include them to the tasks list but first I have some questions:
  • What do you mean saying "boot animation"? There is already a progress bar on the booting screen. Are you saying about some form of image with an animation here?
  • Do you have any suggestions about how "better crash screen" should look like?
Gvin #45
Posted 26 October 2013 - 07:22 PM
LongOS v1.2 released!
Localization Release

This realese is based on a new LongOS feature - multilocalization! Now every part of the LongOS can be localized to your native language! There is also a possibility to use standard localization solution in your custom applications.
  • Added multilocalization
  • Added UI for localization changing
  • Separated Updater from About System application
Available localizations:
  • English US
  • English UK
  • Dutch (Nederlands)
  • Philippines
  • Russian
To update from v1.1
SpoilerYou can update your LongOS using integrated updater. To do this you should install patch.

pastebin get YwAJTYgU
Install it, run updater and wait until it finishes it's work.
TableCraft0R #46
Posted 26 October 2013 - 09:47 PM
Custom Bootanimation + Better Crash Screen?
Good suggestions. I will include them to the tasks list but first I have some questions:
  • What do you mean saying "boot animation"? There is already a progress bar on the booting screen. Are you saying about some form of image with an animation here?
  • Do you have any suggestions about how "better crash screen" should look like?
Bootanimation - let the user change the startup Animation

Better crash screen - like windows 8
theoriginalbit #47
Posted 27 October 2013 - 02:11 AM
Dutch (Niderlands)
Nederlands*
Gvin #48
Posted 27 October 2013 - 03:10 AM
Dutch (Niderlands)
Nederlands*
Corrected, thanks!
Gvin #49
Posted 27 October 2013 - 03:19 AM
Bootanimation - let the user change the startup Animation

Better crash screen - like windows 8
For now boot animation displays real OS parts loading progress - its not just a picture and there is no "sleep" in loading code.
And for now I don't see any possibility to implement the feature which you request. But we are planning to add video files format (video player and some program to create this videos) in some of the future releases (maybe 1.4 or 1.5). So we may allow users to set their video files to be played in loop while the OS is loading. Is this what you have suggested?

For crash screen: so the main changes will be the filled background and autorestart?
TableCraft0R #50
Posted 27 October 2013 - 07:50 AM
Bootanimation - let the user change the startup Animation

Better crash screen - like windows 8
For now boot animation displays real OS parts loading progress - its not just a picture and there is no "sleep" in loading code.
And for now I don't see any possibility to implement the feature which you request. But we are planning to add video files format (video player and some program to create this videos) in some of the future releases (maybe 1.4 or 1.5). So we may allow users to set their video files to be played in loop while the OS is loading. Is this what you have suggested?

For crash screen: so the main changes will be the filled background and autorestart?

For Bootanimation - YES!

For Crash Screen - No Autorestart but filled background.

Like my modified one:


CODES:
Spoiler/SadFace
Spoiler333333333333333333333333333333333333333333333333333
333333333333333333000333333333333333333333333333333
333333333333333303033333333333333333333333333333333
333333333333333333033333333333333333333333333333333
333333333333333303033333333333333333333333333333333
333333333333333333000333333333333333333333333333333
333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333
3333333333333333333333333333333333333333333333333

Modified /install/LongOS/Long

Spoilerif (not term.isColor()) then
print('LongOS is designed for advanced computers and cannot be executed on colorless machines.');
return;
end
local function centerText(text)
local w, h = term.getSize()
term.setCursorPos(math.floor(w / 2 - text:len() / 2 + .5), math.floor(h / 2 + .5))
io.write(text)
end
oldStartTimer = os.startTimer;

os.startTimer = function(time)
local timer = oldStartTimer(time);
System:AddTimer(timer);
return timer;
end

function oldSleep(time)
local timer = oldStartTimer(time);
repeat
local _, eTimer = os.pullEvent('timer');
until eTimer == timer;
end

local function draw()
while (System:GetWorking()) do
System:Draw();
oldSleep(0.1);
end
end

local function update()
while (System:GetWorking()) do
System:Update();
oldSleep(0.1);
end
end

local function catchEvents()
while (System:GetWorking()) do
System:CatchEvents();
end
end

local function processEvents()
while (System:GetWorking()) do
System:ProcessEvents();
end
end

local function drawGlobalErrorScreen(errorText)
term.setTextColor(colors.white)
term.setBackgroundColor(colors.black);
term.clear();
term.setCursorPos(1,1);
term.setBackgroundColor(colors.lightBlue)
i = 1
local w, h = term.getSize()

repeat

term.setCursorPos(1,i)
term.write(" ")
i = i + 1
until (i == h + 3)
image = paintutils.loadImage("/SadFace")

paintutils.drawImage(image, 1, 1)
oldSleep(1);
term.setCursorPos(1,9)
term.write("Your PC ran into a problem and needs to restart.")
term.setCursorPos(1,11)
term.write("The Error message is printed in red below. " )
term.setTextColor(colors.red)
term.setCursorPos(1,12)
term.write(errorText)
term.setCursorPos(1,13)
term.setTextColor(colors.white)
term.write("If you frequently see this message,")
term.setCursorPos(1,14)

term.write("post your problem on https://github.com/Gvin/LongOS/")
term.setCursorPos(1,15)
term.write("Press ENTER key to Reboot…")
repeat
local event, key = os.pullEvent('key');
until (keys.getName(key) == 'enter');
os.reboot();
end

local function getSystemDirectory()
local prog = shell.getRunningProgram();
return prog:sub(1, prog:len() - 11)..'LongOS';
end

SystemDirectory = getSystemDirectory();

local function load()
shell.run(SystemDirectory..'/Loading.lua');

if (LoadingErrors > 0) then
error('Loading errors found. See loading.log for details.');
end
LoadingErrors = nil;
end

local success, message = pcall(load);
if (not success) then
drawGlobalErrorScreen(message);
end

System = Classes.System.LongOS(SystemDirectory);
SystemDirectory = nil;
Classes.System.LongOS = nil;
System:ReadConfiguration();
System:ReadAutoexec();

success, message = pcall(parallel.waitForAny, update, draw, catchEvents, processEvents);
if (not success and message ~= 'parallel:22: Terminated') then
drawGlobalErrorScreen(message);
end

os.startTimer = oldStartTimer;

term.setBackgroundColor(colors.black);
term.setTextColor(colors.white);
term.clear();
term.setCursorPos(1, 1);
print('LongOS closed.');
theoriginalbit #51
Posted 27 October 2013 - 07:57 AM
-snip-
1. Boot animation…. eh.
2. Crash screen is a good addition.
3. use [code][/code] tags
4. use the actually proper link to the issues tracker on github.
5. well lots of other points, but those are the most important 4.
TableCraft0R #52
Posted 27 October 2013 - 08:16 AM
-snip-
1. Boot animation…. eh.
2. Crash screen is a good addition.
3. use [code][/code] tags
4. use the actually proper link to the issues tracker on github.
5. well lots of other points, but those are the most important 4.
I am on mobile right now, so what's the link?
theoriginalbit #53
Posted 27 October 2013 - 08:19 AM
I am on mobile right now, so what's the link?
Its /issues at the end of the url. Also you can manually type things like [code][/code], you don't need to use the button
TableCraft0R #54
Posted 27 October 2013 - 08:36 AM
I am on mobile right now, so what's the link?

Its /issues at the end of the url. Also you can manually type things like [code][/code], you don't need to use the button

If i go home, I'll make a new code.
Gvin #55
Posted 27 October 2013 - 02:42 PM
For Bootanimation - YES!

For Crash Screen - No Autorestart but filled background.

Like my modified one.

I will add boot animation changing to the features list.
We will think about implementing your (or similar to yours) crash screen in the next version.
theoriginalbit #56
Posted 27 October 2013 - 09:30 PM
We will think about implementing your (or similar to yours) crash screen in the next version.
The thing to remember about crash screens is that they cannot rely on any other part of your OS, they must be 100% decoupled otherwise your error screen could error when a particular API/Class hasn't been loaded.
Gvin #57
Posted 28 October 2013 - 06:02 AM
The thing to remember about crash screens is that they cannot rely on any other part of your OS, they must be 100% decoupled otherwise your error screen could error when a particular API/Class hasn't been loaded.

And we know this. Our current crash screen is created using only standard CC functions. No side APIs or classes. But thanks for warning!
theoriginalbit #58
Posted 28 October 2013 - 06:05 AM
And we know this. Our current crash screen is created using only standard CC functions. No side APIs or classes. But thanks for warning!
Yeh I figured you'd think as much, but from a quick scan of TableCraft0R's code he is relying on some of your APIs/classes, so was just making sure to point it out to you so that it's fresh in your mind :)/>
mrdawgza #59
Posted 30 October 2013 - 04:52 AM
What exactly is the terminal emulator for?
Gvin #60
Posted 31 October 2013 - 06:01 AM
What exactly is the terminal emulator for?
Terminal emulator allows user to launch native CC programs inside the LongOS with all its features like multitasking and windows. So even several terminal applications can be running in one time.
Its supposed that any native program will work in it just like it was launched in the CraftOS without any code rewriting.
gfcwfzkm #61
Posted 07 December 2013 - 06:05 AM
a realy cool OS, but i miss an TextEditor in it. To open text files in the Gui via the FileManager.
Symmetryc #62
Posted 07 December 2013 - 05:24 PM
Is development on this still going?
biggest yikes #63
Posted 09 December 2013 - 05:51 PM
I made a new code for GvinTerminal.exec to prevent things such as os.shutdown(), os.reboot(), and error(). (thus fixing the earlier report with error().
Added part: function os.shutdown() print("Shutdown is not allowed!") end; function os.reboot() print("Reboot is not allowed!") end; function error() print("Error is not allowed!") end;
EDIT: I would localize those functions I guess.
Edited on 02 March 2014 - 09:31 PM
TheOddByte #64
Posted 30 December 2013 - 09:24 PM
Hey, I've just tested your os again and I can still say that I love it, Are you still developing this?
If so, Then can't you create something like theme packs so that we can download and install.
Also out of curiousity.. How can you detect where the mouse is hovering? How did you do that?
Since I see that you do that when you can scroll, It only scrolls when I'm hovering over the areas.. It's so awesome, Please tell me! :P/>
MKlegoman357 #65
Posted 31 December 2013 - 07:55 AM
He hasn't been on forums since November 6th.

How can you detect where the mouse is hovering? How did you do that?
Since I see that you do that when you can scroll, It only scrolls when I'm hovering over the areas.. It's so awesome, Please tell me! :P/>

mouse_scroll event returns where did the mouse was when you scrolled it, just like mouse_click and mouse_drag does.
Edited on 31 December 2013 - 06:56 AM
TheOddByte #66
Posted 01 January 2014 - 10:22 AM
He hasn't been on forums since November 6th.

How can you detect where the mouse is hovering? How did you do that?
Since I see that you do that when you can scroll, It only scrolls when I'm hovering over the areas.. It's so awesome, Please tell me! :P/>

mouse_scroll event returns where did the mouse was when you scrolled it, just like mouse_click and mouse_drag does.
Hmm.. It does? Well I never checked it out that much :P/>
aaronscz #67
Posted 05 January 2014 - 08:54 PM
This has got to be my favorite OS. Very nice work!
AtomicX Dev. #68
Posted 11 January 2014 - 09:24 AM
Most impressive! CraftOS would be proud!
oeed #69
Posted 15 January 2014 - 07:33 PM
Yes, this is, probably with out a doubt, the most fully featured OS on the forums at the moment. PearOS just looks pretty and sits there doing nothing, LqyqdOS is just CraftOS in windows. But this has lots of good stuff in it. The UI could probably do with a tidy, but other than that, perfect!
Lyqyd #70
Posted 15 January 2014 - 09:03 PM
LqyqdOS is just CraftOS in windows.

Uh, okay, lol.
GHASTCRAFTMC #71
Posted 16 January 2014 - 07:24 AM
Not so good, because it isnt easy to navigate. its so unclear!
but it works!


Ive programmed my own System, but i dont ready Yet to post it (cant start new topic)!
oeed #72
Posted 18 January 2014 - 12:46 AM
Not so good, because it isnt easy to navigate. its so unclear!
but it works!


Ive programmed my own System, but i dont ready Yet to post it (cant start new topic)!

If you need any help with the post, testing or general help I'm quite happy to assist, preferably through PM.
LDDestroier #73
Posted 09 January 2015 - 03:50 AM
The operating system seems to crash on CraftOS 1.6 1.7.10 whenever I start up an application like Worms or Terminal. I can tell because nothing happens and the clock stops moving. Please fix it!!! It looks so cool!! I might use it over OneOS!
biggest yikes #74
Posted 15 February 2015 - 10:22 PM
The operating system seems to crash on CraftOS 1.6 1.7.10 whenever I start up an application like Worms or Terminal. I can tell because nothing happens and the clock stops moving. Please fix it!!! It looks so cool!! I might use it over OneOS!
1. You realize you just necro'ed this post, right?
2. I'm not surprised it breaks, it was made over a year ago.
EDIT: I kind of just necro'ed it again myself. I guess it wasn't as bad of a necro, but that's just stupid of me.
Edited on 15 February 2015 - 09:25 PM
Geforce Fan #75
Posted 15 February 2015 - 11:01 PM
The operating system seems to crash on CraftOS 1.6 1.7.10 whenever I start up an application like Worms or Terminal. I can tell because nothing happens and the clock stops moving. Please fix it!!! It looks so cool!! I might use it over OneOS!
1. You realize you just necro'ed this post, right?
2. I'm not surprised it breaks, it was made over a year ago.
EDIT: I kind of just necro'ed it again myself. I guess it wasn't as bad of a necro, but that's just stupid of me.
this thread will go on for years, with steady streams of necroing.
In all seriousness, this OS is really cool. Someone ought to fix it.
The desktop picture is clearly… well, you know. And the name… lol, I'm starting to wonder when this guy made this…
Edited on 15 February 2015 - 10:14 PM
biggest yikes #76
Posted 15 February 2015 - 11:39 PM
The operating system seems to crash on CraftOS 1.6 1.7.10 whenever I start up an application like Worms or Terminal. I can tell because nothing happens and the clock stops moving. Please fix it!!! It looks so cool!! I might use it over OneOS!
1. You realize you just necro'ed this post, right?
2. I'm not surprised it breaks, it was made over a year ago.
EDIT: I kind of just necro'ed it again myself. I guess it wasn't as bad of a necro, but that's just stupid of me.
this thread will go on for years, with steady streams of necroing.
In all seriousness, this OS is really cool. Someone ought to fix it.
The desktop picture is clearly… well, you know. And the name… lol, I'm starting to wonder when this guy made this…
This used to be my favorite OS until it died out
Creator #77
Posted 22 February 2015 - 09:34 PM
Some tips:

The collors on the installer look awful not very good. Especially green on gray.
Edited on 22 February 2015 - 08:34 PM