Update home.spk
This commit is contained in:
parent
1620d63658
commit
e5a23bd9e9
1 changed files with 138 additions and 120 deletions
|
@ -1,120 +1,138 @@
|
||||||
|
--
|
||||||
|
-- sPhone Application Package
|
||||||
local buttonsInHome = {
|
-- Built with SPK builder 1.2
|
||||||
{"sphone.header",23,1,25,1,sPhone.theme["header"],sPhone.theme["headerText"],"vvv"},
|
--
|
||||||
{"sphone.appList",12,20,14,20,sPhone.theme["backgroundColor"],sPhone.theme["header"],"==="},
|
{
|
||||||
{"sphone.shell",2,3,8,5,colors.black,colors.yellow," Shell",2},
|
files = "{\
|
||||||
{"sphone.lock",19,3,24,5,colors.lightGray,colors.black," Lock",2},
|
[ \"home.lua\" ] = \"\\\
|
||||||
{"sphone.chat",11,3,16,5,colors.black,colors.white," Chat",2},
|
\\\
|
||||||
{"sphone.gps",11,7,15,9,colors.red,colors.black," GPS",2},
|
local buttonsInHome = {\\\
|
||||||
{"sphone.info",18,7,23,9,colors.lightGray,colors.black," Info",2},
|
{\\\"sphone.header\\\",23,1,25,1,sPhone.theme[\\\"header\\\"],sPhone.theme[\\\"headerText\\\"],\\\"vvv\\\"},\\\
|
||||||
{"sphone.store",2,7,8,9,colors.green,colors.white," Store",2},
|
{\\\"sphone.appList\\\",12,20,14,20,sPhone.theme[\\\"backgroundColor\\\"],sPhone.theme[\\\"header\\\"],\\\"===\\\"},\\\
|
||||||
|
{\\\"sphone.shell\\\",2,3,8,5,colors.black,colors.yellow,\\\" Shell\\\",2},\\\
|
||||||
|
{\\\"sphone.lock\\\",19,3,24,5,colors.lightGray,colors.black,\\\" Lock\\\",2},\\\
|
||||||
|
{\\\"sphone.chat\\\",11,3,16,5,colors.black,colors.white,\\\" Chat\\\",2},\\\
|
||||||
|
{\\\"sphone.gps\\\",11,7,15,9,colors.red,colors.black,\\\" GPS\\\",2},\\\
|
||||||
|
{\\\"sphone.info\\\",18,7,23,9,colors.lightGray,colors.black,\\\" Info\\\",2},\\\
|
||||||
|
{\\\"sphone.store\\\",2,7,8,9,colors.green,colors.white,\\\" Store\\\",2},\\\
|
||||||
|
}\\\
|
||||||
|
\\\
|
||||||
|
local function clear()\\\
|
||||||
|
term.setBackgroundColor(sPhone.theme[\\\"backgroundColor\\\"])\\\
|
||||||
|
term.clear()\\\
|
||||||
|
term.setCursorPos(1,1)\\\
|
||||||
|
term.setTextColor(sPhone.theme[\\\"text\\\"])\\\
|
||||||
|
end\\\
|
||||||
|
\\\
|
||||||
|
local function drawHome()\\\
|
||||||
|
local function box(x,y,text,bg,colorText,page)\\\
|
||||||
|
graphics.box(x,y,x+1+#text,y+2,bg)\\\
|
||||||
|
term.setCursorPos(x+1,y+1)\\\
|
||||||
|
term.setTextColor(colorText)\\\
|
||||||
|
write(text)\\\
|
||||||
|
end\\\
|
||||||
|
clear()\\\
|
||||||
|
\\\
|
||||||
|
\\\
|
||||||
|
visum.buttons(buttonsInHome,true)\\\
|
||||||
|
\\\
|
||||||
|
local w, h = term.getSize()\\\
|
||||||
|
paintutils.drawLine(1,1,w,1, sPhone.theme[\\\"header\\\"])\\\
|
||||||
|
term.setTextColor(sPhone.theme[\\\"headerText\\\"])\\\
|
||||||
|
visum.align(\\\"right\\\",\\\"vvv \\\",false,1)\\\
|
||||||
|
end\\\
|
||||||
|
local function footerMenu()\\\
|
||||||
|
sPhone.isFooterMenuOpen = true\\\
|
||||||
|
function redraw()\\\
|
||||||
|
drawHome()\\\
|
||||||
|
local w, h = term.getSize()\\\
|
||||||
|
graphics.box(1,2,w,4,sPhone.theme[\\\"header\\\"])\\\
|
||||||
|
term.setTextColor(sPhone.theme[\\\"headerText\\\"])\\\
|
||||||
|
term.setBackgroundColor(sPhone.theme[\\\"header\\\"])\\\
|
||||||
|
visum.align(\\\"right\\\",\\\"^^^ \\\",false,1)\\\
|
||||||
|
visum.align(\\\"right\\\", \\\"Reboot \\\",false,3)\\\
|
||||||
|
term.setCursorPos(11,3)\\\
|
||||||
|
write(\\\"Settings\\\")\\\
|
||||||
|
term.setCursorPos(2,3)\\\
|
||||||
|
write(\\\"Shutdown\\\")\\\
|
||||||
|
end\\\
|
||||||
|
while true do\\\
|
||||||
|
term.redirect(sPhone.mainTerm)\\\
|
||||||
|
drawHome()\\\
|
||||||
|
redraw()\\\
|
||||||
|
local _,_,x,y = os.pullEvent(\\\"mouse_click\\\")\\\
|
||||||
|
if y == 3 then\\\
|
||||||
|
if x > 1 and x < 10 then\\\
|
||||||
|
os.shutdown()\\\
|
||||||
|
sPhone.inHome = true\\\
|
||||||
|
elseif x > 19 and x < 26 then\\\
|
||||||
|
os.reboot()\\\
|
||||||
|
sPhone.inHome = true\\\
|
||||||
|
elseif x > 10 and x < 19 then\\\
|
||||||
|
sPhone.inHome = false\\\
|
||||||
|
sPhone.launch(\\\"sphone.settings\\\")\\\
|
||||||
|
sPhone.inHome = true\\\
|
||||||
|
drawHome()\\\
|
||||||
|
end\\\
|
||||||
|
elseif y == 1 then\\\
|
||||||
|
if x < 26 and x > 22 then\\\
|
||||||
|
sPhone.isFooterMenuOpen = false\\\
|
||||||
|
return\\\
|
||||||
|
end\\\
|
||||||
|
end\\\
|
||||||
|
end\\\
|
||||||
|
end\\\
|
||||||
|
local function buttonHomeLoop()\\\
|
||||||
|
while true do\\\
|
||||||
|
drawHome()\\\
|
||||||
|
term.setCursorBlink(false)\\\
|
||||||
|
local autoLockTimer = os.startTimer(10)\\\
|
||||||
|
local id = visum.buttons(buttonsInHome)\\\
|
||||||
|
\\\
|
||||||
|
if id == \\\"sphone.header\\\" then\\\
|
||||||
|
footerMenu()\\\
|
||||||
|
elseif id == \\\"sphone.lock\\\" then\\\
|
||||||
|
sPhone.inHome = false\\\
|
||||||
|
sPhone.login()\\\
|
||||||
|
sPhone.inHome = true\\\
|
||||||
|
else\\\
|
||||||
|
sPhone.inHome = false\\\
|
||||||
|
os.pullEvent = os.oldPullEvent\\\
|
||||||
|
sPhone.launch(id)\\\
|
||||||
|
os.pullEvent = os.pullEventRaw\\\
|
||||||
|
sPhone.inHome = true\\\
|
||||||
|
end\\\
|
||||||
|
end\\\
|
||||||
|
\\\
|
||||||
|
sPhone.inHome = false\\\
|
||||||
|
\\\
|
||||||
|
end\\\
|
||||||
|
\\\
|
||||||
|
local function updateClock()\\\
|
||||||
|
while true do\\\
|
||||||
|
if sPhone.inHome then\\\
|
||||||
|
term.setCursorPos(1,1)\\\
|
||||||
|
term.setBackgroundColor(sPhone.theme[\\\"header\\\"])\\\
|
||||||
|
term.setTextColor(sPhone.theme[\\\"headerText\\\"])\\\
|
||||||
|
term.setCursorPos(1,1)\\\
|
||||||
|
write(\\\" \\\")\\\
|
||||||
|
term.setCursorPos(1,1)\\\
|
||||||
|
write(\\\" \\\"..textutils.formatTime(os.time(), not config.read(\\\"/.sPhone/config/sPhone\\\",\\\"format12time\\\")))\\\
|
||||||
|
end\\\
|
||||||
|
sleep(0)\\\
|
||||||
|
end\\\
|
||||||
|
end\\\
|
||||||
|
\\\
|
||||||
|
parallel.waitForAll(buttonHomeLoop, updateClock)\\\
|
||||||
|
\",\
|
||||||
|
}",
|
||||||
|
config = "{\
|
||||||
|
type = \"home\",\
|
||||||
|
main = \"home.lua\",\
|
||||||
|
name = \"sPhone Home\",\
|
||||||
|
version = 1,\
|
||||||
|
id = \"sphone.home\",\
|
||||||
|
author = \"BeaconNet\",\
|
||||||
|
hidden = true,\
|
||||||
|
}",
|
||||||
}
|
}
|
||||||
|
|
||||||
local function clear()
|
|
||||||
term.setBackgroundColor(sPhone.theme["backgroundColor"])
|
|
||||||
term.clear()
|
|
||||||
term.setCursorPos(1,1)
|
|
||||||
term.setTextColor(sPhone.theme["text"])
|
|
||||||
end
|
|
||||||
|
|
||||||
local function drawHome()
|
|
||||||
local function box(x,y,text,bg,colorText,page)
|
|
||||||
graphics.box(x,y,x+1+#text,y+2,bg)
|
|
||||||
term.setCursorPos(x+1,y+1)
|
|
||||||
term.setTextColor(colorText)
|
|
||||||
write(text)
|
|
||||||
end
|
|
||||||
clear()
|
|
||||||
|
|
||||||
|
|
||||||
visum.buttons(buttonsInHome,true)
|
|
||||||
|
|
||||||
local w, h = term.getSize()
|
|
||||||
paintutils.drawLine(1,1,w,1, sPhone.theme["header"])
|
|
||||||
term.setTextColor(sPhone.theme["headerText"])
|
|
||||||
visum.align("right","vvv ",false,1)
|
|
||||||
end
|
|
||||||
local function footerMenu()
|
|
||||||
sPhone.isFooterMenuOpen = true
|
|
||||||
function redraw()
|
|
||||||
drawHome()
|
|
||||||
local w, h = term.getSize()
|
|
||||||
graphics.box(1,2,w,4,sPhone.theme["header"])
|
|
||||||
term.setTextColor(sPhone.theme["headerText"])
|
|
||||||
term.setBackgroundColor(sPhone.theme["header"])
|
|
||||||
visum.align("right","^^^ ",false,1)
|
|
||||||
visum.align("right", "Reboot ",false,3)
|
|
||||||
term.setCursorPos(11,3)
|
|
||||||
write("Settings")
|
|
||||||
term.setCursorPos(2,3)
|
|
||||||
write("Shutdown")
|
|
||||||
end
|
|
||||||
while true do
|
|
||||||
term.redirect(sPhone.mainTerm)
|
|
||||||
drawHome()
|
|
||||||
redraw()
|
|
||||||
local _,_,x,y = os.pullEvent("mouse_click")
|
|
||||||
if y == 3 then
|
|
||||||
if x > 1 and x < 10 then
|
|
||||||
os.shutdown()
|
|
||||||
sPhone.inHome = true
|
|
||||||
elseif x > 19 and x < 26 then
|
|
||||||
os.reboot()
|
|
||||||
sPhone.inHome = true
|
|
||||||
elseif x > 10 and x < 19 then
|
|
||||||
sPhone.inHome = false
|
|
||||||
sPhone.launch("sphone.settings")
|
|
||||||
sPhone.inHome = true
|
|
||||||
drawHome()
|
|
||||||
end
|
|
||||||
elseif y == 1 then
|
|
||||||
if x < 26 and x > 22 then
|
|
||||||
sPhone.isFooterMenuOpen = false
|
|
||||||
return
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
local function buttonHomeLoop()
|
|
||||||
while true do
|
|
||||||
drawHome()
|
|
||||||
term.setCursorBlink(false)
|
|
||||||
local autoLockTimer = os.startTimer(10)
|
|
||||||
local id = visum.buttons(buttonsInHome)
|
|
||||||
|
|
||||||
if id == "sphone.header" then
|
|
||||||
footerMenu()
|
|
||||||
elseif id == "sphone.lock" then
|
|
||||||
sPhone.inHome = false
|
|
||||||
sPhone.login()
|
|
||||||
sPhone.inHome = true
|
|
||||||
else
|
|
||||||
sPhone.inHome = false
|
|
||||||
os.pullEvent = os.oldPullEvent
|
|
||||||
sPhone.launch(id)
|
|
||||||
os.pullEvent = os.pullEventRaw
|
|
||||||
sPhone.inHome = true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
sPhone.inHome = false
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
local function updateClock()
|
|
||||||
while true do
|
|
||||||
if sPhone.inHome then
|
|
||||||
term.setCursorPos(1,1)
|
|
||||||
term.setBackgroundColor(sPhone.theme["header"])
|
|
||||||
term.setTextColor(sPhone.theme["headerText"])
|
|
||||||
term.setCursorPos(1,1)
|
|
||||||
write(" ")
|
|
||||||
term.setCursorPos(1,1)
|
|
||||||
write(" "..textutils.formatTime(os.time(), not config.read("/.sPhone/config/sPhone","format12time")))
|
|
||||||
end
|
|
||||||
sleep(0)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
parallel.waitForAll(buttonHomeLoop, updateClock)
|
|
||||||
|
|
Loading…
Reference in a new issue