naughty: display the client-supplied localized action description in UI
According to the Desktop Notification specification document [1] the clients supply actions available along with a notification in a form of a list of pairs where first element is an identifier of an action and the second is a localized message that will be displayed to the user. Up to now the naughty code directly used the action identifier text as a part of the notification layout exposed to the user. This commit makes use of a localized action description for that purpose. 1) https://developer.gnome.org/notification-spec/
This commit is contained in:
parent
c1d9e58f94
commit
b1dbbb0041
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue