X-Git-Url: https://git.decadent.org.uk/gitweb/?p=ion3.git;a=blobdiff_plain;f=mod_statusbar%2Fmod_statusbar.lua;h=9bae08cd8dd1c4fd5cf7eb919224a9d39a8a9f34;hp=81db1a4f435e58ed1eef335b8476ebadc74a062c;hb=e3aec18706513a87eaa7839dfdaf7e0fcd0d8d2a;hpb=ae4260bb64817c11f9a7140324cd3e3ba113e297 diff --git a/mod_statusbar/mod_statusbar.lua b/mod_statusbar/mod_statusbar.lua index 81db1a4..9bae08c 100644 --- a/mod_statusbar/mod_statusbar.lua +++ b/mod_statusbar/mod_statusbar.lua @@ -1,7 +1,7 @@ -- -- ion/mod_statusbar/mod_statusbar.lua -- --- Copyright (c) Tuomo Valkonen 2004-2007. +-- Copyright (c) Tuomo Valkonen 2004-2009. -- -- See the included file LICENSE for details. -- @@ -191,7 +191,7 @@ function mod_statusbar.rcv_statusd(str) end -local function get_modules() +function mod_statusbar.get_modules() local mods={} local specials={["filler"]=true, ["systray"]=true} @@ -233,7 +233,6 @@ function mod_statusbar.rcv_statusd_err(str) end end - --DOC -- Load modules and launch \file{ion-statusd} with configuration -- table \var{cfg}. The options for each \file{ion-statusd} monitor @@ -243,7 +242,11 @@ function mod_statusbar.launch_statusd(cfg) return end - local mods=get_modules() + -- Launch tried, don't do it automatically after reading + -- configuration. + mod_statusbar.no_autolaunch=true + + local mods=mod_statusbar.get_modules() -- Load modules for m in pairs(mods) do @@ -253,9 +256,10 @@ function mod_statusbar.launch_statusd(cfg) end -- Lookup ion-statusd - local statusd=ioncore.lookup_script("ion-statusd") + local statusd_script="ion-statusd" + local statusd=ioncore.lookup_script(statusd_script) if not statusd then - ioncore.warn(TR("Could not find %s", script)) + ioncore.warn(TR("Could not find %s", statusd_script)) return end @@ -267,7 +271,7 @@ function mod_statusbar.launch_statusd(cfg) local cfg=mod_statusbar.cfg_statusd(cfg or {}) local params="" table.foreach(mods, function(k) params=params.." -m "..k end) - local cmd=statusd.." -q -c "..cfg..params + local cmd=statusd.." -c "..cfg..params local rcv=coroutine.wrap(mod_statusbar.rcv_statusd) local rcverr=mod_statusbar.rcv_statusd_err @@ -298,8 +302,8 @@ end -- Variable & Type & Description \\ -- \var{template} & string & The template; see -- Section \ref{sec:statusbar}. \\ --- \var{pos} & string & Position: \code{"tl"}, \code{"tr"}, --- \code{"bl"} or \code{"br"} +-- \var{pos} & string & Position: \codestr{tl}, \codestr{tr}, +-- \codestr{bl} or \codestr{br} -- (for the obvious combinations of -- top/left/bottom/right). \\ -- \var{screen} & integer & Screen number to create the statusbar on. \\ @@ -350,6 +354,6 @@ package.loaded["mod_statusbar"]=true dopath('cfg_statusbar', true) -- Launch statusd if the user didn't launch it. -if statusd_pid<=0 then +if not mod_statusbar.no_autolaunch then mod_statusbar.launch_statusd() end