SHOW:
|
|
- or go back to the newest paste.
| 1 | --this acts as main script CSP | |
| 2 | version = "1.0.3" | |
| 3 | settings.load(".settings")
| |
| 4 | local w, h = term.getSize() | |
| 5 | local BaseAppsInstalled = {true,false,true}
| |
| 6 | - | local IntPrograms = {"os/os_Programs/ClientApps/os_AccountPgScript","os/os_Programs/os_LinksProvider","os/os_Programs/os_SettingsMenu","os.reboot","os.shutdown"}
|
| 6 | + | local IntPrograms = {"os/os_Programs/ClientApps/os_AccountPgScript","os/os_Programs/os_LinksProvider","os/os_Programs/os_SettingsMenu"}
|
| 7 | - | local ProgramNames = {"Account","Online Items","Settings","reboot","shutdown"}
|
| 7 | + | local ProgramNames = {"Account","Online Items","Settings"}
|
| 8 | - | local TimeSpot = #ProgramNames + 5 |
| 8 | + | local TimeSpot = h |
| 9 | ||
| 10 | local function Clear() | |
| 11 | term.clear() | |
| 12 | term.setCursorPos(1,1) | |
| 13 | end | |
| 14 | ||
| 15 | local function CenterText(y,text) | |
| 16 | local x = math.floor((w - string.len(text)) /2) | |
| 17 | term.setCursorPos(x,y) | |
| 18 | term.clearLine() | |
| 19 | term.write(text) | |
| 20 | end | |
| 21 | - | local function LoadInstalled() |
| 21 | + | |
| 22 | local function BetaAppsLoad() | |
| 23 | ProgramNames = {}
| |
| 24 | IntPrograms = {}
| |
| 25 | settings.load(".settings")
| |
| 26 | ProgramNames = settings.get("ClientApps_Names")
| |
| 27 | IntPrograms = settings.get("ClientApps_Paths")
| |
| 28 | ProgramNames[#ProgramNames + 1] = "reboot" | |
| 29 | ProgramNames[#ProgramNames + 1] = "shutdown" | |
| 30 | IntPrograms[#IntPrograms + 1] = "reboot" | |
| 31 | IntPrograms[#IntPrograms + 1] = "shutdown" | |
| 32 | TimeSpot = #ProgramNames + 5 | |
| 33 | end | |
| 34 | - | local function NonBetaTestMode() |
| 34 | + | |
| 35 | - | IntPrograms = {"os/os_Programs/os_AccountPgScript","os/os_Programs/os_LinksProvider","os/os_Programs/os_SettingsMenu", "os.reboot","os.shutdown"}
|
| 35 | + | |
| 36 | - | ProgramNames = {"AccountPage","Online Programs","Settings","Reboot","PowerOff"}
|
| 36 | + | |
| 37 | term.setBackgroundColor(colors.cyan) | |
| 38 | Clear() | |
| 39 | local Background = paintutils.loadImage("os/os_SystemFiles/Images/MenuBackground")
| |
| 40 | paintutils.drawImage(Background,1,1) | |
| 41 | CenterText(1,"==Desktop==version"..version.."==") | |
| 42 | CenterText(3,"-=Applications=-") | |
| 43 | term.setBackgroundColor(colors.cyan) | |
| 44 | CenterText(TimeSpot,os.date()) | |
| 45 | if settings.get("os_BetaTest") == true then CenterText(TimeSpot -1,"Experimental Mode") end
| |
| 46 | end | |
| 47 | ||
| 48 | ||
| 49 | - | CenterText(TimeSpot - 1,"Experimental Mode") |
| 49 | + | |
| 50 | function CUI(m) --declare function | |
| 51 | - | DrawNetworkStatus() |
| 51 | + | |
| 52 | local l = #m | |
| 53 | local BoxPositions = {{2,5},{8,5},{14,5},{2,13},{8,13},{14,13},{2,21},{8,21},{14,21}}
| |
| 54 | - | function DrawNetworkStatus() |
| 54 | + | |
| 55 | - | local Modem = peripheral.find("modem")
|
| 55 | + | |
| 56 | - | local NetworkState = 0 |
| 56 | + | |
| 57 | - | if Modem ~= nil then |
| 57 | + | paintutils.drawFilledBox(BoxPositions[i][1],BoxPositions[i][2],BoxPositions[i][1] + 5, BoxPositions[i][2] + 7, colors.gray) |
| 58 | - | NetworkState = 1 |
| 58 | + | term.setCursorPos(BoxPositions[i][1],BoxPositions[i][2]) |
| 59 | term.write(m[i]) | |
| 60 | - | NetworkState = 0 |
| 60 | + | |
| 61 | ||
| 62 | - | if NetworkState == 1 then |
| 62 | + | a, b, c, d = os.pullEvent("mouse_click") --wait for keypress
|
| 63 | - | rednet.open(Modem) |
| 63 | + | for i = 1, #m do |
| 64 | - | rednet.broadcast("ping")
|
| 64 | + | n = i |
| 65 | - | local id, message, protocol = rednet.receive() |
| 65 | + | if c < 2 and d < 2 then shell.run("os/os_Programs/os_PowerMenu") end
|
| 66 | - | if message == "pong" then |
| 66 | + | if c > BoxPositions[i][1] and c < BoxPositions[i][1] + 5 and d > BoxPositions[i][2] and d < BoxPositions[i][2] + 7 then break end |
| 67 | - | NetworkState = 3 |
| 67 | + | |
| 68 | - | else |
| 68 | + | |
| 69 | - | NetworkState = 2 |
| 69 | + | |
| 70 | - | end |
| 70 | + | |
| 71 | ||
| 72 | - | paintutils.drawFilledBox(w-3,h-3,w,h,colors.lightGray) |
| 72 | + | |
| 73 | - | if NetworkState == 3 then paintutils.drawFilledBox(w-2,h-2,w,h, colors.white) end |
| 73 | + | |
| 74 | - | if NetworkState > 1 then paintutils(w-1, h-1, w, h, colors.lightGray) end |
| 74 | + | BetaAppsLoad() |
| 75 | - | if NetworkState == 0 then |
| 75 | + | |
| 76 | - | paintutils.drawPixel(w,h,colors.gray) |
| 76 | + | |
| 77 | - | elseif NetworkState == 1 then |
| 77 | + | |
| 78 | - | paintutils.drawPixel(w,h,colors.white) |
| 78 | + | |
| 79 | if IntPrograms[n] == "reboot" then | |
| 80 | os.reboot() | |
| 81 | elseif IntPrograms[n] == "shutdown" then | |
| 82 | os.shutdown() | |
| 83 | else | |
| 84 | shell.run(shell.resolve(IntPrograms[n])) | |
| 85 | end | |
| 86 | - | CenterText(TimeSpot, os.date()) |
| 86 | + |