waldo323 / pibooth

pibooth
MIT License
1 stars 0 forks source link

notifications fail after a certain number have been shown #1

Open waldo323 opened 11 years ago

waldo323 commented 11 years ago

from google'ing around it looks like a known issue, i didn't see any solutions so far but if there is a way to close or clear the queue that might work?? not really sure

Traceback (most recent call last): File "/home/pi/projects/pibooth/master/notify_screen.py", line 3, in countdown_notify() File "/home/pi/projects/pibooth/master/pibooth_notifications.py", line 26, in countdown_notify notify2.Notification(str(x),cdtext).show() File "/usr/lib/python2.7/dist-packages/notify2.py", line 188, in show self.timeout, # expire_timeout File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in call **keywords) File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking message, timeout) dbus.exceptions.DBusException: org.freedesktop.Notifications.MaxNotificationsExceeded: Exceeded maximum number of notifications ^CTraceback (most recent call last): File "./buttonboothtest.py", line 52, in time.sleep(0.05) KeyboardInterrup

possible helpful links include but aren't limited to: https://notify2.readthedocs.org/en/latest/ <--docs for the notify2 library http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648378 http://dbus.freedesktop.org/doc/dbus-daemon.1.html http://forums.debian.net/viewtopic.php?f=6&t=67703

waf commented 11 years ago

From googling around, it looks like you can send a maximum of 20 notifications. A user has to acknowledge them before you can send more. Two thoughts on how to get past this

waldo323 commented 11 years ago

If those options don't work, could we automate an acknowledgement? By automating a mouse click on the notification or something lake that? On Aug 30, 2013 9:17 AM, "Will Fuqua" notifications@github.com wrote:

From googling around, it looks like you can send a maximum of 20 notifications. A user has to acknowledge them before you can send more. Two thoughts on how to get past this

  • setting a short timeout on the notification could expire it, maybe avoiding the need for user acknowledgement.
  • using set_hint to mark the notification as "transient"

— Reply to this email directly or view it on GitHubhttps://github.com/waldo323/pibooth/issues/1#issuecomment-23560124 .

waf commented 11 years ago

I suppose we could use something like PyUserInput, but at that point we're piling hacks on notify2/libnotify. Instead, we could display/control our notifications using pygame or something. A SimpleCV rewrite would also fix this.

waldo323 commented 11 years ago

Agreed, I hope one of your first suggestions work for the time being. Rewriting will happen afterwards, unless it is somehow which and easy to do. :) On Aug 30, 2013 9:32 AM, "Will Fuqua" notifications@github.com wrote:

I suppose we could use something like PyUserInput, but at that point we're piling hacks on notify2/libnotify. Instead, we could display/control our notifications using pygame or something. A SimpleCV rewrite would also fix this.

— Reply to this email directly or view it on GitHubhttps://github.com/waldo323/pibooth/issues/1#issuecomment-23561077 .

waf commented 11 years ago

What notification daemon are you using? It appears there's varying support for timeouts and closing across notification daemons. xfce4-notifyd seems to support it, while notify-osd and notification-daemon don't (not supporting it is a "feature"). I was able to spawn 40 notifications by manually closing them after a second using xfce4-notifyd:

n = notify2.Notification(str(x),cdtext)
n.show()
sleep(1)
n.close()
waldo323 commented 11 years ago

I'll check when I get home, whatever was preinstalled though On Aug 30, 2013 7:28 PM, "Will Fuqua" notifications@github.com wrote:

What notification daemon are you using? It appears there's varying support for timeouts and closing across notification daemons. xfce4-notifyd seems to support it, while notify-osd and notification-daemon don't (not supporting it is a "feature"). I was able to spawn 40 notifications by manually closing them after a second:

n = notify2.Notification(str(x),cdtext) n.show() sleep(1) n.close()

— Reply to this email directly or view it on GitHubhttps://github.com/waldo323/pibooth/issues/1#issuecomment-23594783 .

waldo323 commented 11 years ago

looks like: notify-osd

dpkg --list|grep notify ii libnotify-bin 0.7.5-1 armhf sends desktop notifications to a notification daemon (Utilities) ii libnotify4:armhf 0.7.5-1 armhf sends desktop notifications to a notification daemon ii notify-osd 0.9.34-2 armhf daemon that displays passive pop-up notifications ii python-notify2 0.3-2 all desktop notifications API for Python

James

On Fri, Aug 30, 2013 at 7:39 PM, James Hice jameshice@gmail.com wrote:

I'll check when I get home, whatever was preinstalled though On Aug 30, 2013 7:28 PM, "Will Fuqua" notifications@github.com wrote:

