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