distro specific fixes
[distro-setup] / brc
diff --git a/brc b/brc
index f9c039d58aac21cb069c27721c9ac1032f2ec1c5..222e0f85c5c908c5507ad3dfdc1c0791275e9252 100644 (file)
--- a/brc
+++ b/brc
@@ -244,10 +244,6 @@ if [[ $- == *i* ]]; then
       use_color=true
     fi
 
-    if [[ $KONSOLE_PROFILE_NAME ]]; then
-      TERM=xterm-256color
-    fi
-
     # todo: not sure this works in sakura
     #stty werase undef
     #bind "\C-w": kill-region
@@ -319,9 +315,6 @@ export SL_INFO_DIR=/p/sshinfo
 if [[ -s $bashrc_dir/path-add-function ]]; then
   source $bashrc_dir/path-add-function
   if [[ $SSH_CLIENT ]]; then
-    if grep -qF /home/iank/.iank/e/e /etc/exports &>/dev/null; then
-      export EMACSDIR=/home/iank/.iank/e/e
-    fi
     path-add $bashrc_dir
   fi
 fi
@@ -361,6 +354,7 @@ mysrc() {
 
 mysrc /a/bin/small-misc-bash/ll-function
 mysrc /a/bin/distro-functions/src/package-manager-abstractions
+mysrc /a/bin/fai/fai/config/distro-install-common/bash-misc-funcs
 
 # things to remember:
 # ALT-C - cd into the selected directory
@@ -1041,6 +1035,7 @@ cf() {
   done
 }
 caf() {
+
   local file
   find -L "$@" -type f -not \( -name .svn -prune -o -name .git -prune \
        -o -name .hg -prune -o -name .editor-backups -prune \
@@ -1048,6 +1043,11 @@ caf() {
     | awk -F '\0' '{print $3}' 2>/dev/null | while read -r file; do
     hr "$file"
     v "$file"
+    # if the file is nonempty and the last char is nonempty, it is not
+    # newline terminated.
+    if [[ -s "$file" && "$(tail -c 1 "$file")" ]]; then
+      echo
+    fi
   done
 }
 ccomp cat cf caf
@@ -1322,9 +1322,9 @@ etailm() {
   tail -F /var/log/exim4/mainlog -n 200 "$@"
 }
 etail2() {
-  tail -F /var/log/exim4/mymain -n 200 "$@"
+  tail -F /var/log/exim4/nondmain -n 200 "$@"
 }
-# shortcut
+# shortcut for tail -F
 ta() {
   tail -F "$@"
 }
@@ -1620,42 +1620,6 @@ and works in older versions of git which did not have that."
   echo "${p%%/.git}"
 }
 
-g() {
-
-  local args gdb=false
-
-  if [[ $EMACSDIR ]]; then
-    path-add "$EMACSDIR/lib-src" "$EMACSDIR/src"
-  fi
-
-  if [[ $DISPLAY ]]; then
-    args=-n
-  fi
-
-  if (( $# == 0 )); then
-    args+=" -c"
-  fi
-  # duplicate -c, but oh well
-  if ! pgrep -u $EUID emacsclient; then
-    if (( $# == 0 )) && type -p gdb &>/dev/null; then
-      gdb=true
-    else
-      args+=" -c"
-    fi
-  fi
-  if $gdb; then
-    # due to a bug, we cant debug from the start unless we get a new gdb
-    # https://sourceware.org/bugzilla/show_bug.cgi?id=24454
-    # m gdb -ex="set follow-fork-mode child" -ex=r -ex=quit --args emacs --daemon
-    m emacsclient -a "" $args "$@"
-    sleep 1
-    cd "/a/opt/emacs-$(distro-name)$(distro-num)"
-    s gdb -p "$(pgrep -f 'emacs --daemon')" -ex c
-    cd -
-  else
-    m emacsclient -a "" $args "$@"
-  fi
-}
 
 # g pipe. like: cmd | emacs. save cmd output to tmp file, then edit.
 gp() {
@@ -1701,9 +1665,9 @@ grr() { # grep recursive
   # Don't return 1 on nonmatch because this is meant to be
   # interactive, not in a conditional.
   if [[ ${#@} == 1 ]]; then
-    grep --exclude-dir='*.emacs.d' --exclude-dir='*.git' -riIP --color=auto "$@" . || [[ $? == 1 ]]
+    grep --exclude-dir='*.emacs.d' --exclude-dir='*.git' -rniIP --color=auto "$@" . || [[ $? == 1 ]]
   else
-    grep --exclude-dir='*.emacs.d' --exclude-dir='*.git' -riIP --color=auto "$@" || [[ $? == 1 ]]
+    grep --exclude-dir='*.emacs.d' --exclude-dir='*.git' -rniIP --color=auto "$@" || [[ $? == 1 ]]
   fi
 }
 ccomp grep gr grr
@@ -2943,9 +2907,19 @@ psoff() {
   # however, DEBUG is not inherited, so we need to run it outside a function.
   # And we want to run set -x afterwards to avoid spam, so we cram everything
   # in here, and then it will run after this function is done.
-  # # set as array to satisfy shellcheck, but it is equivalent to setting it as non-array
-  PROMPT_COMMAND=('trap DEBUG; unset PROMPT_COMMAND; PS1="\w \$ "')
+  # shellcheck disable=SC2178 # intentional
+  PROMPT_COMMAND='trap DEBUG; unset PROMPT_COMMAND; PS1=" \w \$ "'
 }
+
+pskde() {
+  # shellcheck disable=SC2178 # intentional
+  PROMPT_COMMAND='trap DEBUG; unset PROMPT_COMMAND'
+  PS1='\[\e]133;L\a\]\[\e]133;D;$?\]\[\e]133;A\a\]\w \$ \[\e]133;B\a\]' ;
+  PS2='\[\e]133;A\a\]'$PS2'\[\e]133;B\a\]' ;
+  PS0='\[\e]133;C\a\]'
+
+}
+
 pson() {
   PROMPT_COMMAND=(prompt-command)
   if [[ $TERM == *(screen*|xterm*|rxvt*) ]]; then
@@ -2991,33 +2965,6 @@ nonet() {
 m() { printf "%s\n" "$*";  "$@"; }
 m2() { printf "%s\n" "$*" >&2;  "$@"; }
 
-# update file. note: duplicated in mail-setup.
-# updates $ur u result to true or false
-# updates $reload to true if file updated is in /etc/systemd/system
-u() {
-  local tmp tmpdir dest="$1"
-  local base="${dest##*/}"
-  local dir="${dest%/*}"
-  if [[ $dir != "$base" ]]; then
-    # dest has a directory component
-    mkdir -p "$dir"
-  fi
-  # shellcheck disable=SC2034 # see comment at top of function
-  ur=false # u result
-  tmpdir="$(mktemp -d)"
-  cat >$tmpdir/"$base"
-  tmp=$(rsync -ic $tmpdir/"$base" "$dest")
-  if [[ $tmp ]]; then
-    printf "%s\n" "$tmp"
-    # shellcheck disable=SC2034 # see comment at top of function
-    ur=true
-    if [[ $dest == /etc/systemd/system/* ]]; then
-      # shellcheck disable=SC2034 # see comment at top of function
-      reload=true
-    fi
-  fi
-  rm -rf $tmpdir
-}
 
 
 uptime() {
@@ -3334,6 +3281,7 @@ if [[ $- == *i* ]]; then
   prompt-command() {
     local return=$? # this MUST COME FIRST
 
+
     # all usable colors:
     # black
     # green         nonzero exit (pri 1)
@@ -3414,6 +3362,8 @@ if [[ $- == *i* ]]; then
     fi
     PS1="${PS1%"${PS1#*[wW]}"} $jobs_char$psudo\[$ps_color\]$ps_char\[$term_nocolor\] "
 
+
+
     # copy of what is automatically added by guix.
     # adds [env] to PS1 if GUIX_ENVIRONMENT is set and PS1 contains '$';
     if [ -n "$GUIX_ENVIRONMENT" ]; then
@@ -3426,6 +3376,16 @@ if [[ $- == *i* ]]; then
     # set titlebar. instead, using more advanced
     # titelbar below
     #echo -ne "$_title_escape $HOSTNAME ${PWD/#$HOME/~}  \007"
+
+    # version 211203 does not have this feature.
+    if [[ $KONSOLE_VERSION && $KONSOLE_VERSION == [3456789]* || $KONSOLE_VERSION == 2[2456789]* ]]; then
+      # from konsole, output via ctrl-alt-]
+      if [[ ! $PS1 =~ 133 ]] ; then
+        PS1='\[\e]133;L\a\]\[\e]133;D;$?\]\[\e]133;A\a\]'$PS1'\[\e]133;B\a\]' ;
+        PS2='\[\e]133;A\a\]'$PS2'\[\e]133;B\a\]' ;
+        PS0='\[\e]133;C\a\]' ; fi
+    fi
+
   }
   PROMPT_COMMAND=(prompt-command)