laptop-mode daemon segfaults + kernel error spam when on batery
[distro-setup] / ffp
diff --git a/ffp b/ffp
index cf331e07810cfcf45970be7d808280a7527728ad..851506e8255b81ed98843f6b3865efb16a7fc2d3 100755 (executable)
--- a/ffp
+++ b/ffp
 # limitations under the License.
 
 
-volume=0
 
-# 3 mountpoints: fsf-sysops (default, public), fsf (all staff), fsf-tech (tech team)
-# # note: duplicated in ffp
-mount_suffix=-sysops
-while [[ $1 ]]; do
+usage() {
+  cat <<EOF
+Usage: ${0##*/} [-d] [sysops|tech|staff]
+3 mountpoints: fsf-sysops (default, public), fsf (all staff), fsf-tech (tech team)
+
+-d    debug. start unmuted.
+
+note: args duplicated in ffp
+
+
+
+-h|--help  Print help and exit.
+
+Note: Uses util-linux getopt option parsing: spaces between args and
+options, short options can be combined, options before args.
+EOF
+  exit $1
+}
+
+##### begin command line parsing ########
+
+# ensure we can handle args with spaces or empty.
+ret=0; getopt -T || ret=$?
+[[ $ret == 4 ]] || { echo "Install util-linux for enhanced getopt" >&2; exit 1; }
+
+volume=0
+temp=$(getopt -l help hdw "$@") || usage 1
+eval set -- "$temp"
+while true; do
   case $1 in
-    sysops|tech)
-      mount_suffix=-$1
-      ;;
-    staff)
-      mount_suffix=
-      ;;
-    -d)
-      volume=100
-      ;;
+    -d) volume=100 ;;
+    -h|--help) usage ;;
+    --) shift; break ;;
+    *) echo "$0: unexpected args: $*" >&2 ; usage 1 ;;
   esac
   shift
 done
 
+mount_suffix=-sysops
+case $1 in
+  sysops|tech)
+    mount_suffix=-$1
+    ;;
+  staff)
+    mount_suffix=
+    ;;
+esac
+
+##### end command line parsing ########
+
+
+
+host=live.iankelling.org:8000
+if ip n show 10.2.0.1 | grep . &>/dev/null && \
+    [[ $(dig +timeout=1 +short @10.2.0.1 -x 10.2.0.2 2>&1 ||:) == kd.b8.nz. ]]; then
+  host=127.0.0.1:8000
+fi
+
 opts=(
   -v error
   -hide_banner
@@ -50,7 +89,7 @@ opts=(
   -fast
   -fflags nobuffer
   -flags low_delay
-  -i http://localhost:8000/fsf$mount_suffix.webm
+  -i http://$host/fsf$mount_suffix.webm
   -autoexit
   )
 ffplay "${opts[@]}"