from Hacker News

Show OS X notifications when long running command finishes

by ejpastorino on 7/14/16, 2:59 PM with 5 comments

  • by nathan_long on 7/14/16, 3:35 PM

    A much lower-effort solution, if you can hear: "some_command; say 'done'". (Replace 'say' with 'espeak' on Linux.)

    I personally went kinda crazy in this direction, and made 'judge some_command', which, depending on exit status, runs either 'yay' or 'boom', themselves custom commands which play clapping or explosion sounds.

    So I can do 'judge run_tests' or 'run_tests; judge' and hear what happened. (The latter form is nice if I realize after the command started that I want notification - I just type it and hit enter while waiting for the first command to finish.)

    https://github.com/nathanl/.dotfiles/blob/64b0ae9e53c0bbf9c5...

  • by oregondan on 7/14/16, 3:38 PM

    There's also noti (https://github.com/variadico/noti), which I use. Just add noti to the beginning of a command you run (i.e. "noti eb deploy"), and you'll get a notification when it finishes.
  • by stormbrew on 7/14/16, 3:15 PM

    I have a bell character in my prompt and my terminals (on osx and Linux) configured to do visual signaling on bell instead of making noise. This works even with remote hosts and uniformly across platforms.
  • by chmaynard on 7/14/16, 3:13 PM

    Left as an exercise for the reader: learn how to do this in bash, decide what to name the script file, figure out what the PS1 line does, and so on.
  • by freeslugs on 7/14/16, 3:08 PM

    how would this work with terminal instead of iterm2?