not my autorun.lua is runonce.lua
2012/6/12 Leiking <jinleileik...@gmail.com>: > i.e : > > > "for m in vbox{drv,netadp,netflt}; do modprobe $m; done", > > my rc.lua: > > local r = require("runonce") > > autorun_items = > { > "terminator", > --"VBoxClient-all", > "gvim", > --"ibus-daemon -d -x", > "fcitx", > "google-chrome", > --"xrandr --output VBOX1 --right-of VBOX0", > "xrandr --output LVDS1 --auto --output VGA1 --mode 1680x1050 > --left-of LVDS1", > "/usr/bin/python2.7 /mnt/share/Tools/ALL/goagent_nop/local/proxy.py", > "for m in vbox{drv,netadp,netflt}; do modprobe $m; done", > "pcmanfm" > } > > for index, item in ipairs(autorun_items) do > r.run(item) > end > > > my autorun.lua > > -- @author Peter J. Kranz (Absurd-Mind, pe...@myref.net) > -- Any questions, criticism or praise just drop me an email > > local M = {} > > -- get the current Pid of awesome > local function getCurrentPid() > -- get awesome pid from pgrep > local fpid = io.popen("pgrep -u " .. os.getenv("USER") .. " -o awesome") > local pid = fpid:read("*n") > fpid:close() > > -- sanity check > if pid == nil then > return -1 > end > > return pid > end > > local function getOldPid(filename) > -- open file > local pidFile = io.open(filename) > if pidFile == nil then > return -1 > end > > -- read number > local pid = pidFile:read("*n") > pidFile:close() > > -- sanity check > if pid <= 0 then > return -1 > end > > return pid; > end > > local function writePid(filename, pid) > local pidFile = io.open(filename, "w+") > pidFile:write(pid) > pidFile:close() > end > > local function shallExecute(oldPid, newPid) > -- simple check if equivalent > if oldPid == newPid then > return false > end > > return true > end > > local function getPidFile() > local host = io.lines("/proc/sys/kernel/hostname")() > return awful.util.getdir("cache") .. "/awesome." .. host .. ".pid" > end > > -- run Once per real awesome start (config reload works) > -- does not cover "pkill awesome && awesome" > function M.run(shellCommand) > -- check and Execute > if shallExecute(M.oldPid, M.currentPid) then > awful.util.spawn_with_shell(shellCommand) > end > end > > M.pidFile = getPidFile() > M.oldPid = getOldPid(M.pidFile) > M.currentPid = getCurrentPid() > writePid(M.pidFile, M.currentPid) > > return M -- To unsubscribe, send mail to awesome-unsubscr...@naquadah.org.