What notification daemon are you using? It appears there's varying support for timeouts and closing across notification daemons. xfce4-notifyd seems to support it, while notify-osd and notification-daemon don't (not supporting it is a "feature"). I was able to spawn 40 notifications by manually closing them after a second:

n = notify2.Notification(str(x),cdtext) n.show() sleep(1) n.close()

— Reply to this email directly or view it on GitHubhttps://github.com/waldo323/pibooth/issues/1#issuecomment-23594783 .

waf commented 11 years ago

Try uninstalling that and installing xfce4-notifyd

waf commented 11 years ago

Just committed a simplecv-based photobooth; it draws its own notifications to get around this issue.

waldo323 commented 11 years ago

Sweet. Does this need the camera to show up as /dev/video0 ? On Aug 31, 2013 9:47 PM, "Will Fuqua" notifications@github.com wrote:

Just committed a simplecv-based photoboothhttps://github.com/waldo323/pibooth/blob/659ee145f95bd0a84e84c1bc787d70c78e0131ce/master/simplecv-pibooth.py; it draws its own notifications to get around this issue.

— Reply to this email directly or view it on GitHubhttps://github.com/waldo323/pibooth/issues/1#issuecomment-23617440 .

waf commented 11 years ago

Yes, I think so. I don't have a raspberry pi, so I had to test it with my webcam, which is a /dev/video device. On Aug 31, 2013 11:33 PM, "waldo323" notifications@github.com wrote:

Sweet. Does this need the camera to show up as /dev/video0 ? On Aug 31, 2013 9:47 PM, "Will Fuqua" notifications@github.com wrote:

Just committed a simplecv-based photobooth< https://github.com/waldo323/pibooth/blob/659ee145f95bd0a84e84c1bc787d70c78e0131ce/master/simplecv-pibooth.py>;

it draws its own notifications to get around this issue.

— Reply to this email directly or view it on GitHub< https://github.com/waldo323/pibooth/issues/1#issuecomment-23617440> .

— Reply to this email directly or view it on GitHubhttps://github.com/waldo323/pibooth/issues/1#issuecomment-23618335 .

waldo323 commented 11 years ago

Ok I think I already did what is needed to get that to work and may need to run something either at run time or just before(or at boot ) to make that work. On Aug 31, 2013 11:36 PM, "Will Fuqua" notifications@github.com wrote:

Yes, I think so. I don't have a raspberry pi, so I had to test it with my webcam, which is a /dev/video device. On Aug 31, 2013 11:33 PM, "waldo323" notifications@github.com wrote:

Sweet. Does this need the camera to show up as /dev/video0 ? On Aug 31, 2013 9:47 PM, "Will Fuqua" notifications@github.com wrote:

Just committed a simplecv-based photobooth<

https://github.com/waldo323/pibooth/blob/659ee145f95bd0a84e84c1bc787d70c78e0131ce/master/simplecv-pibooth.py>;

it draws its own notifications to get around this issue.

— Reply to this email directly or view it on GitHub< https://github.com/waldo323/pibooth/issues/1#issuecomment-23617440> .

— Reply to this email directly or view it on GitHub< https://github.com/waldo323/pibooth/issues/1#issuecomment-23618335> .

— Reply to this email directly or view it on GitHubhttps://github.com/waldo323/pibooth/issues/1#issuecomment-23618355 .

waldo323 commented 11 years ago

The drivers needed are with uv4l-raspicam or something like that Got it to take pictures I think but vertical flip will be needed and some resolution changes...resolution issue might be causing more issues like a strange preview and a mini preview which had the notifications in it with a mini preview

I do like this way of notifications a lot better though On Aug 31, 2013 11:36 PM, "Will Fuqua" notifications@github.com wrote:

Yes, I think so. I don't have a raspberry pi, so I had to test it with my webcam, which is a /dev/video device. On Aug 31, 2013 11:33 PM, "waldo323" notifications@github.com wrote:

Sweet. Does this need the camera to show up as /dev/video0 ? On Aug 31, 2013 9:47 PM, "Will Fuqua" notifications@github.com wrote:

Just committed a simplecv-based photobooth<

https://github.com/waldo323/pibooth/blob/659ee145f95bd0a84e84c1bc787d70c78e0131ce/master/simplecv-pibooth.py>;

it draws its own notifications to get around this issue.

— Reply to this email directly or view it on GitHub< https://github.com/waldo323/pibooth/issues/1#issuecomment-23617440> .

— Reply to this email directly or view it on GitHub< https://github.com/waldo323/pibooth/issues/1#issuecomment-23618335> .

— Reply to this email directly or view it on GitHubhttps://github.com/waldo323/pibooth/issues/1#issuecomment-23618355 .

waldo323 commented 11 years ago

http://tothinkornottothink.com/post/59305587476/raspberry-pi-simplecv-opencv-raspicam-csi-camera