diff options
Diffstat (limited to '.scripts/tools')
| -rwxr-xr-x | .scripts/tools/compiler | 25 | ||||
| -rwxr-xr-x | .scripts/tools/ifinstalled | 2 | ||||
| -rwxr-xr-x | .scripts/tools/linkhandler | 9 | ||||
| -rwxr-xr-x | .scripts/tools/note | 8 | ||||
| -rwxr-xr-x | .scripts/tools/qndl | 11 | ||||
| -rwxr-xr-x | .scripts/tools/queueandnotify | 7 | ||||
| -rwxr-xr-x | .scripts/tools/setbg | 2 | ||||
| -rwxr-xr-x | .scripts/tools/shortcuts | 10 | ||||
| -rwxr-xr-x | .scripts/tools/texclear | 2 | ||||
| -rwxr-xr-x | .scripts/tools/transadd | 11 |
10 files changed, 32 insertions, 55 deletions
diff --git a/.scripts/tools/compiler b/.scripts/tools/compiler index cf628aa..7d3bf1d 100755 --- a/.scripts/tools/compiler +++ b/.scripts/tools/compiler @@ -1,21 +1,14 @@ #!/bin/sh - # This script will compile or run another finishing operation on a document. I # have this script run via vim. # -# tex files: Compiles to pdf, including bibliography if necessary -# md files: Compiles to pdf via pandoc -# rmd files: Compiles via R Markdown -# c files: Compiles via whatever compiler is set to cc. Usually gcc. -# py files: runs via python command -# go files: compiles and runs with "go run" -# config.h files: (For suckless utils) recompiles and installs program. -# all others: run `sent` to show a presentation +# Compiles .tex. groff (.mom, .ms), .rmd, .md. +# Opens .sent files as sent presentations. +# Runs scripts based on extention or shebang file=$(readlink -f "$1") dir=$(dirname "$file") base="${file%.*}" -shebang=$(sed -n 1p "$file") cd "$dir" || exit @@ -29,22 +22,16 @@ textype() { \ $command --output-directory="$dir" "$base" } -shebangtest() { - case "$shebang" in - \#\!*) "$file" ;; - *) sent "$file" 2>/dev/null & ;; - esac -} - case "$file" in *\.ms) refer -PS -e "$file" | groff -me -ms -kejpt -T pdf > "$base".pdf ;; *\.mom) refer -PS -e "$file" | groff -mom -kejpt -T pdf > "$base".pdf ;; *\.rmd) echo "require(rmarkdown); render('$file')" | R -q --vanilla ;; *\.tex) textype "$file" ;; *\.md) pandoc "$file" --pdf-engine=xelatex -o "$base".pdf ;; - *config.h) make && sudo make install ;; + *config.h) sudo make install ;; *\.c) cc "$file" -o "$base" && "$base" ;; *\.py) python "$file" ;; *\.go) go run "$file" ;; - *) shebangtest ;; + *\.sent) setsid sent "$file" 2>/dev/null & ;; + *) sed 1q "$file" | grep "^#!/" | sed "s/^#!//" | xargs -r -I % "$file" ;; esac diff --git a/.scripts/tools/ifinstalled b/.scripts/tools/ifinstalled index bdbcbc4..0305f4f 100755 --- a/.scripts/tools/ifinstalled +++ b/.scripts/tools/ifinstalled @@ -1,3 +1,3 @@ #!/bin/sh # If $1 command is not available, error code and notify. -command -v "$1" >/dev/null || { notify-send "$1 is not installed." && exit 1 ;} +command -v "$1" >/dev/null || { notify-send "📦 <b>$1</b> must be installed for this function." && exit 1 ;} diff --git a/.scripts/tools/linkhandler b/.scripts/tools/linkhandler index 0719660..c616d04 100755 --- a/.scripts/tools/linkhandler +++ b/.scripts/tools/linkhandler @@ -1,14 +1,11 @@ #!/bin/sh # Feed script a url or file location. -# If an image, it will view in feh, +# If an image, it will view in sxiv, # if a video or gif, it will view in mpv # if a music file or pdf, it will download, # otherwise it opens link in browser. -# Sci-Hub's domain occasionally changes due to shutdowns: -scihub="http://sci-hub.tw/" - # If no url given. Opens browser. For using script as $BROWSER. [ -z "$1" ] && { "$BROWSER"; exit; } @@ -16,11 +13,9 @@ case "$1" in *mkv|*webm|*mp4|*youtube.com*|*youtu.be*|*hooktube.com*|*bitchute.com*) setsid mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) -quiet "$1" >/dev/null 2>&1 & ;; *png|*jpg|*jpe|*jpeg|*gif) - setsid sxiv -a "$1" >/dev/null 2>&1 & ;; + curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///")" && sxiv -a "/tmp/$(echo "$1" | sed "s/.*\///")" >/dev/null 2>&1 & ;; *mp3|*flac|*opus|*mp3?source*) setsid tsp curl -LO "$1" >/dev/null 2>&1 & ;; - *springer.com*) - setsid curl -sO "$(curl -s "$scihub$*" | grep -Po "(?<=location.href=').+.pdf")" >/dev/null 2>&1 & ;; *) if [ -f "$1" ]; then "$TERMINAL" -e "$EDITOR $1" else setsid "$BROWSER" "$1" >/dev/null 2>&1 & fi ;; diff --git a/.scripts/tools/note b/.scripts/tools/note deleted file mode 100755 index 09186ea..0000000 --- a/.scripts/tools/note +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# This is a general notification command for my own ease. -# $1 should be a message -# $2 is an optional image for notify-send -# Echos content on terminal and if dunst is running, shows notification. - -[ -z "$2" ] || img="-i $2" -echo "$1" && pgrep -x dunst >/dev/null && notify-send $img "$1" diff --git a/.scripts/tools/qndl b/.scripts/tools/qndl new file mode 100755 index 0000000..a99d37e --- /dev/null +++ b/.scripts/tools/qndl @@ -0,0 +1,11 @@ +#!/bin/sh +# $1 is a url; $2 is a command +[ -z "$1" ] && exit +base="$(basename "$1")" +notify-send "⏳ Queuing $base..." +cmd="$2" +[ -z "$cmd" ] && cmd="youtube-dl --add-metadata" +idnum="$(tsp $cmd "$1")" +realname="$(echo "$base" | sed "s/?\(source\|dest\).*//;s/%20/ /g")" +tsp -D "$idnum" mv "$base" "$realname" +tsp -D "$idnum" notify-send "👍 $realname done." diff --git a/.scripts/tools/queueandnotify b/.scripts/tools/queueandnotify index 332668f..a1417ec 100755 --- a/.scripts/tools/queueandnotify +++ b/.scripts/tools/queueandnotify @@ -7,12 +7,7 @@ queuefile="$HOME/.local/share/newsboat/queue" while read -r line; do [ -z "$line" ] && continue url="$(echo "$line" | awk '{print $1}')" - base="$(basename "$url")" - notify-send -i "$PIX/dl.png" "Queuing $base..." - idnum="$(tsp curl -LO "$url")" - realname="$(echo "$base" | sed "s/?\(source\|dest\).*//;s/%20/ /g")" - tsp -D "$idnum" mv "$base" "$realname" - tsp -D "$idnum" notify-send -i "$PIX/check.png" "$realname done." + qndl "$url" "curl -LO" done < "$queuefile" echo > "$queuefile" diff --git a/.scripts/tools/setbg b/.scripts/tools/setbg index 00e996a..950ae7c 100755 --- a/.scripts/tools/setbg +++ b/.scripts/tools/setbg @@ -1,4 +1,4 @@ #!/bin/sh # Sets the background. If given an argument, will set file as background. [ ! -z "$1" ] && cp "$1" ~/.config/wall.png && notify-send -i "$HOME/.config/wall.png" "Wallpaper changed." -xwallpaper --center ~/.config/wall.png +xwallpaper --zoom ~/.config/wall.png diff --git a/.scripts/tools/shortcuts b/.scripts/tools/shortcuts index cb4cc6e..3ac0bbd 100755 --- a/.scripts/tools/shortcuts +++ b/.scripts/tools/shortcuts @@ -1,10 +1,10 @@ #!/bin/bash # Output locations. Unactivated progs should go to /dev/null. -shell_shortcuts="$HOME/.shortcuts" +shell_shortcuts="$HOME/.config/shortcutrc" ranger_shortcuts="$HOME/.config/ranger/shortcuts.conf" qute_shortcuts="/dev/null" -fish_shortcuts="$HOME/.config/fish/shortcuts.fish" -vifm_shortcuts="$HOME/.vifmshortcuts" +fish_shortcuts="/dev/null" +vifm_shortcuts="$HOME/.config/vifm/vifmshortcuts" # Remove, prepare files rm -f "$ranger_shortcuts" "$qute_shortcuts" 2>/dev/null @@ -13,14 +13,14 @@ printf "# vim: filetype=sh\\nalias " > "$shell_shortcuts" printf "\" vim: filetype=vim\\n" > "$vifm_shortcuts" # Format the `bmdirs` file in the correct syntax and sent it to all three configs. -sed "s/\s*#.*$//;/^\s*$/d" "$HOME/.bmdirs" | tee >(awk '{print $1"=\"cd "$2" && ls -a\" \\"}' >> "$shell_shortcuts") \ +sed "s/\s*#.*$//;/^\s*$/d" "$HOME/.config/bmdirs" | tee >(awk '{print $1"=\"cd "$2" && ls -a\" \\"}' >> "$shell_shortcuts") \ >(awk '{print "abbr", $1, "\"cd " $2 "; and ls -a\""}' >> "$fish_shortcuts") \ >(awk '{print "map g" $1, ":cd", $2 "<CR>\nmap t" $1, "<tab>:cd", $2 "<CR><tab>\nmap M" $1, "<tab>:cd", $2 "<CR><tab>:mo<CR>\nmap Y" $1, "<tab>:cd", $2 "<CR><tab>:co<CR>" }' >> "$vifm_shortcuts") \ >(awk '{print "config.bind(\";"$1"\", \"set downloads.location.directory "$2" ;; hint links download\")"}' >> "$qute_shortcuts") \ | awk '{print "map g"$1" cd "$2"\nmap t"$1" tab_new "$2"\nmap m"$1" shell mv -v %s "$2"\nmap Y"$1" shell cp -rv %s "$2}' >> "$ranger_shortcuts" # Format the `configs` file in the correct syntax and sent it to both configs. -sed "s/\s*#.*$//;/^\s*$/d" "$HOME/.bmfiles" | tee >(awk '{print $1"=\"$EDITOR "$2"\" \\"}' >> "$shell_shortcuts") \ +sed "s/\s*#.*$//;/^\s*$/d" "$HOME/.config/bmfiles" | tee >(awk '{print $1"=\"$EDITOR "$2"\" \\"}' >> "$shell_shortcuts") \ >(awk '{print "abbr", $1, "\"$EDITOR "$2"\""}' >> "$fish_shortcuts") \ >(awk '{print "map", $1, ":e", $2 "<CR>" }' >> "$vifm_shortcuts") \ | awk '{print "map "$1" shell $EDITOR "$2}' >> "$ranger_shortcuts" diff --git a/.scripts/tools/texclear b/.scripts/tools/texclear index 20f435c..f6a5062 100755 --- a/.scripts/tools/texclear +++ b/.scripts/tools/texclear @@ -8,7 +8,7 @@ case "$1" in file=$(readlink -f "$1") dir=$(dirname "$file") base="${file%.*}" - find "$dir" -maxdepth 1 -type f -regextype gnu-awk -regex "^$base\\.(4tc|xref|tmp|pyc|pyo|fls|vrb|fdb_latexmk|bak|swp|aux|log|synctex\\(busy\\)|lof|nav|out|snm|toc|bcf|run\\.xml|synctex\\.gz|blg|bbl)" -delete ;; + find "$dir" -maxdepth 1 -type f -regextype gnu-awk -regex "^$base\\.(4tc|xref|tmp|pyc|pyo|fls|vrb|fdb_latexmk|bak|swp|aux|log|synctex\\(busy\\)|lof|lot|maf|idx|mtc|mtc0|nav|out|snm|toc|bcf|run\\.xml|synctex\\.gz|blg|bbl)" -delete ;; *) printf "Give .tex file as argument.\\n" ;; esac diff --git a/.scripts/tools/transadd b/.scripts/tools/transadd index 8cc7e80..ad2ee7f 100755 --- a/.scripts/tools/transadd +++ b/.scripts/tools/transadd @@ -1,12 +1,9 @@ #!/bin/sh -# Mimeapp script for adding torrent to transmission-daemon, but will also start -# the daemon first if not running. +# Mimeapp script for adding torrent to transmission-daemon, but will also start the daemon first if not running. -# Optionally requires my `note` script. The sleep of 3 seconds is because the -# transmission-daemon sometimes fails to take remote requests in its first -# moments. +# transmission-daemon sometimes fails to take remote requests in its first moments. -pgrep -x transmission-da || (transmission-daemon && note "Starting daemon..." "$PIX/dl.png" && sleep 3 && pkill -RTMIN+7 i3blocks) +pgrep -x transmission-da || (transmission-daemon && notify-send "Starting transmission daemon..." && sleep 3 && pkill -RTMIN+7 i3blocks) -transmission-remote -a "$@" && note "Torrent added." "$PIX/dl.png" +transmission-remote -a "$@" && notify-send "🔽 Torrent added." |
