1
2
3
4
5 sh_coloroff() { echo -en "$reset_color" }
6 sh_colormsg() { [ -n "$1" ] && echo -en "${fg_bold[white]}${@}${reset_color}" }
7
8 sh_error() { echo -e "${fg_bold[red]}[ e ]${reset_color} $@" }
9 sh_info() { echo -e "${fg_bold[yellow]}[ i ]${reset_color} $@" }
10 sh_success() { echo -e "${fg_bold[green]}[ k ]${reset_color} $@" }
11 sh_mesg() { echo -e "${fg_bold[cyan]}[ m ]${reset_color} $@" }
12
13
14 alias sh_indent='indent -nsaf -npcs -cli2 -i2 -lp -nprs -nsaw -nut -cbi2 -bli0 -bls -nbad -npsl'
15 alias sh_diff='diff -abBpur'
16
17 alias sh_svnstat="svn status | awk '/^[^?]/'"
18
19 sh_svnprev() { echo $(( `svnversion . | sed 's/[^0-9].*//'` - 1)) }
20
21 1
22 sh_fcore()
23 {
24 p="."
25 [ -n "$1" ] && p="$1"
26 find $p -name "core\.*[[:digit:]]*" -type f 2>& /dev/null
27 return 0
28 }
29
30
31
32
33
34
35
36
37
38 1
39 2
40 sh_myprofile()
41 {
42 f=$HOME/.myprofiles
43 [ -n "$1" ] || return 1
44 [ -n "$2" ] && f="$2"
45 sh_info "setting profiles to \"$1\" ... "
46
47 sed -n '/^#begin\['$1'\]/,/^#end\['$1'\]/p' "$f" |
48 while read l
49 do
50 eval $l
51 done
52 sh_success "done"
53 }
54
55 alias osd='osd_cat -c white -o 20 -l 30'
56
57
58 alias mplayer='mplayer -menu -aop list=volnorm'
59 alias mmplayer='mplayer -nosound'
60 alias lmplayer='mplayer -loop 0'
61 alias mplayerc='mplayer /mnt/cdrom/*'
62 alias mplayerd='mplayer /mnt/dvd/*'
63 alias dvdplayer='mplayer -dvd 1 -dvd-device /dev/cdroms/cdrom1'
64 alias gdvdplayer='gmplayer -dvd 1 -dvd-device /dev/cdroms/cdrom1'
65
66
67 alias show_latestwp='fbsetbg -f $HOME/.backgrounds/`ls -1t $HOME/.backgrounds/ | head -n 1`'
68 alias ws="xprop -root | awk '/_WIN_WORKSPACE\(/ {print \$3}' | osd_cat -c white -f -*-lucida-medium-r-*-*-20-*-*-*-*-*-*-* -o 20 -p top -A center"
69
70 dubigf() {
71 du -sh * | awk '/[[:space:]]*[[:digit:]]+,*[[:digit:]]*G/' | sort -nr
72 du -sh * | awk '/[[:space:]]*[[:digit:]]+,*[[:digit:]]*M/' | sort -nr
73 }
74
75 sh_create_mail_dir() { [ -n "$1" ] && mkdir --parent $1/cur $1/tmp $1/new }
76 sh_pingip()
77 {
78 ping -c 1 "$1" | \
79 sed 's/^PING.* (\(.*\.[[:digit:]]\+\)).*$/\1/;q'
80 }
81
82 if which nmap 2>&1 > /dev/null; then
83
84 sh_whoisonline()
85 {
86 if [ -n "$1" ]; then
87 net="$1"
88 else
89 net=$(grep `hostname` /etc/hosts | awk -F '.' '{ print $1"."$2"."$3".0/24"}')
90 fi
91 sh_info "testing $net for online boxes"
92 sudo nmap -sP $net | awk '/Host/ && /up/ { print $0; }'
93 sh_success "done"
94 }
95 fi
96
97
98 sh_ed2k() { wget -q -O - "$1" | grep "ed2k://" | sed -e 's/^.*=//g;s/..$//g' }
99
100 sh_fakepass()
101 {
102 local l=8
103 [ -n "$1" ] && l=$1
104 dd if=/dev/urandom count=1 2> /dev/null | uuencode -m - | head -n 2 | tail -n 1 | cut -c -$l
105 }
106 alias sh_fakename='nc koeln.ccc.de 23 | cut -d \ -f 4,5'
107
108 sh_noisetimer()
109 {
110 sounds=( $HOME/.sounds/lightning.ogg \
111 $HOME/.sounds/ring.ogg )
112
113 s=$sounds[$((1 + $(($RANDOM % 2)) ))]
114
115 case $# in
116
117 0 );;
118 1 )
119 ( echo "mplayer $s >& /dev/null \n" ) | at $1 >& /dev/null
120 sh_info "ok, noise in $1"
121 ;;
122 * )
123 t=$1;
124 shift 1
125 ( echo "mplayer $s >& /dev/null \nxmessage -display $DISPLAY -nearmouse -timeout 10 $*" ) | \
126 at $t >& /dev/null
127 sh_info "ok, noise in $t"
128 ;;
129
130
131 esac
132 }
133
134 tarcp() {
135
136 if (( $# >= 2 )); then
137
138 echo "copy ${@[1, -2]} => ${@[-1]}"
139
140
141 if which pv ; then
142 tar -c -f - ${@[1, -2]} | pv -t -b -r | tar -x -f - -C ${@[-1]}
143 else
144 tar -c -v -f - ${@[1, -2]} | tar -x -f - -C ${@[-1]}
145 fi
146 else
147 "error, not enough parameters."
148 return 1
149 fi
150 }
151
152
153 wn() {
154 dict -d wn $@
155 }