fixes and improvemens
[distro-setup] / brc
diff --git a/brc b/brc
index 82b635cfd67462fe137783c3c40ea0892379b01f..7d58392d65fe59e5870d862232690bb74a527291 100644 (file)
--- a/brc
+++ b/brc
@@ -1011,6 +1011,9 @@ etail2() {
 ccomp tail etail etail2
 
 
+showkeys() {
+  ssh "$@" cat .ssh/authorized_keys{,2}
+  }
 
 
 # print exim old pids
@@ -1115,6 +1118,20 @@ faf() { # find all files. use -L to follow symlinks
        -o -name .undo-tree-history -prune \) -type f 2>/dev/null
 }
 
+# usage ffconcat FILES_TO_CONCAT OUTPUT_FILE
+ffconcat() {
+  local tmpf
+  tmpf=$(mktemp)
+  printf "file '%s'\n" "$1" >$tmpf
+  while (( $# > 1 )); do
+    shift
+    printf "file '%s'\n" "$1" >>$tmpf
+  done
+  # https://trac.ffmpeg.org/wiki/Concatenate
+  ffmpeg -f concat -safe 0 -i $tmpf -c copy "$1"
+  rm $tmpf
+}
+
 # full path without resolving symlinks
 fp() {
   local dir base
@@ -2581,18 +2598,22 @@ if [[ $- == *i* ]]; then
     _title_escape="\033]0;"
   fi
 
+  # make the titlebar be the last command and the current directory.
   settitle () {
-    # this makes it so we show the current command if
-    # one is running, otherwise, show nothing
 
-    if [[ $1 == prompt-command ]]; then
+
+    # These are some checks to help ensure we dont set the title at
+    # times that the debug trap is running other than the case we
+    # want. Some of them might not be needed.
+    if (( ${#FUNCNAME[@]} != 1 || ${#BASH_ARGC[@]} != 2 || $BASH_SUBSHELL != 0 )); then
       return 0
     fi
-    if (( ${#BASH_ARGC[@]} == 1 && BASH_SUBSHELL == 0 )); then
-      echo -ne "$_title_escape ${PWD/#$HOME/~} "
-      printf "%s" "$*"
-      echo -ne "\007"
+    if [[ $1 == prompt-command ]]; then
+      return 0
     fi
+    echo -ne "$_title_escape ${PWD/#$HOME/~} "
+    printf "%s" "$*"
+    echo -ne "\007"
   }
 
   # note, this wont work: