Compare commits

...

2 Commits

Author SHA1 Message Date
36a3912c84 made ed clipboard-aware 2019-08-07 21:09:21 +10:00
2c9bb81fe9 added a clipboard daemon, changed default services 2019-08-07 21:07:37 +10:00
3 changed files with 38 additions and 6 deletions

View File

@ -1,2 +1,3 @@
minitel.lua minitel.lua
tape-iofs.lua tape-iofs.lua
fsmanager.service

View File

@ -65,20 +65,38 @@ function ct.append(np)
p=p+1 p=p+1
ct.insert() ct.insert()
end end
function ct.substitute(np) function ct.delete(np,n)
ct.sp(np) ct.sp(np)
table.remove(ft,p) _G.clip = ""
ct.insert(np) for i = 1, (n or 1) do
_G.clip = _G.clip .. table.remove(ft,p) .. "\n"
end end
function ct.delete(np) end
ct.sp(np) function ct.substitute(np,n)
table.remove(ft,p) ct.delete(np,n)
ct.insert(np)
end end
function ct.filename(np) function ct.filename(np)
if np then fp = np end if np then fp = np end
print(fp) print(fp)
end end
local function rawpaste()
for line in string.gmatch(_G.clip,"[^\n]") do
print(string.format("%4d\t %s",p,line))
table.insert(ft,p,line)
end
end
function ct.pasteprevious(np)
ct.sp(np)
rawpaste()
end
function ct.paste(np)
ct.sp(np)
p = p + 1
rawpaste()
end
ct.o = ct.readfile ct.o = ct.readfile
ct.w = ct.writefile ct.w = ct.writefile
ct.l = ct.list ct.l = ct.list
@ -88,6 +106,8 @@ ct.a = ct.append
ct.s = ct.substitute ct.s = ct.substitute
ct.d = ct.delete ct.d = ct.delete
ct.f = ct.filename ct.f = ct.filename
ct.p = ct.pasteprevious
ct.P = ct.paste
ct.readfile(fp) ct.readfile(fp)

11
service/clipboard.lua Normal file
View File

@ -0,0 +1,11 @@
local lc = computer.uptime()
_G.clip = ""
while true do
local eT = {coroutine.yield()}
if eT[1] == "clipboard" then
if computer.uptime() > lc + 5 then
_G.clip = ""
end
_G.clip = _G.clip .. eT[3]
end
end