Unset PHO_NOTE_x variables when possible.
[scripts.git] / bashrc
diff --git a/bashrc b/bashrc
index 3b4910c..f3d033a 100644 (file)
--- a/bashrc
+++ b/bashrc
@@ -50,6 +50,10 @@ shopt -s histappend
 
 [[ ${TERM} == "dumb" ]] || [ ! -t 0 ] && return
 
+# Remove the annoying beeps in console
+
+setterm -blength 0
+
 ######################################################################
 ## The interactive part
 
@@ -90,7 +94,7 @@ export LESS_TERMCAP_me=${VT_RESET}
 
 # This prevents ^S from freezing the shell
 
-stty -ixon
+stty -ixon
 
 ulimit -c unlimited
 
@@ -105,7 +109,7 @@ alias rd=rmdir
 alias md='mkdir -v'
 alias ps='ps uxaf'
 alias df='df -hT --sync'
-alias grep='grep -E --mmap --color=auto'
+alias grep='grep -i -E --mmap --color=auto'
 alias find='ionice -c3 find'
 alias pd=pushd
 alias val='valgrind --leak-check=full --show-reachable=yes --db-attach=yes '
@@ -166,8 +170,8 @@ function ua () {
 
         case "$1" in
 
-            *.tgz|*.tar.gz)
-                tar zxvf "$1"
+            *.tgz|*.tar.gz|*.tbz|*.tar.bz2)
+                tar xvf "$1"
                 ;;
 
             *.rar)
