diff --git a/lib/naughty/core.lua b/lib/naughty/core.lua
index be2f46ae2..24f7c9606 100644
--- a/lib/naughty/core.lua
+++ b/lib/naughty/core.lua
@@ -543,7 +543,7 @@ function naughty.notify(args)
actionmarginbox:set_widget(actiontextbox)
actiontextbox:set_valign("middle")
actiontextbox:set_font(font)
- actiontextbox:set_markup(string.format('%s', action))
+ actiontextbox:set_markup(string.format('☛ %s', action))
-- calculate the height and width
local w, h = actiontextbox:get_preferred_size(s)
local action_height = h + 2 * margin
diff --git a/lib/naughty/dbus.lua b/lib/naughty/dbus.lua
index 9f749f9df..fe0b694c4 100644
--- a/lib/naughty/dbus.lua
+++ b/lib/naughty/dbus.lua
@@ -137,24 +137,20 @@ capi.dbus.connect_signal("org.freedesktop.Notifications", function (data, appnam
if actions then
args.actions = {}
- local actionid
- -- create actions callbacks
- for i , v in ipairs(actions) do
- if i % 2 == 1 then
- actionid = v
- elseif actionid == "default" then
+ for i = 1,#actions,2 do
+ local action_id = actions[i]
+ local action_text = actions[i + 1]
+
+ if action_id == "default" then
args.run = function()
sendActionInvoked(notification.id, "default")
naughty.destroy(notification, naughty.notificationClosedReason.dismissedByUser)
end
- actionid = nil
- elseif actionid ~= nil then
- local action = actionid
- args.actions[actionid] = function()
- sendActionInvoked(notification.id, action)
+ elseif action_id ~= nil and action_text ~= nil then
+ args.actions[action_text] = function()
+ sendActionInvoked(notification.id, action_id)
naughty.destroy(notification, naughty.notificationClosedReason.dismissedByUser)
end
- actionid = nil
end
end
end