summaryrefslogtreecommitdiffstatshomepage
path: root/plugins/layout/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/layout/init.lua')
-rw-r--r--plugins/layout/init.lua19
1 files changed, 13 insertions, 6 deletions
diff --git a/plugins/layout/init.lua b/plugins/layout/init.lua
index 8301167633e..aeb0ad77e44 100644
--- a/plugins/layout/init.lua
+++ b/plugins/layout/init.lua
@@ -13,17 +13,24 @@ local layout = exports
function layout.startplugin()
local scripts = {}
- local function prepare_layout(script)
- local env = { machine = manager:machine(), pairs = pairs, ipairs = ipairs,
- table = { insert = table.insert, remove = table.remove } }
+ local function prepare_layout(file, script)
+ local env = {
+ machine = manager:machine(),
+ file = file,
+ print = print,
+ pairs = pairs,
+ ipairs = ipairs,
+ string = { format = string.format },
+ table = { insert = table.insert, remove = table.remove } }
local script, err = load(script, script, "t", env)
if not script then
emu.print_verbose("error loading layout script " .. err)
return
end
- local name
- script, name = script()
- scripts[name] = script
+ local hooks = script()
+ if hooks ~= nil then
+ table.insert(scripts, hooks)
+ end
end
emu.register_callback(prepare_layout, "layout")