summaryrefslogtreecommitdiff
path: root/lua/astal
diff options
context:
space:
mode:
authorAylur <[email protected]>2024-06-04 23:05:41 +0200
committerAylur <[email protected]>2024-06-04 23:05:41 +0200
commitca74fb7ad016f9ceee3756a973baa2d87a8aa1d6 (patch)
treed935caa5959c1344ce9e99ae3ca9be699426ad2a /lua/astal
parentcfe3244e61207d4d761f2522546cb2bfb1c539f3 (diff)
small fixes
* export Gdk * flatten jsx children
Diffstat (limited to 'lua/astal')
-rw-r--r--lua/astal/application.lua2
-rw-r--r--lua/astal/init.lua2
-rw-r--r--lua/astal/widget.lua9
3 files changed, 12 insertions, 1 deletions
diff --git a/lua/astal/application.lua b/lua/astal/application.lua
index 551367a..8402a59 100644
--- a/lua/astal/application.lua
+++ b/lua/astal/application.lua
@@ -25,7 +25,7 @@ local app = AstalLua()
---@field cursor_theme? string
---@field css? string
---@field hold? boolean
----@field request_handler? fun(msg: string, response: fun(res: string))
+---@field request_handler? fun(msg: string, response: fun(res: any))
---@param config StartConfig | nil
---@param callback function | nil
diff --git a/lua/astal/init.lua b/lua/astal/init.lua
index c247533..37c7119 100644
--- a/lua/astal/init.lua
+++ b/lua/astal/init.lua
@@ -1,6 +1,7 @@
local lgi = require("lgi")
local Astal = lgi.require("Astal", "0.1")
local Gtk = lgi.require("Gtk", "3.0")
+local Gdk = lgi.require("Gdk", "3.0")
local GObject = lgi.require("GObject", "2.0")
local Widget = require("astal.widget")
local Variable = require("astal.variable")
@@ -23,6 +24,7 @@ return {
Astal = Astal,
Gtk = Gtk,
+ Gdk = Gdk,
GObject = GObject,
GLib = lgi.require("GLib", "2.0"),
Gio = lgi.require("Gio", "2.0"),
diff --git a/lua/astal/widget.lua b/lua/astal/widget.lua
index 2f58b7a..7be240f 100644
--- a/lua/astal/widget.lua
+++ b/lua/astal/widget.lua
@@ -3,6 +3,7 @@ local Astal = lgi.require("Astal", "0.1")
local Gtk = lgi.require("Gtk", "3.0")
local GObject = lgi.require("GObject", "2.0")
local Binding = require("astal.binding")
+local exec_async = require("astal.process").exec_async
local function filter(tbl, fn)
local copy = {}
@@ -101,6 +102,14 @@ local function astalify(ctor)
end
end
+ for prop, value in pairs(props) do
+ if string.sub(prop, 0, 2) == "on" and type(value) ~= "function" then
+ props[prop] = function()
+ exec_async(value, print, print)
+ end
+ end
+ end
+
local widget = ctor(props)
for prop, binding in pairs(bindings) do