@@ -288,15 +292,20 @@ function map () {
 ## variables
 
 function pho () {
-    PHO_BIN=/usr/bin/pho
     TEMP=$(mktemp /tmp/pho.XXXXXXX)
-    ${PHO_BIN} "$@" | tee ${TEMP}
+    $(which pho) "$@" | tee ${TEMP}
     PHO_NOTE_1=$(grep ^"Note 1: " ${TEMP} | sed -e "s/^[^:]*: //")
     PHO_NOTE_2=$(grep ^"Note 2: " ${TEMP} | sed -e "s/^[^:]*: //")
     PHO_NOTE_3=$(grep ^"Note 3: " ${TEMP} | sed -e "s/^[^:]*: //")
     PHO_NOTE_R90=$(grep ^"Rotate 90 \(CW\): " ${TEMP} | sed -e "s/^[^:]*: //")
     PHO_NOTE_R180=$(grep ^"Rotate 180: " ${TEMP} | sed -e "s/^[^:]*: //")
     PHO_NOTE_R270=$(grep ^"Rotate -90 \(CCW\): " ${TEMP} | sed -e "s/^[^:]*: //")
+    [[ "${PHO_NOTE_1}" ]] || unset PHO_NOTE_1
+    [[ "${PHO_NOTE_2}" ]] || unset PHO_NOTE_2
+    [[ "${PHO_NOTE_3}" ]] || unset PHO_NOTE_3
+    [[ "${PHO_NOTE_R90}" ]] || unset PHO_NOTE_R90
+    [[ "${PHO_NOTE_R180}" ]] || unset PHO_NOTE_R180
+    [[ "${PHO_NOTE_R270}" ]] || unset PHO_NOTE_R270
     \rm ${TEMP}
 }
 
@@ -335,21 +344,37 @@ function dt () {
 [[ ${NETUP_HISTORY} ]] || NETUP_HISTORY="${HOME}/.netup_history"
 
 function netup () {
+    if [[ $(\ifconfig -s | grep -v ^"(Iface|lo) ") ]]; then
+        echo "There is already interface(s) up." >&2
+        return 1
+    fi
+
+    if [[ $(\ps -C dhclient | tail -n +2) ]]; then
+        echo "There is already a dhcp client running." >&2
+        return 1
+    fi
+
+    if [[ $(\ps -C wpa_supplicant | tail -n +2) ]]; then
+        echo "There is already a wpa_supplicant running." >&2
+        return 1
+    fi
+
     if [[ ! "$@" ]] && [[ -s ${NETUP_HISTORY} ]]; then
-        # If we have no argument and there is a .netup_history, use it
-        ARGS=$(cat ${NETUP_HISTORY})
+        echo "netup <interface>" >&2
+        return 1
+        # # If we have no argument and there is a .netup_history, use it
+        # ARGS=$(cat ${NETUP_HISTORY})
     else
         # Otherwise uses the given arguments, and store them
         ARGS="$@"
         echo ${ARGS} > ${NETUP_HISTORY}
     fi
 
-    if [[ $(ps auxwww | grep dhclient | grep -v grep) ]]; then
-        echo "There is already a dhcp client running." >&2
-        return 1
+    if [[ -n "${PRIVATE_INTERFACE_DEFINITION}" ]]; then
+        ARGS="-i ${PRIVATE_INTERFACE_DEFINITION} ${ARGS}"
     fi
 
-    echo "${VT_GREEN_FG}Executing [sudo ifup ${ARGS}]${VT_RESET}"
+    echo "Executing ${VT_GREEN_FG}[sudo ifup ${ARGS}]${VT_RESET}"
     sudo ifup ${ARGS}
 
     # Ugly hack to remove the dsl modem dns server when we add
@@ -358,7 +383,7 @@ function netup () {
     REMOVE_LOCAL_DNS=/usr/local/bin/remove-local-dns.sh
 
     if [[ -x ${REMOVE_LOCAL_DNS} ]]; then
-        echo "${VT_GREEN_FG}Executing [sudo ${REMOVE_LOCAL_DNS} 192.168]${VT_RESET}"
+        echo "Executing ${VT_GREEN_FG}[sudo ${REMOVE_LOCAL_DNS} 192.168]${VT_RESET}"
         sudo ${REMOVE_LOCAL_DNS} 192.168
     fi
 }
@@ -372,7 +397,12 @@ function netdown () {
         # Otherwise, use the standard ifdown
         ARGS="$@"
     fi
-    echo "${VT_GREEN_FG}Executing sudo [ifdown ${ARGS}]${VT_RESET}"
+
+    if [[ -n "${PRIVATE_INTERFACE_DEFINITION}" ]]; then
+        ARGS="-i ${PRIVATE_INTERFACE_DEFINITION} ${ARGS}"
+    fi
+
+    echo "Executing sudo ${VT_GREEN_FG}[ifdown ${ARGS}]${VT_RESET}"
     sudo ifdown ${ARGS}
 }
 
@@ -828,54 +858,11 @@ alias dus='dus -f -i'
 alias finddup='finddup -p'
 
 ######################################################################
-# Selector based history
-#
 # The selector command is available on my web site
 #
 # git clone http://fleuret.org/git/selector/
 
-function selector-history () {
-    selector --bash -u -c 7,4,0,3 -q <(history)
-}
-
-# M-r puts the selected history line in place of the current one
-
-bind '"\C-[r":"\C-a\C-kselector-history\C-m"'
-
-# M-t appends the selected history line and the end of the current one
-
-bind '"\C-[t":"\C-a\C-kselector-history\C-m\C-a\C-y\C-e"'
-
-######################################################################
-# Maintain a list of visited directories and provide a selector-based
-# command to go back to any of them.
-
-export SELECTOR_CD_HISTORY
-
-[[ "${SELECTOR_CD_HISTORY}" ]] || \
-    SELECTOR_CD_HISTORY=${HOME}/.selector-cd-history
-
-function selector-cd-search () {
-    PATH_TEMP=$(mktemp /tmp/selector-cd-path.XXXXXX)
-    selector -t "cd" -l 10000 -d -i -c 7,4,0,5 -o ${PATH_TEMP} -q ${SELECTOR_CD_HISTORY}
-    cd "$(cat ${PATH_TEMP} | sed -e 's!~!'${HOME}'!')"
-    \rm ${PATH_TEMP}
-}
-
-function selector-cd () {
-    if [[ -z "$1" ]]; then
-        cd
-    else
-        cd "$1"
-    fi
-    echo $PWD | sed -e "s!${HOME}!~!" >> ${SELECTOR_CD_HISTORY}
-}
-
-alias cd=selector-cd
-
-# M-c provides a dynamic list of directories to cd into
-
-bind '"\C-[c":"\C-a\C-kselector-cd-search\C-m"'
+source bash-selector.sh --hist --cd
 
 ######################################################################
 # And we avoid to put in the history the use of the selector, which we