Skip to content

Instantly share code, notes, and snippets.

@sleekweasel
Created August 11, 2016 14:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sleekweasel/39d955f369a556ef00c8f61244356904 to your computer and use it in GitHub Desktop.
Save sleekweasel/39d955f369a556ef00c8f61244356904 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Logs to stdout, maintaining an xmessage based status.
# Messages starting with space are appended.
# Magic { & } 2>/dev/null stuff is to suppress job control noise.
xlog() {
[ -n "$XM_PID" ] && { kill $XM_PID && wait $XM_PID ; } 2>/dev/null
XM_STATE="$(uptime)"
echo === ${XM_STATE} "$*"
case "$*" in (' '*) XM_MESSAGE+="
$*" ;; (*) XM_MESSAGE="$*" ;; esac
{ ( xmessage -buttons '' ${XM_STATE} "$XM_MESSAGE" )& } 2>/dev/null
XM_PID=$!
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment