Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
#!/usr/bin/env lua50 -- sshot-uniq.lua -- By Edrx, 2006oct02 -- sshot.el sometimes creates repeated screenshots. -- This script cleans them. -- See: (find-angg ".emacs" "sshot") -- (find-angg "elisp/sshot.el") stem = arg[1] pngs = split(getoutput("ls " .. stem .. "_*.png | sort")) newpngs = {} commands = {} for n,name in ipairs(pngs) do local newn = getn(newpngs) + 1 local newname = format("%s_%03d.png", stem, newn) local prevname = pngs[n-1] if prevname and readfile(prevname) == readfile(name) then tinsert(commands, format("rm -v %s", prevname)) else tinsert(newpngs, newname) tinsert(commands, format("%smv -iv %s %s", name == newname and "# " or "", name, newname)) end end basename = function (str) local _, __, bname = strfind(str, "([^/]*)$") return bname end dirname = function (str) local _, __, dname = strfind(str, "^(.*)/[^/]*$") return dname or "." end print "(find-sh \"" print(concat(commands, "\n")) print "\")" print(format("(find-fline \"%s/\" \"%s\")", dirname(stem), basename(stem))) print(format("(setq sshot-next %d)", getn(newpngs) + 1)) print(format("(setq sshot-fname-prefix \"%s\")", stem)) print(format("(sshot-write-html)")) print(format("(find-fline \"%s.html\")", stem)) print(format("(find-sshot \"%s\" 1)", stem)) print(format("file:///%s.html", stem)) -- (find-angg "elisp/sshot.el") -- PP(pngs) -- (find-angg "bin/sshot-uniq.lua") -- (sshot-uniq "/tmp/sshot/ee-glyph") -- (find-sh "cd /tmp/sshot/; sshot-uniq.lua ee-glyph") -- (find-sh "cd /tmp/sshot/; sshot-uniq.lua /tmp/sshot/ee-glyph")