From 12b8b183fd2530b15c4a5620ac5bd26220d99479 Mon Sep 17 00:00:00 2001 From: Francois Fleuret Date: Thu, 9 Jan 2020 15:38:04 +0100 Subject: [PATCH] Update. --- arxiv-rename-pdf.sh | 11 ++++++-- bashrc | 61 ++++++++++++++++++++++++++++++++------------- luks_toolbox.sh | 53 ++++++++++++++++++--------------------- 3 files changed, 77 insertions(+), 48 deletions(-) diff --git a/arxiv-rename-pdf.sh b/arxiv-rename-pdf.sh index 7b062d6..57b80c5 100755 --- a/arxiv-rename-pdf.sh +++ b/arxiv-rename-pdf.sh @@ -21,7 +21,8 @@ set -e set -o pipefail -ARXIV_BIBFILE="${HOME}/tex/teaching/dlc/dlc.bib" +[[ "${ARXIV_BIBFILE}" ]] || (echo >&2 "Define \$ARXIV_BIBFILE"; exit 2) +[[ "${ARXIV_BIBDIR}" ]] || (echo >&2 "Define \$ARXIV_BIBDIR"; exit 2) tmp=$(mktemp /tmp/arxiv-bib.sh.XXXXXX) @@ -38,6 +39,12 @@ do id="$(basename ${filename} .pdf)" fi + while [[ -f "$1.part" ]] # dealing with firefox's download + do + echo "Waiting for $1.part to vanish" + sleep 1 + done + echo -n "Fetching info from arxiv.org ... " curl -s > "${tmp}" "https://arxiv.org/abs/${id}" @@ -107,7 +114,7 @@ EOF TITLE="$(echo "${AUTHORS} - ${TITLE} ${YEAR} ${id}.pdf" | sed -e 's/ /_/g')" - mv -v "${filename}" "${TITLE}" + mv -v "${filename}" "${ARXIV_BIBDIR}/${TITLE}" ###################################################################### diff --git a/bashrc b/bashrc index f23078a..d16c2ca 100644 --- a/bashrc +++ b/bashrc @@ -28,6 +28,9 @@ PRIVATE_BASHRC="${HOME}/private/bashrc.perso" [[ "${MANPATH}" ]] || MANPATH=$(manpath) +export EDITOR='emacs -nw' +export GIT_EDITOR=${EDITOR} + # If the private bashrc exists, execute it [[ -f "${PRIVATE_BASHRC}" ]] && source "${PRIVATE_BASHRC}" @@ -46,11 +49,17 @@ export HISTIGNORE="${HISTIGNORE}:&:[ ]*" 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/fleuret/conda/bin:$PATH" + [ ${TERM} == "dumb" ] || [[ ! -t 0 ]] && return # Remove the annoying beeps in console @@ -127,6 +136,16 @@ 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 obs () { + dir=${HOME}/misc/use-by-$(date --date='+3 months' +%Y-%b-%d) + mkdir -p "${dir}" + pushd "${dir}" +} + function nh () { export HISTFILE=/dev/null unalias cd @@ -170,9 +189,6 @@ else alias l='ls -p -I "*~" -I "*.o"' fi -export EDITOR=emacsclient -export GIT_EDITOR=${EDITOR} - ###################################################################### # Ignored extensions when completing @@ -319,7 +335,13 @@ function scan () { # 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 @@ -373,7 +395,7 @@ function cap () { then name=$2 else - name="capture-$(date +%s).png" + name="capture-$(date +%Y%m%d-%H%M%S).png" fi if [[ "$1" ]] @@ -421,16 +443,26 @@ alias t='cd /tmp' 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_ROOT}" ]] || TRASH_ROOT="${HOME}/.trash" - [[ ! -f ${LINK} ]] && ln -s ${TRASH} ${LINK} + if [[ "$1" == "--" ]] + then + shift + elif [[ "$1" == "-t" ]] + then + shift + TRASH_DIR="${TRASH_ROOT}" + 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 $@" } @@ -1104,8 +1136,3 @@ PROMPT_COMMAND="prompt_command" ###################################################################### source /usr/share/bash-completion/bash_completion - -###################################################################### - -# added by Miniconda3 installer -export PATH="/home/fleuret/conda/bin:$PATH" diff --git a/luks_toolbox.sh b/luks_toolbox.sh index d3d6faa..aed8dc0 100755 --- a/luks_toolbox.sh +++ b/luks_toolbox.sh @@ -27,23 +27,23 @@ $(basename $0) [--help | clean | sync | fsck [-f]