From d3021e67729a01e891c8eb04a8afd696fb63b0ce Mon Sep 17 00:00:00 2001 From: Uli Schlachter Date: Sun, 27 Nov 2011 11:14:25 +0100 Subject: [PATCH] Beautiful: Handle invalid wallpaper_cmd better (FS#941) Biggest plus is that this no longer errors out when wallpaper_cmd isn't a table. Second biggest plus is that this now prints a warning. Signed-off-by: Uli Schlachter --- lib/beautiful.lua.in | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/beautiful.lua.in b/lib/beautiful.lua.in index 99973293..c3564557 100644 --- a/lib/beautiful.lua.in +++ b/lib/beautiful.lua.in @@ -29,11 +29,11 @@ module("beautiful") -- Local data local theme -local wallpaper = {} -- Checks the entries in the wallpaper_cmd are valid. -- @param tw A table with wallpaper commands. --- @return False if tw length is zero or if any entries in tw are not strings. -function wallpaper.is_valid(tw) +-- @return False if there is no way that this can be a valid wallpaper cmd. +local function wallpaper_is_valid(tw) + if type(tw) ~= 'table' then return false end for _, v in pairs(tw) do if type(v) ~= 'string' then return false end end @@ -60,10 +60,15 @@ function init(path) end -- setup wallpaper - if wallpaper.is_valid(theme.wallpaper_cmd) then + if wallpaper_is_valid(theme.wallpaper_cmd) then for s = 1, capi.screen.count() do util.spawn(theme.wallpaper_cmd[util.cycle(#theme.wallpaper_cmd, s)], false, s) end + else + if theme.wallpaper_cmd then + -- There is a wallpaper_cmd, but wallpaper_is_valid doesn't like it + print("W: beautiful: invalid wallpaper_cmd in theme file " .. path) + end end if theme.font then capi.awesome.font = theme.font end if theme.fg_normal then capi.awesome.fg = theme.fg_normal end