samschott / desktop-notifier

Python library for cross-platform desktop notifications
https://desktop-notifier.readthedocs.io
MIT License
81 stars 8 forks source link

MacOS: make notifications pile up until dismissed? #114

Closed dstromberg closed 3 months ago

dstromberg commented 7 months ago

Description

I want to see notifications add, and add, until dismissed - whether one at a time or en masse.

Instead, one notification dismisses another, so I only see one at a time. Dismissing notification n+1 does not expose notification n.

I'm testing with urgency=Urgency.Critical, but it doesn't appear to be enough. Does relevancy or something control this?

Here's the test script:

#!/usr/bin/python3

import asyncio
from desktop_notifier import DesktopNotifier, Urgency, Button, ReplyField

notifier = DesktopNotifier()

async def main():
  await notifier.send(
      title="Julius Caesar",
      message="Et tu, Brute?",
      urgency=Urgency.Critical,
      buttons=[
        Button(
          title="Mark as read",
          on_pressed=lambda: print("Marked as read")),
      ],
      reply_field=ReplyField(
        title="Reply",
        button_title="Send",
        on_replied=lambda text: print("Brutus replied:", text),
      ),
      on_clicked=lambda: print("Notification clicked"),
      on_dismissed=lambda: print("Notification dismissed"),
      sound=True,
  )

loop = asyncio.get_event_loop()
loop.create_task(main())
loop.run_forever()
samschott commented 3 months ago

I don't think this is possible on Apple platforms, they tend to guard against such user experiences.