summaryrefslogtreecommitdiff
path: root/core/lua/astal/application.lua
diff options
context:
space:
mode:
Diffstat (limited to 'core/lua/astal/application.lua')
-rw-r--r--core/lua/astal/application.lua13
1 files changed, 11 insertions, 2 deletions
diff --git a/core/lua/astal/application.lua b/core/lua/astal/application.lua
index 663a457..88650a8 100644
--- a/core/lua/astal/application.lua
+++ b/core/lua/astal/application.lua
@@ -4,6 +4,15 @@ local Astal = lgi.require("Astal", "0.1")
local AstalLua = Astal.Application:derive("AstalLua")
local request_handler
+local function unpack(t, i)
+ i = i or 1
+ if t[i] == nil then
+ return nil
+ else
+ return t[i], unpack(t, i + 1)
+ end
+end
+
function AstalLua:do_request(msg, conn)
if type(request_handler) == "function" then
request_handler(msg, function(response)
@@ -75,7 +84,7 @@ function Astal.Application:start(config)
app.on_activate = function()
if type(config.main) == "function" then
- config.main(table.unpack(arg))
+ config.main(unpack(arg))
end
if config.hold then
self:hold()
@@ -85,7 +94,7 @@ function Astal.Application:start(config)
if not app:acquire_socket() then
return config.client(function(msg)
return Astal.Application.send_message(self.instance_name, msg)
- end, table.unpack(arg))
+ end, unpack(arg))
end
self:run(nil)