If this is still bothering you, I've found a workaround for using jupiter. The trick is to add the transient hint to the notifications that jupter sends.
For me (installed jupiter via webupd8 ppa on 11.10), the appropriate file to modify is /usr/lib/jupiter/scripts/notify
For my setup, the change I had to make was to add --hint int:transient:1
to every call of notify-send
within the script. Thus, my jupiter notify script changed from:
function notify {
if [ ! "$NO_NOTIFY" = "1" ]; then
ICON=$2
MESSAGE=$1
if [ "$DISTRIB_RELEASE" = "9.10" ]; then
DISPLAY=:0.0 /usr/bin/notify-send -i $ICON -t 1500 "$MESSAGE" 2>/dev/null
else
USER=$(who | sed -n '/ (:0[\.0]*)$\| :0 /{s/ .*//p;q}')
USERCNT=$(who | wc -l)
if [ ! "$(whoami)" = "$USER" ]; then
if [ ! "$USERCNT" -lt 1 ]; then
su $USER -l -c "DISPLAY=:0.0 /usr/bin/notify-send -i $ICON -t 700 \"$MESSAGE\" 2>/dev/null"
fi
else
if [ ! "$USERCNT" -lt 1 ]; then
/usr/bin/notify-send -i $ICON -t 700 "$MESSAGE" 2>/dev/null
fi
fi
fi
fi
}
to:
function notify {
if [ ! "$NO_NOTIFY" = "1" ]; then
ICON=$2
MESSAGE=$1
if [ "$DISTRIB_RELEASE" = "9.10" ]; then
DISPLAY=:0.0 /usr/bin/notify-send --hint int:transient:1 -i $ICON -t 1500 "$MESSAGE" 2>/dev/null
else
USER=$(who | sed -n '/ (:0[\.0]*)$\| :0 /{s/ .*//p;q}')
USERCNT=$(who | wc -l)
if [ ! "$(whoami)" = "$USER" ]; then
if [ ! "$USERCNT" -lt 1 ]; then
su $USER -l -c "DISPLAY=:0.0 /usr/bin/notify-send --hint int:transient:1 -i $ICON -t 700 \"$MESSAGE\" 2>/dev/null"
fi
else
if [ ! "$USERCNT" -lt 1 ]; then
/usr/bin/notify-send --hint int:transient:1 -i $ICON -t 700 "$MESSAGE" 2>/dev/null
fi
fi
fi
fi
}
This isn't really a direct answer to your question, since this won't clear all notifications, but it will at least prevent the jupiter ones from stacking up.
Hope this helps!
hplip
have all their notifications grouped into one scrollable list in my GNOME Shell notification area. Maybe this is a bug?