I want to use command notify-send and display text from a file as a notification so that I can only edit that file to change command or forward contents from outputs of other programs to notify-send.

I tried :

  • notify-send -u critical -t 3000 < ~/ved

  • cat ved | notify-send -u critical -t 3000

It says : No summary specified.

What should I do about this summary?

3 Answers 3




echo 'information overlord' | while read OUTPUT; do notify-send "$OUTPUT"; done
  • One can also only forward the stderr to notify-osd. Here is an example: git ls-remote "https://bitbucket.org/$username/$reponame.git" 2>&1 1>/dev/null | while read OUTPUT; do notify-send "error" "$OUTPUT" -i gtk-error; done Jan 8, 2014 at 12:07
  • Thanks. I added this to my ~/.bash_aliases: function notify { while read input; do notify-send "message" "$input"; done; }.
    – TRiG
    Mar 30, 2015 at 22:27

Im not sure what you want to do or what kind of file you want to display but man notify-send says

notify-send [OPTIONS] <summary> [body]

Summary being a title, so for example, the basename of your file.

So what you can do is

notify-send -u critical -t 3000 "$(basename ~/ved)" "$(cat ~/ved)"

But be aware that notify-send won't print long text file, it's not its job.

Also, I don't know for you or everyone else, but the -t option never worked for me, time being always 10s. I've read it was a bug a long time ago and it's still not working in 12.04.


Try this:

notify-send -u critical -t 3000 "$(cat ~/ved)"
  • 2
    Without a proper summary, it will consider it as a title and will not break lines.
    – user55822
    Nov 12, 2012 at 19:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .