diff --git a/argentum.cfg b/argentum.cfg index 86d29be..cbbfef0 100644 --- a/argentum.cfg +++ b/argentum.cfg @@ -1,7 +1,7 @@ local agcfg = { ["halyde"] = { ["maindir"] = "", - ["version"] = "1.2.0", + ["version"] = "1.3.0", ["description"] = "A universal, customizable and feature-packed operating system for OpenComputers.", ["directories"] = { "halyde/apps", @@ -37,6 +37,7 @@ local agcfg = { "halyde/apps/mkdir.lua", "halyde/apps/mv.lua", "halyde/apps/rm.lua", + "halyde/config/oslogo.ans", "halyde/config/shell.cfg", "halyde/config/startupapps.cfg", "halyde/core/boot.lua", diff --git a/argentum/store/halyde/package.cfg b/argentum/store/halyde/package.cfg index 8bc6241..b786340 100644 --- a/argentum/store/halyde/package.cfg +++ b/argentum/store/halyde/package.cfg @@ -23,6 +23,7 @@ Ahalyde/apps/ls.lua Ahalyde/apps/lua.lua Ahalyde/apps/mv.lua Ahalyde/apps/rm.lua +Ahalyde/config/oslogo.ans Ahalyde/config/shell.cfg Ahalyde/config/startupapps.cfg Ahalyde/core/boot.lua @@ -36,11 +37,7 @@ Ahalyde/lib/component.lua Ahalyde/lib/event.lua Ahalyde/lib/filesystem.lua Ahalyde/lib/raster.lua" -<<<<<<< HEAD -V1.2.0 -======= -V1.1.0 ->>>>>>> 9a8648835a1ec5569f7d33744d5eec1d9db9dd0b +V1.3.0 Ahalyde/ Ahalyde/apps/ Ahalyde/apps/helpdb/ diff --git a/halyde/apps/fetch.lua b/halyde/apps/fetch.lua index 4f7e4e8..2b3128d 100644 --- a/halyde/apps/fetch.lua +++ b/halyde/apps/fetch.lua @@ -1,21 +1,19 @@ -print("") -print("") -print(" \27[93m┌┬┐ ┌┐ ┌┐ \n ││├─┤├┬┬┘├─┐\n │┐├┘││││││││\n ││││││││││┌┤\n └┴┴─┴┼┐├─┴─┘\n └─┘ ") -termlib.cursorPosX, termlib.cursorPosY = 17, termlib.cursorPosY - 8 -print("\27[92mOS\27[0m: ".._OSVERSION) -termlib.cursorPosX = 17 -print("\27[92mArchitecture\27[0m: ".._VERSION) -termlib.cursorPosX = 17 +local function printstat(text) + termlib.cursorPosX = 35 + print(text, true, false) +end + +print(_OSLOGO, true, false) +termlib.cursorPosY = termlib.cursorPosY - 18 +printstat("\27[92mOS\27[0m: ".._OSVERSION) +printstat("\27[92mArchitecture\27[0m: ".._VERSION) local componentCounter = 0 for _, _ in component.list() do componentCounter = componentCounter + 1 end -print("\27[92mComponents\27[0m: "..tostring(componentCounter)) -termlib.cursorPosX = 17 -print("\27[92mCoroutines\27[0m: "..tostring(#cormgr.corList)) -termlib.cursorPosX = 17 -print("\27[92mBattery\27[0m: "..tostring(math.floor(computer.energy() / computer.maxEnergy() * 1000 + 0.5) / 10).."%") -termlib.cursorPosX = 17 +printstat("\27[92mComponents\27[0m: "..tostring(componentCounter)) +printstat("\27[92mCoroutines\27[0m: "..tostring(#cormgr.corList)) +printstat("\27[92mBattery\27[0m: "..tostring(math.floor(computer.energy() / computer.maxEnergy() * 1000 + 0.5) / 10).."%") local totalMemory = computer.totalMemory() local usedMemory = computer.totalMemory() - computer.freeMemory() local totalMemoryString @@ -38,8 +36,7 @@ elseif convert(usedMemory, "B", "KiB") >= 1 then else usedMemoryString = tostring(usedMemory) .. " B" end -print("\27[92mMemory\27[0m: "..usedMemoryString.." / "..totalMemoryString) -termlib.cursorPosX = 17 +printstat("\27[92mMemory\27[0m: "..usedMemoryString.." / "..totalMemoryString) local totalDisk = component.invoke(computer.getBootAddress(), "spaceTotal") local usedDisk = component.invoke(computer.getBootAddress(), "spaceUsed") local totalDiskString @@ -62,11 +59,9 @@ elseif convert(usedDisk, "B", "KiB") >= 1 then else usedDiskString = tostring(usedDisk) .. " B" end -print("\27[92mDisk\27[0m: "..usedDiskString.." / "..totalDiskString) -termlib.cursorPosX = 17 +printstat("\27[92mDisk\27[0m: "..usedDiskString.." / "..totalDiskString) local width, height = component.invoke(component.list("gpu")(), "getResolution") -print("\27[92mResolution\27[0m: "..tostring(width).."x"..tostring(height).."\n") -termlib.cursorPosX = 17 -print("\27[40m \27[41m \27[42m \27[43m \27[44m \27[45m \27[46m \27[47m ") -termlib.cursorPosX = 17 -print("\27[100m \27[101m \27[102m \27[103m \27[104m \27[105m \27[106m \27[107m ") +printstat("\27[92mResolution\27[0m: "..tostring(width).."x"..tostring(height).."\n") +printstat("\27[40m \27[41m \27[42m \27[43m \27[44m \27[45m \27[46m \27[47m ") +printstat("\27[100m \27[101m \27[102m \27[103m \27[104m \27[105m \27[106m \27[107m ") +termlib.cursorPosY = termlib.cursorPosY + 5 diff --git a/halyde/apps/ls.lua b/halyde/apps/ls.lua index 97fd62d..f3a68ff 100644 --- a/halyde/apps/ls.lua +++ b/halyde/apps/ls.lua @@ -20,51 +20,53 @@ end local files = fs.list(target) -for _, file in pairs(files) do - if file:sub(-1, -1) == "/" then - table.insert(dirTable, file) - file = file:sub(1, -2) - else - table.insert(fileTable, file) - end - if unicode.wlen(file) > maxLength then - maxLength = unicode.wlen(file) - end -end -table.sort(dirTable) -table.sort(fileTable) -files = {} -for _, v in ipairs(dirTable) do - table.insert(files, v) -end -for _, v in ipairs(fileTable) do - table.insert(files, v) -end -dirTable, fileTable = nil, nil -for _, file in ipairs(files) do - local dir = false - local filetext - if file:sub(-1, -1) == "/" then -- i think this is a more efficient way to check if it's a directory - dir = true - filetext = "\27[93m"..file:sub(1, -2) - elseif file:find(".") and file:match("[^.]+$") == "lua" then - filetext = "\27[92m"..file - end - filetext = (filetext or file)..string.rep(" ", maxLength - unicode.wlen(file) + margin) - if dir then - print(filetext.." \27[0m[DIR]") - else - local size = fs.size(target .. file) - local sizeString - if convert(size, "B", "GiB") >= 1 then - sizeString = tostring(math.floor(convert(size, "B", "GiB") * 100 + 0.5) / 100).." GiB" - elseif convert(size, "B", "MiB") >= 1 then - sizeString = tostring(math.floor(convert(size, "B", "MiB") * 100 + 0.5) / 100).." MiB" - elseif convert(size, "B", "KiB") >= 1 then - sizeString = tostring(math.floor(convert(size, "B", "KiB") * 100 + 0.5) / 100).." KiB" +if files then + for _, file in pairs(files) do + if file:sub(-1, -1) == "/" then + table.insert(dirTable, file) + file = file:sub(1, -2) else - sizeString = tostring(size).." B" + table.insert(fileTable, file) + end + if unicode.wlen(file) > maxLength then + maxLength = unicode.wlen(file) + end + end + table.sort(dirTable) + table.sort(fileTable) + files = {} + for _, v in ipairs(dirTable) do + table.insert(files, v) + end + for _, v in ipairs(fileTable) do + table.insert(files, v) + end + dirTable, fileTable = nil, nil + for _, file in ipairs(files) do + local dir = false + local filetext + if file:sub(-1, -1) == "/" then -- i think this is a more efficient way to check if it's a directory + dir = true + filetext = "\27[93m"..file:sub(1, -2) + elseif file:find(".") and file:match("[^.]+$") == "lua" then + filetext = "\27[92m"..file + end + filetext = (filetext or file)..string.rep(" ", maxLength - unicode.wlen(file) + margin) + if dir then + print(filetext.." \27[0m[DIR]") + else + local size = fs.size(target .. file) + local sizeString + if convert(size, "B", "GiB") >= 1 then + sizeString = tostring(math.floor(convert(size, "B", "GiB") * 100 + 0.5) / 100).." GiB" + elseif convert(size, "B", "MiB") >= 1 then + sizeString = tostring(math.floor(convert(size, "B", "MiB") * 100 + 0.5) / 100).." MiB" + elseif convert(size, "B", "KiB") >= 1 then + sizeString = tostring(math.floor(convert(size, "B", "KiB") * 100 + 0.5) / 100).." KiB" + else + sizeString = tostring(size).." B" + end + print(filetext.."\27[0m"..sizeString) end - print(filetext.."\27[0m"..sizeString) end end diff --git a/halyde/config/oslogo.ans b/halyde/config/oslogo.ans new file mode 100644 index 0000000..0c92872 --- /dev/null +++ b/halyde/config/oslogo.ans @@ -0,0 +1,17 @@ +           @@@@@@@@@@           +      /@@@@@@@@@@@@@@@@@@/      +    @@@@@@#**********#@@@@@@    +  /@@@@%*********/(#%(**%@@@@/  + @@@@@***********@@@@@****@@@@@ +@@@@%*#@@@@#*****#@@@@#****%@@@@ +@@@@***@@@@@******@@@@@*****@@@@ +@@@#***#@@@@&@@@@@@@@@@#****#@@@ +@@@#****@@@@@@@@@@@@@@@@****#@@@ +@@@%****#@@@@@&%#(*(@@@@%***%@@@ +@@@@/****@@@@@******&@@@@/*/@@@@ +@@@@@/***(@@@@%*****(@@&%//@@@@@ +  @@@@#***&@@@@/*********#@@@@  +   @@@@@%*//***********%@@@@@   +     @@@@@@@%(****(%@@@@@@@     +        @@@@@@@@@@@@@@@@        + diff --git a/halyde/core/boot.lua b/halyde/core/boot.lua index 4974eec..53a64e7 100644 --- a/halyde/core/boot.lua +++ b/halyde/core/boot.lua @@ -1,7 +1,13 @@ local loadfile = ... local filesystem = loadfile("/halyde/lib/filesystem.lua")(loadfile) -_G._OSVERSION = "Halyde 1.2.0" +_G._OSVERSION = "Halyde 1.3.0" +_G._OSLOGO = "" +local handle, tmpdata = filesystem.open("/halyde/config/oslogo.ans", "r"), nil +repeat + tmpdata = handle:read(math.huge) + _OSLOGO = _OSLOGO .. (tmpdata or "") +until not tmpdata local gpu = component.proxy(component.list("gpu")()) local screenAddress = component.list("screen")() @@ -60,5 +66,5 @@ end --local handle = assert(filesystem.open("/bazinga.txt", "w")) --assert(handle:write("Bazinga!")) --handle:close() - + import("/halyde/core/cormgr.lua")