# can I redirect file as input to notify-send?

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.

-

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.

-

http://www.commandlinefu.com/commands/view/4460/pipe-output-to-notify-send

says

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 –  Khurshid Alam Jan 8 '14 at 12:07

Try this:

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

-
Without a proper summary, it will consider it as a title and will not break lines. –  user55822 Nov 12 '12 at 19:21