# -*-Shell-script-*-
+# PS4='+ $(date "+%s.%N")\011 '
+# set -x
+
#########################################################################
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the version 3 of the GNU General Public License #
[[ "${MANPATH}" ]] || MANPATH=$(manpath)
+export EDITOR='emacs -nw'
+export GIT_EDITOR=${EDITOR}
+
# If the private bashrc exists, execute it
[[ -f "${PRIVATE_BASHRC}" ]] && source "${PRIVATE_BASHRC}"
export HISTTIMEFORMAT=""
shopt -s histappend
+shopt -s autocd
# I realized that most of my settings are meaningful only in
# interactive mode. This should maybe be done more properly through
# using different .bash_profile and .bash_login
+######################################################################
+
+# added by Miniconda3 installer
+export PATH="${HOME}/conda/bin:$PATH"
+
[ ${TERM} == "dumb" ] || [[ ! -t 0 ]] && return
# Remove the annoying beeps in console
alias pd=pushd
alias val='valgrind --leak-check=full --show-reachable=yes --db-attach=yes '
-alias s='screen -d -R -U && clear'
+alias s='screen -d -R default -U && clear'
alias p='feh --force-aliasing -d --full-screen --auto-zoom'
alias gp=gnuplot
+function ext () {
+ find . -maxdepth 1 -type f | \grep \. | sed -e 's/^.*\.\([^/.]*\)$/\1/'
+}
+
+# function catscan () {
+ # convert signal-attachment-2020-06-01-192843.jpeg signal-attachment-2020-06-01-192829.jpeg -quality 25 -sigmoidal-contrast 10,45% -page a4 scan.pdf
+# }
+
+function trash-later () {
+ dir=${HOME}/misc/trash-later/remove-after-$(date --date='+3 months' +%Y-%b-%d)
+ mkdir -p "${dir}"
+ pushd "${dir}"
+}
+
function nh () {
export HISTFILE=/dev/null
unalias cd
alias l='ls -p -I "*~" -I "*.o"'
fi
-export EDITOR=emacsclient
-export GIT_EDITOR=${EDITOR}
-
######################################################################
# Ignored extensions when completing
then
if [[ "$1" == "-v" ]] || [[ "$1" == "--view" ]]
then
- xpdf "${FILEBASE}.pdf"
+ # xpdf "${FILEBASE}.pdf"
+ zathura "${FILEBASE}.pdf"
elif [[ "$1" == "-p" ]] || [[ "$1" == "--print" ]]
then
lpr "${FILEBASE}.pdf"
# A password generator
function genpw () {
- PW=$(tr -dc A-Za-z0-9 < /dev/urandom | head -c16)
+ if [[ "$1" == "-e" ]]
+ then
+ PW=$(tr -dc A-Z0-9 < /dev/urandom | head -c6)
+ shift
+ else
+ PW=$(tr -dc A-Za-z0-9 < /dev/urandom | head -c16)
+ fi
if [[ ! "$1" == "-s" ]]
then
echo "$(date) ${PW}" >> ${HOME}/private/genpw.log
then
name=$2
else
- name="capture-$(date +%s).png"
+ name="capture-$(date +%Y%m%d-%H%M%S).png"
fi
if [[ "$1" ]]
fi
echo "Please click on the window to capture."
- xwd | convert - ${name}
+ xwd | convert xwd:- ${name}
\ls -l ${name}
}
alias a='cd /tmp/at'
function trash () {
- TRASH=$(date +/tmp/trash-${USER}-%Y-%b-%d-%Hh)
- LINK=/tmp/trash
-
- mkdir -p ${TRASH}
- [[ -h ${LINK} ]] && \rm ${LINK}
+ [[ "${TRASH_LATER_ROOT}" ]] || TRASH_LATER_ROOT="${HOME}/.trash"
- [[ ! -f ${LINK} ]] && ln -s ${TRASH} ${LINK}
+ if [[ "$1" == "--" ]]
+ then
+ shift
+ elif [[ "$1" == "-l" ]]
+ then
+ shift
+ echo "Trashin in 3 months"
+ TRASH_DIR="${TRASH_LATER_ROOT}/remove-after-$(date --date='+3 months' +%Y-%b-%d)"
+ mkdir -p "${TRASH_DIR}"
+ else
+ TRASH_DIR=$(date +/tmp/trash-${USER}-%Y-%b-%d-%Hh)
+ LINK=/tmp/trash
+ mkdir -p ${TRASH_DIR}
+ [[ -h ${LINK} ]] && \rm ${LINK}
+ [[ ! -f ${LINK} ]] && ln -s ${TRASH_DIR} ${LINK}
+ fi
- mv "$@" ${TRASH}
+ mv "$@" "${TRASH_DIR}"
echo "Trashed $@"
}
}
######################################################################
-## ifup / ifdown with sudo and memorization of the network
-
-## When invoked without an argument netup uses the same argument as
-## the previous time
-
-## When invoked without an argument netdown removes the last interface
-## which was netuped
+## ifup / ifdown with sudo
[ ${NETUP_HISTORY} ] || NETUP_HISTORY="${HOME}/.netup_history"
return 0
fi
- if \ifconfig -s | grep -q -v ^'(Iface|lo) '
+ if \ifconfig -s | grep -q -v ^'(Iface|lo|docker[0-9]) '
then
echo "There is/are already interface(s) up." >&2
return 1
return 1
fi
- echo "Attemptin to rip from ${DVD_DEVICE}."
+ echo "Attempting to rip from ${DVD_DEVICE}."
mkdir -p ${HOME}/dvds
fi
}
+
+######################################################################
+# git prompt
+
+if which > /dev/null git
+then
+
+ parse_git_branch() {
+ git 2>/dev/null rev-parse --abbrev-ref HEAD | sed -e 's/^\(.*\)$/(\1) /'
+ }
+
+ export PS_GIT="${VT_GREEN_FG}\$(parse_git_branch)"
+fi
+
######################################################################
# The complex prompt policy
[[ "${IDENT}" ]] && IDENT="${IDENT}:"
+ # IDENT="${PS_GIT}${VT_BLACK_FG}${IDENT}"
+
if [[ ${USER} == "root" ]]
then
# If we are root, show that in red
fi
-PS1="${PSCUE}${PS1}"
+#PS1="${PSCUE}${PS1}"
######################################################################
# This implements a local history. If we are in a directory containing
# multiple shells are open
history -a
# load the saved history
- history -n
+ # history -n
# and the local histories system defined above
keep_local_history
# and the history cue
[[ ${TZ} ]] && echo "${VT_BLUE_FG}Time zone is ${TZ}.${VT_RESET}"
######################################################################
+
+source /usr/share/bash-completion/bash_completion