code: def _add_action(self, notification, action, label, callback, *args):
          
          on_action_click = run_bg(lambda *_: callback(*args))
          try:
              # this is the correct signature for Notify-0.7, the last argument
              # being 'user_data':
              notification.add_action(action, label, on_action_click, None)
          except TypeError:
              # this is the signature for some older version, I don't know what
              # the last argument is for.
              notification.add_action(action, label, on_action_click, None, None)
          # gi.Notify does not store hard references to the notification
          # objects. When a signal is received and the notification does not
          # exist anymore, no handler will be called. Therefore, we need to
          # prevent these notifications from being destroyed by storing
          # references:
          notification.connect('closed', self._notifications.remove)
          self._notifications.append(notification)
docs: Show an action button button in mount notifications.
  
          Note, this only works with some libnotify services.