Log In  


makes locs on desktop

usage: loc path (name)

put code in appdata/system/util/loc.lua
you can change file name to whatever you like, like ln.lua to use as ln

function ext(str)
	for i=1,#str do
		if (str:sub(i,i)==".") return i-1
	end
	return #str
end
local orig=env().argv[1]
if (not orig) print("usage: "..env().argv[0].." path (name)") exit(1)
if (orig:sub(#orig)=="/") orig=orig:sub(1,#orig-1)
if (orig:sub(1,1)!="/") orig=fetch("/ram/system/pwd.pod").."/"..orig
if (not fstat(orig)) print("file does not exist ("..orig..")") exit(1)
local name=env().argv[2] and #env().argv[2]!=0 and env().argv[2] or orig:basename()
name=name:sub(1,ext(name))
local targ="/desktop/"..name..".loc"
if (fstat(targ)) print("loc already exists ("..targ..")") exit(1)
store(targ,{location=orig})
local orig_meta=fetch_metadata(orig)
local targ_meta=fetch_metadata(targ)
if (orig_meta and orig_meta.icon) then
	targ_meta.icon=fetch_metadata(orig).icon
	store_metadata(targ,targ_meta)
end
print("-> "..targ.." done")
3



[Please log in to post a comment]