zsh: clean functions
Victor Franzi
4 years ago
0 | swap () { | |
1 | local TMPFILE=tmp.$$ | |
2 | cp --reflink=auto -- "$1" "$TMPFILE" | |
3 | mv -- "$2" "$1" | |
4 | mv -- "$TMPFILE" "$2" | |
5 | } | |
6 | ||
7 | ||
8 | conf () { | |
9 | case $1 in | |
10 | vi|nvim) $EDITOR ~/.nvimrc ;; | |
11 | ncmpcpp) $EDITOR ~/.config/ncmpcpp/config ;; | |
12 | xrdb) $EDITOR ~/.Xresources ;; | |
13 | tmux) $EDITOR ~/.tmux.conf ;; | |
14 | zsh) $EDITOR ~/.zshrc ;; | |
15 | zsh-global) sudo -e /etc/zsh/zshrc ;; | |
16 | i3) $EDITOR ~/.config/i3/config ;; | |
17 | awesome) $EDITOR ~/.config/awesome/rc.lua ;; | |
18 | dwm) $EDITOR ~/src/c/dwm/config.h ;; | |
19 | dvtm) $EDITOR ~/src/c/dvtm/config.h ;; | |
20 | st) $EDITOR ~/src/c/st/config.h ;; | |
21 | polybar) $EDITOR ~/.config/polybar/config ;; | |
22 | *) echo "Mh, something goes wrong" ;; | |
23 | esac | |
24 | } | |
25 | ||
26 | ||
27 | src () { | |
28 | case $1 in | |
29 | zsh) source /etc/zsh/zshrc && sleep .5s && source $HOME/.zshrc ;; | |
30 | xrdb) xrdb -merge ~/.Xresources ;; | |
31 | dwm) pwd=$(pwd) && cd $HOME/src/c/dwm && makepkg -efi && cd $pwd ;; | |
32 | dvtm) pwd=$(pwd) && cd $HOME/src/c/dvtm && makepkg -efi && cd $pwd ;; | |
33 | st) pwd=$(pwd) && cd $HOME/src/c/st && makepkg -efi && cd $pwd ;; | |
34 | *) echo "Mh, something goes wrong" ;; | |
35 | esac | |
36 | } | |
37 | ||
38 | 0 | autogit () { |
39 | git add -A && git ci -m "$1" && git push | |
1 | git add -A && git commit -m "$1" && git push | |
40 | 2 | } |
41 | 3 | |
42 | 4 | ix () { [ -z "$1" -o -r "$1" ] && curl -F "f:1=<${1:--}" ix.io || printf '$ %s\n\n%s' "$*" "$("$@")" | ix ; } |
43 | 5 | sprunge () { [ -z "$1" -o -r "$1" ] && curl -F "sprunge=<${1:--}" http://sprunge.us || printf '$ %s\n\n%s' "$*" "$("$@")" | sprunge ; } |
44 | 6 | imgur () { [ -z "$1" -o -r "$1" ] && curl -s -F "image=<${1:--}" -F "key=486690f872c678126a2c09a9e196ce1b" https://imgur.com/api/upload.xml || printf '$ %s\n\n%s' "$*" "$("$@")" | imgur ; } |
45 | pbx () { curl -sF "c=@${1:--}" -w "%{redirect_url}" 'https://ptpb.pw/?r=1' -o /dev/stderr | xsel -l /dev/null -b } | |
7 | pbx () { curl -sF "c=@${1:--}" -w "%{redirect_url}" 'https://ptpb.pw/?r=1' -o /dev/stderr | wl-copy } | |
46 | 8 | |
47 | npp () { | |
48 | if [ -n "$DISPLAY" ]; then | |
49 | #urxvtc -name ncmpcpp -cd $HOME -e ncmpcpp && exit | |
50 | termite --name=ncmpcpp -d $HOME -e ncmpcpp && exit | |
9 | news () { | |
10 | read -r -d '' sed_trt <<EOF | |
11 | /<title\|<pubDate\|<rss /!d; | |
12 | s/\t*//g; | |
13 | /<rss / { | |
14 | s/.*/\t\t\\\\e[31m>> News Archlinux.fr <<\\\\e[0m/ | |
15 | } | |
16 | /<title>/ { | |
17 | s,</*title>, - ,g | |
18 | s/’/’/g | |
19 | h | |
20 | D | |
21 | } | |
22 | /<pubDate>/ { | |
23 | s/^.\{14\}\(.\{11\}\).*$/\\\\e[34m\1\\\\e[0m/ | |
24 | H | |
25 | g | |
26 | s/\n//; | |
27 | } | |
28 | EOF | |
29 | echo -e "$(curl -s https://archlinux.fr/feed | sed """$sed_trt""")" | |
30 | ||
31 | } | |
32 | ||
33 | omx () { | |
34 | # use omxplayer to play medias (on RPi) | |
35 | regex='^(https?://)?(www\.)?(youtu(be\.(com|([a-z]{2}))|\.be)|nvimeo\.com|twitch\.tv)/[^ ]+$' | |
36 | ||
37 | if grep -Ee "${regex}" <<< "$1"; then | |
38 | omxplayer -o local `youtube-dl -g -f 22/18/43/36/17 "$@"` | |
51 | 39 | else |
52 | ncmpcpp | |
40 | omxplayer -o local "$@" | |
53 | 41 | fi |
54 | 42 | } |
55 | 43 | |
56 | ||
57 | tmux_tty () { | |
58 | tmux \ | |
59 | new -s tty -n "I" \; \ | |
60 | neww -n "II" \; \ | |
61 | neww -n "III" \; \ | |
62 | neww -n "IV" \; \ | |
63 | neww -n "V" \; \ | |
64 | selectw -t "I" \; | |
65 | } | |
44 | open () { | |
45 | nohup mimeopen $@ &> /dev/null & | |
46 | } | |
66 | 47 | |
67 | 48 | mk () { |
68 | 49 | mkdir -p "$@" && cd "$@" |
69 | 50 | } |
70 | 51 | |
71 | news () { | |
72 | #echo -e "\\e[01;31m\t\t >> News Archlinux.fr << \\e[00m\n$(curl -s https://archlinux.fr/feed | sed '/<title\|<pubDate/!d;s/\t*//g;s/<\/*title>/ - /g;s/[0-9]*:.*/\\e[00m/g;s/’/'"'"'/g;s/–/-/g;/Archlinux.fr/d' | sed 'N;s/\n<pubDate>/\\033[1;34m/g;P;D;')" | |
73 | ||
74 | read -r -d '' sed_trt <<EOF | |
75 | /<title\|<pubDate\|<rss /!d; | |
76 | s/\t*//g; | |
77 | /<rss / { | |
78 | s/.*/\t\t\\\\e[31m>> News Archlinux.fr <<\\\\e[0m/ | |
79 | } | |
80 | /<title>/ { | |
81 | s,</*title>, - ,g | |
82 | s/’/’/g | |
83 | h | |
84 | D | |
85 | } | |
86 | /<pubDate>/ { | |
87 | s/^.\{14\}\(.\{11\}\).*$/\\\\e[34m\1\\\\e[0m/ | |
88 | H | |
89 | g | |
90 | s/\n//; | |
91 | } | |
92 | EOF | |
93 | echo -e "$(curl -s https://archlinux.fr/feed | sed """$sed_trt""")" | |
94 | ||
95 | } | |
96 | ||
97 | maj () { | |
98 | repo="$(checkupdates 2> /dev/null | wc -l)" | |
99 | aur="$(cower -u 2> /dev/null | wc -l)" | |
100 | ||
101 | echo -e "MaJ : ${repo}, AUR : ${aur}" | |
102 | } | |
103 | ||
104 | dvtm-status () { | |
105 | FIFO="/tmp/dvtm-status.$$" | |
106 | [ -p "$FIFO" ] || mkfifo -m 600 "$FIFO" || exit 1 | |
107 | ||
108 | while true; do | |
109 | # wifi name | |
110 | test -n "$( iwgetid -r )" && WIFI="$( iwgetid -r ) | " || WIFI="" | |
111 | ||
112 | # song name | |
113 | test -n "$( mpc current )" && SONG="$( mpc current ) | " || SONG="" | |
114 | ||
115 | # volume | |
116 | VOL_STATUS=$( amixer get Master | grep '\[on\]' ) | |
117 | if [ "${VOL_STATUS}" = "" ]; then | |
118 | VOL="mute" | |
119 | else | |
120 | VOL=$( amixer get Master | grep -E -o '[0-9]{1,3}?%' | head -1 ) | |
121 | fi | |
122 | ||
123 | # date 'n time | |
124 | DATE=$( date +"%F %R" ) | |
125 | ||
126 | echo -e "${SONG}${WIFI}${VOL} | ${DATE}" | |
127 | sleep 1s | |
128 | done 2> /dev/null > "$FIFO" & | |
129 | ||
130 | STATUS_PID=$! | |
131 | dvtm -s "$FIFO" 2> /dev/null | |
132 | kill $STATUS_PID | |
133 | rm -f "$FIFO" | |
134 | } | |
135 | ||
136 | omx () { | |
137 | regex='^(https?://)?(www\.)?(youtu(be\.(com|([a-z]{2}))|\.be)|nvimeo\.com|twitch\.tv)/[^ ]+$' | |
138 | #if printf '%s' "$1" | grep -Ee "${regex}"; then | |
139 | if grep -Ee "${regex}" <<< "$1"; then | |
140 | omxplayer -o local `youtube-dl -g -f 22/18/43/36/17 "$@"` | |
141 | else | |
142 | omxplayer -o local "$@" | |
143 | fi | |
144 | } | |
145 | ||
146 | open () { | |
147 | nohup mimeopen "$@" &> /dev/null & | |
148 | } | |
149 | ||
150 | 52 | # vim: ft=zsh: |