From 98f8c8a33c9d442f1ceeac710077015c73650859 Mon Sep 17 00:00:00 2001
From: xeruf <27jf@pm.me>
Date: Sun, 28 Aug 2022 22:36:34 +0200
Subject: [PATCH] bin: various adjustments, add browser html piping and
wiked-diff
---
.local/bin/scripts/browser | 25 +++++++++++++++++++++++++
.local/bin/scripts/delbig | 3 ++-
.local/bin/scripts/dif | 2 +-
.local/bin/scripts/git-aur | 4 ++--
.local/bin/scripts/help | 32 +++++++++++++++++---------------
.local/bin/scripts/xdg-mime-file | 3 ++-
6 files changed, 49 insertions(+), 20 deletions(-)
create mode 100755 .local/bin/scripts/browser
diff --git a/.local/bin/scripts/browser b/.local/bin/scripts/browser
new file mode 100755
index 0000000..2827ad6
--- /dev/null
+++ b/.local/bin/scripts/browser
@@ -0,0 +1,25 @@
+#!/bin/sh -e
+#
+# Usage: browser
+# pipe html to a browser
+# e.g.
+# $ echo '
hi mom!
' | browser
+# $ ron -5 man/rip.5.ron | browser
+
+if [ -t 0 ]; then
+ if [ -n "$1" ]; then
+ open $1
+ else
+ cat <hi mom!' | browser
+$ ron -5 man/rip.5.ron | browser
+usage
+fi
+else
+ f="/tmp/browser.$RANDOM.html"
+ cat /dev/stdin > $f
+ xdg-open $f
+fi
diff --git a/.local/bin/scripts/delbig b/.local/bin/scripts/delbig
index ec59b32..2d1772f 100755
--- a/.local/bin/scripts/delbig
+++ b/.local/bin/scripts/delbig
@@ -1,3 +1,4 @@
#!/bin/sh
# Find and remove sizeable files
-find -size +${1:-50}M -exec rm -vi {} +
+case $1 in ([0-9]|[0-9][0-9]) threshold=$1; shift;; esac
+find -size +${threshold:-50}M -exec rm -vi "$@" {} +
diff --git a/.local/bin/scripts/dif b/.local/bin/scripts/dif
index ee4784a..fc9da53 100755
--- a/.local/bin/scripts/dif
+++ b/.local/bin/scripts/dif
@@ -4,5 +4,5 @@
if file --brief --mime "$1" "$2" | grep --quiet audio
then ff() { ffprobe -loglevel warning -print_format default=noprint_wrappers=1 -show_format -pretty "$@"; }
$(test $(tput cols) -gt 120 && echo "diff --color=always --side-by-side" || echo "diff-color") --report-identical-files --label="$1" --label="$2" <(ff "$1") <(ff "$2")
-else diff-color --report-identical-files "$@"
+else wiked-diff "$@" # diff-color --report-identical-files "$@"
fi | less --RAW-CONTROL-CHARS --quit-on-intr --quit-if-one-screen
diff --git a/.local/bin/scripts/git-aur b/.local/bin/scripts/git-aur
index 69b05bf..3741ffc 100755
--- a/.local/bin/scripts/git-aur
+++ b/.local/bin/scripts/git-aur
@@ -24,12 +24,12 @@ case "$command" in
git add -f .SRCINFO
git commit -v "$@";;
(push)
- updpkgsums
+ grep -q SKIP PKGBUILD || updpkgsums
git add -f *.install 2>/dev/null || true
git aur commit -a "$@"
git push;;
(clean)
- find "$aurdir" -mindepth 2 -maxdepth 2 \( -iname "*.pkg.tar.*" -o -type d -not -name ".*" \) \
+ find "$aurdir" -mindepth 2 -maxdepth 2 \( -iname "*.pkg.tar.*" -o -iname "*.zip" -o -type d -not -name ".*" \) \
-print -exec sudo rm -rI {} +;;
(*) echo "Unknown command!"; exit 3;;
esac
diff --git a/.local/bin/scripts/help b/.local/bin/scripts/help
index c930fc3..f50f578 100755
--- a/.local/bin/scripts/help
+++ b/.local/bin/scripts/help
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/sh -e
# open info-page, man-page or command help
# depends: unbuffer
# optdepends: highlight(dotfiles)
@@ -17,25 +17,27 @@ showinfo() {
cmd="$1"
case "$cmd" in
+ (gh|chordpro|bat|pdfjam|reflector|topgrade|r128gain|7z|kubectl|diffr|docker|jrnl|difft|wiked-diff) unbuffer "$@" --help | $paginate;;
+ (caddy|stretchly|go|fossil) test "$cmd" = "fossil" -a $# -eq 1 && repo="$(locate -b -l 1 "fossil*.fossil")" && fossil ui "$repo" && exit
+ # TODO view fossil ui in terminal
+ shift
+ "$cmd" help "$@" | $paginate;;
+ # Non-standard help flags
+ (doom) "$@" --help;;
+ (mpw) "$@" -h 2>&1 | $paginate;;
+ (plantuml) unbuffer "$@" -help | $paginate;;
+ (rails) { "$@" -H && "$@" --help; } | $paginate;;
+ (vlc) shift && unbuffer vlc --full-help "$@" | $paginate;;
+ (kdeconnect*) shift && kdeconnect-cli --help-all "$@" | $paginate;;
+ # Show manpage with tweaks
+ (pandoc) man pandoc; highlight "Extensions" && pandoc --list-extensions | paste -s -d' ';;
+ (swaymsg) test $# -gt 1 && shift && man sway "$@" || man swaymsg;;
+ (swaymsg-*) man sway "${1#swaymsg-}";;
(zsh|zmv) # https://unix.stackexchange.com/questions/19290/zmv-for-zsh-dry-runs-and-man-pages
for last; do true; done
# need to install zsh-doc package for info pages
showinfo zsh $(test "$last" != zsh && echo "$last") ||
LESS="$LESS +/^ *$last *\\[" man zshall;;
- (gh|chordpro|bat|pdfjam|reflector|topgrade|r128gain|7z|kubectl|diffr|docker) unbuffer "$@" --help | $paginate;;
- (caddy|stretchly|go|fossil) test "$cmd" = "fossil" -a $# -eq 1 && repo="$(locate -b -l 1 "fossil*.fossil")" && fossil ui "$repo" && exit
- # TODO view fossil ui in terminal
- shift
- "$cmd" help "$@" | $paginate;;
- (doom) "$@" --help;;
- (mpw) "$@" -h 2>&1 | $paginate;;
- (rails) { "$@" -H && "$@" --help; } | $paginate;;
- (plantuml) unbuffer "$@" -help | $paginate;;
- (vlc) shift && unbuffer vlc --full-help "$@" | $paginate;;
- (kdeconnect*) shift && kdeconnect-cli --help-all "$@" | $paginate;;
- (pandoc) man pandoc; highlight "Extensions" && pandoc --list-extensions | paste -s -d' ';;
- (swaymsg) test $# -gt 1 && shift && man sway "$@" || man swaymsg;;
- (swaymsg-*) man sway "${1#swaymsg-}";;
(*) showinfo "$@" || man "$@"
return=$?
if test $return -gt 0 && which "$cmd" >/dev/null
diff --git a/.local/bin/scripts/xdg-mime-file b/.local/bin/scripts/xdg-mime-file
index 0803505..54e0672 100755
--- a/.local/bin/scripts/xdg-mime-file
+++ b/.local/bin/scripts/xdg-mime-file
@@ -1,8 +1,9 @@
#!/bin/sh -e
# Use xdg-mime with a file's mime type
+# ARGS: file [application]
xdg-mime query default "$(xdg-mime query filetype "$1")"
if test $# -gt 1; then
- desktop="$(find /usr/share/applications -name "*$2*" | fzf -0 -1)" &&
+ desktop="$(find /usr/share/applications $XDG_DATA_HOME/applications -name "*$2*" | fzf -0 -1)" &&
xdg-mime default "$desktop" "$(xdg-mime query filetype "$1")" &&
echo -n "Updated to: " &&
xdg-mime query default "$(xdg-mime query filetype "$1")"