alias rm='rm -i'
alias mv='mv -i'
-alias chmod='chmod -v'
+# alias chmod='chmod -v'
+alias chmod='chmod -c'
alias cp='cp -i'
alias rd=rmdir
-alias md=mkdir
+alias md='mkdir -v'
alias ps='ps uxaf'
alias df='df -hT --sync'
alias grep='grep -E --mmap'
alias s='screen -d -R -U && clear'
alias mc='echo Try mv ' # I'm fed up with midnight commander
-alias kj="keyjnote -s -D 1000 -t Crossfade -T 100"
+# alias kj="keyjnote -s -D 1000 -t Crossfade -T 100"
+alias im="impressive -s -D 1000 -t Crossfade -T 100"
# alias fdupes='fdupes -r .'
eval $(dircolors "${HOME}/.dircolors")
alias ls='ls --color'
# alias ll='ls --color -lth'
+ alias lt='ls --color -gohtr --time-style="+%Y %b %d %H:%M"'
alias ll='ls --color -goh --time-style="+%Y %b %d %H:%M"'
alias l='ls --color -I "*~" -I "*.o"'
alias less='less -R'
else
# alias ll='ls -lth'
+ alias lt='ls -gohtr --time-style="+%Y %b %d %H:%M"'
alias ll='ls -goh --time-style="+%Y %b %d %H:%M"'
alias l='ls -I "*~" -I "*.o"'
fi
find $* -name "*${name}*";
}
+# Create a dir and cd there
+
+function mcd () {
+ mkdir -vp $1
+ cd $1
+}
+
+# Capture the screen in a dated png
+
+function cap () {
+ name="capture-$(date +%s).png"
+ [[ $1 ]] && sleep $1
+ xwd | convert - ${name}
+ \ls -l ${name}
+}
+
+# Create and CD in a /tmp/tmp.XXXXXX directory. With the '-'
+# arguments, do not create one and CD in the most recent instead
+
+function cdt () {
+ if [[ $1 ]]; then
+ if [[ $1 == "-" ]]; then
+ cd $(\ls -td /tmp/tmp.?????? | head -1)
+ else
+ echo "USAGE: cdt [-]" >&2
+ return 1
+ fi
+ else
+ cd $(mktemp -d /tmp/tmp.XXXXXX)
+ fi
+}
+
+alias t='cd /tmp'
+
+alias trash=trash.sh
+
+function mmsget () {
+ mplayer $1 -dumpstream -dumpfile $(basename $1)
+}
+
######################################################################
# http://www.reddit.com/r/linux/comments/akt3j/a_functional_programming_style_map_function_for/
function ifup () {
echo "${VT_BOLD}${VT_GREEN_FG}This is the bash function ifup from .bashrc${VT_RESET}"
- if [[ ! $* ]] && [[ -s ${IFUPRC} ]]; then
- # If we have no argument and there is a .ifuprc, use it
- ARGS=$(cat ${IFUPRC})
+ if [[ "$1" == "-s" ]]; then
+ chosen_ifup=$(mktemp /tmp/chosen_ifup.XXXXXX)
+ selector -o ${chosen_ifup} <(cat ${IFUPRC} | sort | uniq)
+ ARGS=$(cat ${chosen_ifup})
+ rm -f ${chosen_ifup}
+ echo ${ARGS} >> ${IFUPRC}
else
- # Otherwise uses the given arguments, and store them
- ARGS=$*
- echo ${ARGS} > ${IFUPRC}
+ if [[ ! $* ]] && [[ -s ${IFUPRC} ]]; then
+ # If we have no argument and there is a .ifuprc, use it
+ ARGS=$(tail -1 ${IFUPRC})
+ else
+ # Otherwise uses the given arguments, and store them
+ ARGS=$*
+ echo ${ARGS} >> ${IFUPRC}
+ fi
fi
echo "${VT_GREEN_FG}Running [sudo ifup ${ARGS}]${VT_RESET}"
sudo ifup ${ARGS}
if [[ ! $* ]] && [[ -s ${IFUPRC} ]]; then
# If there are no arguments and there is a .ifuprc, get the
# interface from it
- ARGS=$(cat ${IFUPRC} | sed -e "s/=.*$//")
+ ARGS=$(tail -1 ${IFUPRC} | sed -e "s/=.*$//")
else
# Otherwise, use the standard ifdown
ARGS=$*
function ripdvd () {
mkdir -p ${HOME}/dvds
cd ${HOME}/dvds
- dvdbackup -v -M
- eject
+ time dvdbackup -v -M && eject
}
######################################################################
NB=0
for i in $(find -maxdepth 1 -type f); do
- if [[ -e ${DEST_DIR}/$i ]]; then
- echo "The file ${DEST_DIR}/$i already exists."
- else
-
- orientation=$(exif $i \
- | grep ^Orientation \
- | head -1 \
- | sed -e "s/^[^|]*|//" \
- | sed -e "s/ *$//")
-
- case ${orientation} in
- "top - left")
- rotation_cmd=""
- ;;
-
- "right - top")
- rotation_cmd="-rotate 90"
- ;;
-
- "left - bottom")
- rotation_cmd="-rotate 270"
- ;;
+ if [[ $(file $i | grep image) ]]; then
+ if [[ -e ${DEST_DIR}/$i ]]; then
+ echo "The file ${DEST_DIR}/$i already exists."
+ else
- *)
- rotation_cmd=""
- echo "Unknown orientation \"${orientation}\" !"
- ;;
- esac
+ orientation=$(exif $i \
+ | grep ^Orientation \
+ | head -1 \
+ | sed -e "s/^[^|]*|//" \
+ | sed -e "s/ *$//")
+
+ case ${orientation} in
+ ""|"top - left")
+ rotation_cmd=""
+ ;;
+
+ "right - top")
+ rotation_cmd="-rotate 90"
+ ;;
+
+ "left - bottom")
+ rotation_cmd="-rotate 270"
+ ;;
+
+ *)
+ rotation_cmd=""
+ echo "Unknown orientation \"${orientation}\" !"
+ ;;
+ esac
+
+ if [[ $(file ${i/%.*/}.* | grep -E movie) ]] ; then
+ CAPTION_PARAMS="-font FreeSans-Bold -pointsize 32 -fill green -annotate +10+32 Video"
+ else
+ CAPTION_PARAMS=""
+ fi
+
+ convert ${rotation_cmd} $i ${PARAMS} ${CAPTION_PARAMS} ${DEST_DIR}/$i
+ fi
- convert ${rotation_cmd} $i ${PARAMS} ${DEST_DIR}/$i
+ \ls -lt ${DEST_DIR}/$i
fi
- \ls -lt ${DEST_DIR}/$i
+
NB=$((NB+1))
+
echo "$((NB*100/NB_TOTAL))% (${NB}/${NB_TOTAL})"
done
}
#
# git clone http://fleuret.org/git/dus/
-alias dus='dus -f'
+alias dus='dus -f -i'
######################################################################
# The finddup command is available on my web site
#
# git clone http://fleuret.org/git/finddup/
-alias finddup='finddup -p0d'
+# alias finddup='finddup -p0d'
+alias finddup='finddup -p'
######################################################################
# This script grep messages in my mail archives
# git clone http://fleuret.org/git/selector/
function selector-history () {
- ARGS="-c 7 4 0 3 -q -b -i -d -v -w -l 15000"
- FILES=""
-
- # I may have a "local bash history" specific to the current
- # directory, and I also maintain a global "kept command" file. I
- # take all this into account here.
+ selector --bash -c 7,4,0,3 -q <(history)
+}
- if [[ ${LOCAL_HISTORY_FILE} ]] && [[ -f ${LOCAL_HISTORY_FILE} ]]; then
- FILES="${FILES} ${LOCAL_HISTORY_FILE}"
- fi
+# Find pathes in the history and make a list of the existing ones
- if [[ ${KEPT_COMMANDS} ]] && [[ -f ${KEPT_COMMANDS} ]]; then
- selector ${ARGS} ${FILES} <(sed < ${KEPT_COMMANDS} -e 's/^.*: /0 /') <(history)
+function selector-cd () {
+ CD_HISTORY=${HOME}/.selector-cd-history
+ if [[ $1 == "+" ]]; then
+ PATH_TEMP=$(mktemp /tmp/selector-cd-path.XXXXXX)
+ selector -d -i -o ${PATH_TEMP} ${CD_HISTORY}
+ cd $(cat ${PATH_TEMP} | sed -e "s|~|${HOME}|")
+ \rm ${PATH_TEMP}
else
- selector ${ARGS} ${FILES} <(history)
+ cd $1 && echo $PWD | sed -e "s|${HOME}|~|" >> ${CD_HISTORY}
fi
-
}
+alias cd=selector-cd
+
+# M-c provides a dynamic list of directories to cd into
+
+bind '"\C-[c":"\C-a\C-kselector-cd +\C-m"'
+
+# function selector-cd () {
+# LIST_TEMP=$(mktemp /tmp/selector-cd-list.XXXXXX)
+# PATH_TEMP=$(mktemp /tmp/selector-cd-path.XXXXXX)
+# for d in $(history | \
+# grep ^" *[0-9]* *cd" | \
+# awk '{ print $3 }' | \
+# grep -v "\.\." | \
+# uniq); do
+# if [[ -d $d ]]; then
+# echo "$d"
+# fi
+# done >> ${LIST_TEMP}
+# selector -d -i -o ${PATH_TEMP} ${LIST_TEMP}
+# cd $(cat ${PATH_TEMP})
+# \rm ${LIST_TEMP}
+# \rm ${PATH_TEMP}
+# }
+
# M-r puts the selected history line in place of the current one
bind '"\C-[r":"\C-a\C-kselector-history\C-m"'
bind '"\C-[t":"\C-a\C-kselector-history\C-m\C-a\C-y\C-e"'
-# Finds path in the history and make a list of the existing ones
-
-function selector-cd () {
- LIST_TEMP=$(mktemp /tmp/cdlist.XXXXXX)
- for d in $(history | \
- grep ^" *[0-9]* *cd" | \
- awk '{ print $3 }' | \
- grep -v "\.\." | \
- uniq); do
- if [[ -d $d ]]; then
- echo "$d!cd $d"
- fi
- done >> ${LIST_TEMP}
- selector -v -x '!' -d -i ${LIST_TEMP}
- \rm ${LIST_TEMP}
-}
-
-alias c=selector-cd
-
-bind '"\C-[c":"\C-a\C-kselector-cd\C-m"'
-
# And we avoid to put in the history the use of the selector, which we
# do too often
HISTIGNORE="${HISTIGNORE}:selector-history"
+function selector-printer () {
+ TMP=$(mktemp /tmp/selector-printer.XXXXXX)
+ selector -o ${TMP} <(lpstat -a | awk '{print $1}')
+ export PRINTER=$(cat ${TMP})
+ echo "PRINTER=${PRINTER}"
+ rm -f ${TMP}
+ lpq
+}
+
######################################################################
function prompt_command () {
history -a
# and the local histories system defined above
keep_local_history
-# and the no-history
+# and the history cue
histfile_cue
}