]> git.decadent.org.uk Git - ion3.git/blobdiff - mod_statusbar/mod_statusbar.lua
Imported Upstream version 20090110
[ion3.git] / mod_statusbar / mod_statusbar.lua
index 81db1a4f435e58ed1eef335b8476ebadc74a062c..9bae08cd8dd1c4fd5cf7eb919224a9d39a8a9f34 100644 (file)
@@ -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