Initial commit - localbin - leot's localbin (~/bin)
(HTM) hg clone https://bitbucket.org/iamleot/localbin
(DIR) Log
(DIR) Files
(DIR) Refs
---
(DIR) changeset 513776171455ba99e1f3b8e5905a6442edb7d80c
(HTM) Author: Leonardo Taccari <iamleot@gmail.com>
Date: Fri, 10 May 2019 19:29:51
Initial commit
Diffstat:
agvi | 9 ++++
anmhi-rss | 4 ++
anmhi-rss-scan | 4 ++
catless | 3 +
cscopify | 3 +
csi | 3 +
ctagsify | 6 +++
dbus-launch | 3 +
dia | 3 +
dless | 6 +++
fmtproc | 4 ++
foram | 6 +++
fortune-it | 3 +
forw | 3 +
gai | 4 ++
ixio | 3 +
lesskey | 3 +
lp | 3 +
lpq | 3 +
lpr | 3 +
lprm | 3 +
manvi | 5 ++
mc | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++
mpv | 18 +++++++++
mpv-wl | 7 +++
mscan | 35 ++++++++++++++++++
mshow | 37 +++++++++++++++++++
mxterm | 3 +
netbsd-i386-chroot | 22 +++++++++++
open | 3 +
pdfcat | 7 +++
pdfvi | 11 +++++
pkgh | 8 ++++
pvi | 4 ++
rss2mh | 13 ++++++
sai | 24 ++++++++++++
scmindent | 3 +
seen | 3 +
seen-all | 6 +++
sfeed_mbox | 86 ++++++++++++++++++++++++++++++++++++++++++++++
sless | 6 +++
sless-it | 6 +++
slock | 5 ++
sprunge | 3 +
srmenu | 7 +++
startwm | 3 +
surf | 3 +
surf-mitmproxy | 7 +++
surf-tabbed | 16 ++++++++
sxiv | 3 +
tanmhi-rss | 6 +++
techo | 5 ++
threadm | 24 ++++++++++++
tvi | 3 +
uspell-en | 6 +++
uspell-it | 6 +++
vimb-editor | 5 ++
vulnpkg | 76 ++++++++++++++++++++++++++++++++++++++++
webbrowser | 16 ++++++++
webbrowser-mitmproxy | 7 +++
whatnow | 4 ++
wr | 47 +++++++++++++++++++++++++
wtf | 6 +++
www-browser | 3 +
wwwcat | 8 ++++
wwwmh | 8 ++++
xdg-screensaver | 4 ++
xr | 27 ++++++++++++++
xterm | 3 +
69 files changed, 797 insertions(+), 0 deletions(-)
---
diff -r 000000000000 -r 513776171455 agvi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/agvi Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+LINES=$((`stty -a | sed -nEe 's/^.*; ([0-9]+) rows;.*$/\1/p'` - 10))
+
+exec \
+ `ag --noheading "$@" | \
+ expand | \
+ fzy -l ${LINES} | \
+ awk -F ':' '! /^[:space:]*$/ { print(ENVIRON["EDITOR"] " +" int($2) " " $1) }'`
diff -r 000000000000 -r 513776171455 anmhi-rss
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/anmhi-rss Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+export MH="${HOME}/.mh_rss_profile"
+exec anmhi "$@"
diff -r 000000000000 -r 513776171455 anmhi-rss-scan
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/anmhi-rss-scan Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+export MH="${HOME}/.mh_rss_profile"
+anmhi-scan "$@"
diff -r 000000000000 -r 513776171455 catless
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/catless Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+sed -e 's/.//g' -- "$@"
diff -r 000000000000 -r 513776171455 cscopify
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cscopify Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec cscope-indexer -r
diff -r 000000000000 -r 513776171455 csi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/csi Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/pkg/bin/rlwrap --histsize=-1 /usr/pkg/bin/csi "$@"
diff -r 000000000000 -r 513776171455 ctagsify
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ctagsify Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+tagsfile="tags"
+
+find . -name '*.c' -or -name '*.h' -or -name '*.l' -or -name '*.y' |
+xargs ctags -f ${tagsfile}
diff -r 000000000000 -r 513776171455 dbus-launch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dbus-launch Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exit 0
diff -r 000000000000 -r 513776171455 dia
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dia Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/pkg/bin/dia --integrated
diff -r 000000000000 -r 513776171455 dless
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dless Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+font='Droid Sans Mono:size=12'
+lines=30
+
+col -bx | dmenu -l ${lines} -nb '#000' -nf '#fff' -sb '#000' -sf '#fff' -fn "${font}"
diff -r 000000000000 -r 513776171455 fmtproc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fmtproc Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cat - > /dev/null
+mhshow -noheader -markform /dev/null -form mhl.body -textonly -inlineonly
diff -r 000000000000 -r 513776171455 foram
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/foram Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+cmd=$1
+shift
+
+folders -fast | xargs -n 1 -I % "$cmd" +% "$@"
diff -r 000000000000 -r 513776171455 fortune-it
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fortune-it Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec fortune "$@" /usr/pkg/share/games/fortune/it/
diff -r 000000000000 -r 513776171455 forw
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/forw Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec repl -form forwcomps -filter mhl.forw "$@"
diff -r 000000000000 -r 513776171455 gai
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gai Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Simple script to just ask for GPG password
+exec gpg2 -aq -s < /dev/null > /dev/null
diff -r 000000000000 -r 513776171455 ixio
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ixio Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec curl -F 'f:1=<-' http://ix.io
diff -r 000000000000 -r 513776171455 lesskey
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lesskey Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/pkg/bin/lesskey "$@"
diff -r 000000000000 -r 513776171455 lp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lp Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/pkg/bin/lp "$@"
diff -r 000000000000 -r 513776171455 lpq
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lpq Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/pkg/bin/lpq "$@"
diff -r 000000000000 -r 513776171455 lpr
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lpr Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/pkg/bin/lpr "$@"
diff -r 000000000000 -r 513776171455 lprm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lprm Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/pkg/bin/lprm "$@"
diff -r 000000000000 -r 513776171455 manvi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/manvi Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+man "$@" | col -b > /tmp/man.vi
+view /tmp/man.vi
+rm /tmp/man.vi
diff -r 000000000000 -r 513776171455 mc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mc Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+LYRICS_CMD=$(which lyrics)
+
+mpv_socket_dir=${XDG_CACHE_HOME:-${HOME}/.cache}/mpv/socket
+mpv_socket=${mpv_socket_dir}/$(ls -t "${mpv_socket_dir}" | head -1)
+
+next() {
+ pcur=`{ echo '{ "command": ["get_property", "playlist-pos"] }' | socat - $mpv_socket | jq '.data'; } 2>/dev/null`
+ pnext=`expr "$pcur" + 1`
+ { echo '{ "command": ["set_property", "playlist-pos", '"$pnext"' ] }' | socat - $mpv_socket ; } >/dev/null 2>&1
+}
+
+prev() {
+ pcur=`{ echo '{ "command": ["get_property", "playlist-pos"] }' | socat - $mpv_socket | jq '.data'; } 2>/dev/null`
+ pprev=`expr "$pcur" - 1`
+ { echo '{ "command": ["set_property", "playlist-pos", '"$pprev"' ] }' | socat - $mpv_socket ; } >/dev/null 2>&1
+}
+
+pause() {
+ { echo '{ "command": ["set_property", "pause", true ] }' | socat - $mpv_socket ; } >/dev/null 2>&1
+}
+
+play() {
+ { echo '{ "command": ["set_property", "pause", false ] }' | socat - $mpv_socket ; } >/dev/null 2>&1
+}
+
+#
+# FIXME: This is slooooow! If we can avoid all the socat invocation probably it
+# FIXME: will be faster.
+#
+status() {
+ media_title=`{ echo '{ "command": ["get_property", "media-title"] }' | socat - $mpv_socket | jq -r '.data' ; } 2> /dev/null`
+ track=`{ echo '{ "command": ["get_property", "metadata/by-key/track"] }' | socat - $mpv_socket | jq -r '.data'; } 2> /dev/null`
+ track=${track%%/*} # Get rid of possible `/<n>'
+ artist=`{ echo '{ "command": ["get_property", "metadata/by-key/artist"] }' | socat - $mpv_socket | jq -r '.data'; } 2> /dev/null`
+ title=`{ echo '{ "command": ["get_property", "metadata/by-key/title"] }' | socat - $mpv_socket | jq -r '.data'; } 2> /dev/null`
+ album=`{ echo '{ "command": ["get_property", "metadata/by-key/album"] }' | socat - $mpv_socket | jq -r '.data'; } 2> /dev/null`
+
+ chapter=`{ echo '{ "command": ["get_property", "chapter"] }' | socat - $mpv_socket | jq -r '.data'; } 2> /dev/null`
+ chapter_title=`{ echo '{ "command": ["get_property", "chapter-list/'"${chapter}"'/"] }' | socat - $mpv_socket | jq -r '.data.title'; } 2> /dev/null`
+
+ if [ "$track" != "null" ]; then
+ printf "[%02d] " "$track"
+ elif [ "$chapter" != "null" ]; then
+ printf "[%02d] " "$((chapter + 1))"
+ fi
+ if [ "$title" != "null" ] && [ "$artist" != "null" ]; then
+ printf "%s - %s " "$artist" "$title"
+ elif [ "$title" != "null" ]; then
+ printf "%s " "$title"
+ elif [ "$chapter_title" != "null" ]; then
+ printf "%s " "$chapter_title"
+ elif [ "$media_title" != "null" ]; then
+ printf "%s " "$media_title"
+ fi
+ [ "$album" != "null" ] && printf "(%s) " "$album"
+ printf "\n"
+}
+
+lyrics() {
+ artist=`{ echo '{ "command": ["get_property", "metadata/by-key/artist"] }' | socat - $mpv_socket | jq -r '.data'; } 2> /dev/null`
+ title=`{ echo '{ "command": ["get_property", "metadata/by-key/title"] }' | socat - $mpv_socket | jq -r '.data'; } 2> /dev/null`
+
+ if [ "$title" != "null" ] && [ "$artist" != "null" ]; then
+ ${LYRICS_CMD} "$artist" "$title"
+ fi
+}
+
+usage() {
+ echo 'usage: mc next|pause|play|prev|status'
+ exit 1
+}
+
+case "$1" in
+ n|next)
+ next
+ ;;
+ pa|pause)
+ pause
+ ;;
+ pl|play)
+ play
+ ;;
+ p|prev)
+ prev
+ ;;
+ s|status)
+ status
+ ;;
+ l|lyrics)
+ lyrics
+ ;;
+ *)
+ usage
+ ;;
+esac
diff -r 000000000000 -r 513776171455 mpv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpv Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Handle `--version' special case... If just the `--version' option is requested
+# just honor it and do not append any other options in order to returns an exit
+# status of 0.
+if [ "$*" = "--version" ]; then
+ /usr/pkg/bin/mpv --version
+ exit 0
+fi
+
+mpv_socket_dir=${XDG_CACHE_HOME:-${HOME}/.cache}/mpv/socket
+
+{
+ mkdir -p ${mpv_socket_dir};
+ pid="$$";
+ /usr/pkg/bin/mpv --input-ipc-server="${mpv_socket_dir}/${pid}" "$@";
+ cd ${mpv_socket_dir} && [ -S "${pid}" ] && rm "${pid}";
+}
diff -r 000000000000 -r 513776171455 mpv-wl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpv-wl Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+mpv_watch_later_dir="${HOME}/.config/mpv/watch_later/"
+
+if [ -d ${mpv_watch_later_dir} ]; then
+ awk 'sub(/^# /, "") { print $0 }' `ls -tr ${mpv_watch_later_dir}/*`
+fi
diff -r 000000000000 -r 513776171455 mscan
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mscan Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+if [ "$#" -lt 1 ]; then
+ exit 0
+fi
+
+env MHCONTEXT=/dev/null mairix "$@" |
+ sort -k 1,5 -t '/' -n -k 6 |
+ awk '
+ BEGIN {
+ FS = "/"
+ }
+
+ {
+ folder = substr($0, 1, length($0) - length($NF))
+ msg = $NF
+
+ if (folder != ofolder) {
+ if (buf) {
+ printf("%s\n", ofolder)
+ system(buf)
+ }
+ buf = sprintf("scan +%c%s%c ", 39, folder, 39)
+ ofolder = folder
+ }
+
+ buf = buf " " sprintf("%d", msg)
+ }
+
+ END {
+ if (buf) {
+ printf("%s\n", folder)
+ system(buf)
+ }
+ }'
diff -r 000000000000 -r 513776171455 mshow
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mshow Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+if [ "$#" -lt 1 ]; then
+ exit 0
+fi
+
+export MHCONTEXT=/dev/null
+mairix "$@" |
+ sort -k 1,5 -t '/' -n -k 6 |
+ awk '
+ BEGIN {
+ FS = "/"
+ }
+
+ {
+ folder = substr($0, 1, length($0) - length($NF))
+ msg = $NF
+
+ if (folder != ofolder) {
+ if (buf) {
+ printf("%s\n", ofolder)
+ system(buf)
+ }
+ buf = sprintf("show +%c%s%c ", 39, folder, 39)
+ ofolder = folder
+ }
+
+ buf = buf " " sprintf("%d", msg)
+ }
+
+ END {
+ if (buf) {
+ printf("%s\n", folder)
+ system(buf)
+ }
+ }' |
+ ${PAGER:=more}
diff -r 000000000000 -r 513776171455 mxterm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mxterm Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec xterm -e tmux
diff -r 000000000000 -r 513776171455 netbsd-i386-chroot
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/netbsd-i386-chroot Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+netbsd32_chroot_src="/home/leot/netbsd/netbsd-i386-7.0"
+netbsd32_chroot_target="/emul/netbsd32"
+netbsd32_vartmp_src="/var/tmp"
+netbsd32_vartmp_target="/emul/netbsd32/var/tmp"
+
+usage()
+{
+ echo "$0: start|stop"
+ return 1
+}
+
+if [ "$1" = "start" ]; then
+ sudo mount_null $netbsd32_chroot_src $netbsd32_chroot_target
+ sudo mount_null $netbsd32_vartmp_src $netbsd32_vartmp_target
+elif [ "$1" = "stop" ]; then
+ sudo umount $netbsd32_vartmp_target
+ sudo umount $netbsd32_chroot_target
+else
+ usage
+fi
diff -r 000000000000 -r 513776171455 open
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/open Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec xdg-open "$@" >/dev/null 2>&1 &
diff -r 000000000000 -r 513776171455 pdfcat
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pdfcat Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+pdfviewer="mutool draw"
+pdfviewer_options="-F txt"
+
+exec ${pdfviewer} ${pdfviewer_options} "$@" 2>/dev/null \
+ | tr -d '\f' # Get rid of useless ^L
diff -r 000000000000 -r 513776171455 pdfvi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pdfvi Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+pdfvi_file="/tmp/.pdfvi"
+
+if [ -z "$1" ]; then
+ echo "usage: $0 file"
+ exit 2
+fi
+
+pdfcat "$1" > ${pdfvi_file}
+exec ${EDITOR} ${pdfvi_file}
diff -r 000000000000 -r 513776171455 pkgh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pkgh Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+export AWK=awk
+export RUN="@ set -e;"
+export PKGSRCDIR=/usr/pkgsrc
+export TOPIC="$1"
+
+cd ${PKGSRCDIR} && make -f mk/help/help.mk help topic="$1"
diff -r 000000000000 -r 513776171455 pvi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pvi Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+export NEXINIT="source ${HOME}/.nexrc.py"
+exec vi "$@"
diff -r 000000000000 -r 513776171455 rss2mh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rss2mh Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+sfeedpath=${HOME}/.sfeed/feeds
+mboxpath=${TMPDIR:-/tmp}/sfeed-mboxes
+fdmconf=${HOME}/.sfeed/fdm.sfeed.conf
+
+sfeed_update
+mkdir -p "${mboxpath}"
+cd "${sfeedpath}"
+for f in *; do
+ sfeed_mbox "${sfeedpath}/$f" > "${mboxpath}/$f"
+done
+fdm -f "${fdmconf}" f
diff -r 000000000000 -r 513776171455 sai
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sai Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+: ${SSH_KEYS:="${HOME}/.ssh"}
+
+find_options=""
+find_options="${find_options} -type f -maxdepth 1"
+find_options="${find_options} ! -name *.pub"
+find_options="${find_options} ! -name config"
+find_options="${find_options} ! -name known_hosts"
+
+fzy_options=""
+
+k="$(find "${SSH_KEYS}" ${find_options} |
+sort |
+while read key; do
+ echo "${key##*/}"
+done |
+fzy ${fzy_options})"
+
+echo "${k}"
+
+if [ "${k}" ]; then
+ ssh-add "${SSH_KEYS}/${k}"
+fi
diff -r 000000000000 -r 513776171455 scmindent
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scmindent Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec schematic-format
diff -r 000000000000 -r 513776171455 seen
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/seen Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec mark -sequence unseen -delete "$@"
diff -r 000000000000 -r 513776171455 seen-all
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/seen-all Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+for f in `flist -all -noshowzero -fast -sequence unseen`; do
+ show +"$f" last > /dev/null
+ seen unseen
+done
diff -r 000000000000 -r 513776171455 sfeed_mbox
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sfeed_mbox Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,86 @@
+#!/bin/sh
+
+feed=$1
+
+if [ -z "${feed}" ]; then
+ echo "usage: sfeed_mbox file"
+ exit 1
+fi
+
+tail -r "${feed}" |
+awk -v FEED=$(basename "${feed}") '
+BEGIN {
+ FS = "\t"
+ mtime = strftime("%a %b %d %H:%M:%S %Y")
+}
+
+function print_content(c, c_type)
+{
+ gsub("\\\\n", "\n", c)
+ gsub("\\\\t", " ", c)
+ gsub("\\\\\\\\", "\\", c)
+
+ # Nonexistent proxy to block HTTP requests
+ cmd = "http_proxy=\"http://localhost:31283128\""
+
+ if (c_type == "html") {
+ cmd = cmd " w3m -T text/html"
+ } else {
+ cmd = cmd " w3m -T text/plain"
+ }
+ cmd = cmd " -config /dev/null"
+ cmd = cmd " -dump -no-cookie -cols 78"
+ cmd = cmd " -o display_link=true"
+ cmd = cmd " -o display_link_number=true"
+ cmd = cmd " -o display_image=false"
+ cmd = cmd " -o pseudo_inlines=false"
+
+ # Gracefully handle possible From in content
+ cmd = cmd " | sed \"s/^From/>From/\""
+
+ print c | cmd
+ close(cmd)
+}
+
+{
+ timestamp = $1
+ title = $2
+ link = $3
+ content = $4
+ content_type = $5
+ id = $6
+ author = $7
+
+ feed = FEED
+ sub(/.*\//, "", feed)
+
+ # Workaround for feeds that have no id
+ if (!id) {
+ id = "empty"
+ }
+
+ # Workaround for feeds that have empty link fields
+ if (!link) {
+ link = id
+ }
+
+ if (!author) {
+ author = feed
+ }
+
+ print "From MAILER-DAEMON " mtime
+ print "From: \"" author "\" <" feed "@sfeed.invalid>"
+ print "Date: " strftime("%a, %d %b %Y %H:%M +0000 (UTC)", timestamp)
+ print "Subject: " title
+ print "X-RSS-Feed: " feed
+ print "X-RSS-Id: " id
+ print "X-RSS-URL: " link
+ print "X-RSS-Content-Type: " content_type
+ print "Content-Type: text/plain; charset=\"utf-8\""
+ print "Content-Transfer-Encoding: binary"
+ print ""
+ print_content(content, content_type)
+ print ""
+ print ""
+}
+'
diff -r 000000000000 -r 513776171455 sless
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sless Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+aff="/usr/pkg/share/hunspell/en_US.aff"
+dic="/usr/pkg/share/hunspell/en_US.dic"
+
+LESSOPEN="|-uspell ${aff} ${dic} %s" exec less "$@"
diff -r 000000000000 -r 513776171455 sless-it
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sless-it Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+aff="/usr/pkg/share/hunspell/it_IT.aff"
+dic="/usr/pkg/share/hunspell/it_IT.dic"
+
+LESSOPEN="|-uspell ${aff} ${dic} %s" exec less "$@"
diff -r 000000000000 -r 513776171455 slock
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/slock Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+pkill unclutter
+/usr/pkg/bin/slock
+unclutter -idle 2 -jitter 20 -grab -root -not tabbed Emacs Firefox Vimb Midori netsurf SDL_App Surf Luakit &
diff -r 000000000000 -r 513776171455 sprunge
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sprunge Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec curl -F 'sprunge=<-' http://sprunge.us
diff -r 000000000000 -r 513776171455 srmenu
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/srmenu Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+s=$(surfraw -elvi | awk '(NR >= 2) { print $1 }' | dmenu)
+
+if [ -n "$s" ]; then
+ exec surfraw $s
+fi
diff -r 000000000000 -r 513776171455 startwm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/startwm Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec xinit ${HOME}/.xinitrc -- /usr/X11R7/bin/X -nolisten tcp $@
diff -r 000000000000 -r 513776171455 surf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/surf Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/pkg/bin/surf -D -g -p -s "$@"
diff -r 000000000000 -r 513776171455 surf-mitmproxy
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/surf-mitmproxy Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+export SSL_CERT_FILE="${HOME}/.mitmproxy/mitmproxy-ca-cert.pem"
+export http_proxy=http://localhost:8080
+export https_proxy=http://localhost:8080
+
+surf "$@"
diff -r 000000000000 -r 513776171455 surf-tabbed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/surf-tabbed Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+surf_cache_dir=${XDG_CACHE_HOME:-${HOME}/.cache}/surf
+mkdir -p "${surf_cache_dir}"
+surf_tabbed_xid=${surf_cache_dir}/tabbed.xid
+
+if [ ! -f "${surf_tabbed_xid}" ]; then
+ ( tabbed -c -n Surf > "${surf_tabbed_xid}" ; rm "${surf_tabbed_xid}" ) &
+
+ # XXX: Kludge to wait for tabbed
+ while [ ! "$(cat ${surf_tabbed_xid})" ]; do
+ sleep 0.15
+ done
+fi
+
+surf "$@" -e $(cat "${surf_tabbed_xid}")
diff -r 000000000000 -r 513776171455 sxiv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sxiv Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/pkg/bin/sxiv -a -b "$@"
diff -r 000000000000 -r 513776171455 tanmhi-rss
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tanmhi-rss Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+tmux split-window -bd -t:.0 -v -l 8 "anmhi-rss-scan ; $SHELL"
+tmux rename-window 'rss'
+
+exec anmhi-rss
diff -r 000000000000 -r 513776171455 techo
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/techo Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+printf "\033]0;"
+echo "$@"
+printf "\007"
diff -r 000000000000 -r 513776171455 threadm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/threadm Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+if [ -z "$1" ]; then
+ arg="cur"
+else
+ arg="$1"
+fi
+
+awk -f- <<EOF
+BEGIN {
+ "scan -width 2048 -format '%(msg) %{message-id} %{references}' $arg" | getline
+ msg = \$1
+ messageid = \$2
+ cmd = sprintf("pick")
+ cmd = cmd sprintf(" --message-id '%s' -or --references '%s'", messageid, messageid)
+ for (i = 3; i <= NF; i++) {
+ references = \$i
+ cmd = cmd sprintf(" -or --message-id '%s' -or --references '%s'", references, references)
+ }
+ cmd = cmd sprintf(" '%s':-200 '%s':200", msg, msg)
+ system("scan \`" cmd "\`")
+ exit(0)
+}
+EOF
diff -r 000000000000 -r 513776171455 tvi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tvi Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/pkg/bin/vi "$@"
diff -r 000000000000 -r 513776171455 uspell-en
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uspell-en Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+aff="/usr/pkg/share/hunspell/en_US.aff"
+dic="/usr/pkg/share/hunspell/en_US.dic"
+
+exec uspell ${aff} ${dic} $@
diff -r 000000000000 -r 513776171455 uspell-it
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uspell-it Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+aff="/usr/pkg/share/hunspell/it_IT.aff"
+dic="/usr/pkg/share/hunspell/it_IT.dic"
+
+exec uspell ${aff} ${dic} $@
diff -r 000000000000 -r 513776171455 vimb-editor
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vimb-editor Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+tmux new-window \
+ "${EDITOR} $1 ; tmux wait-for -S vimb-editor" \; \
+ wait-for vimb-editor
diff -r 000000000000 -r 513776171455 vulnpkg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vulnpkg Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,76 @@
+#!/bin/sh
+
+#
+# Copyright (c) 2018 Leonardo Taccari
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+
+#
+# Print usage information and exit.
+#
+usage()
+{
+
+ echo "usage: $0 pkgname ..."
+
+ exit 1
+}
+
+
+#
+# Given a PKGNAME print all relevant pkg-vulnerabilities entries for it.
+#
+auditpkg()
+{
+ pkgname="$1"
+ pkgbase="${pkgname%-*}"
+
+ pkg_admin audit-history "$pkgbase" | while read entry; do
+ pkg=${entry%% *}
+ pkg_admin pmatch "$pkg" "$pkgname" && echo $entry
+ done
+}
+
+
+#
+# Given a list of PKGNAMEs print for each of them the vulnerabilities entries.
+#
+main()
+{
+
+ if [ $# -eq 0 ]; then
+ usage
+ fi
+
+ for p in "$@"; do
+ auditpkg "$p"
+ done
+
+ exit 0
+}
+
+
+main "$@"
diff -r 000000000000 -r 513776171455 webbrowser
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webbrowser Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+vimb_cache_dir=${XDG_CACHE_HOME:-${HOME}/.cache}/vimb
+mkdir -p "${vimb_cache_dir}"
+vimb_tabbed_xid=${vimb_cache_dir}/tabbed.xid
+
+if [ ! -f "${vimb_tabbed_xid}" ]; then
+ ( tabbed -c -n Vimb > "${vimb_tabbed_xid}" ; rm "${vimb_tabbed_xid}" ) &
+
+ # XXX: Kludge to wait for tabbed
+ while [ ! "$(cat ${vimb_tabbed_xid})" ]; do
+ sleep 0.15
+ done
+fi
+
+vimb "$@" -e $(cat "${vimb_tabbed_xid}")
diff -r 000000000000 -r 513776171455 webbrowser-mitmproxy
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webbrowser-mitmproxy Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+export SSL_CERT_FILE="${HOME}/.mitmproxy/mitmproxy-ca-cert.pem"
+export http_proxy=http://localhost:8080
+export https_proxy=http://localhost:8080
+
+webbrowser "$@"
diff -r 000000000000 -r 513776171455 whatnow
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/whatnow Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+export SHELL=/bin/sh
+exec /usr/pkg/bin/whatnow
diff -r 000000000000 -r 513776171455 wr
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wr Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,47 @@
+#!/usr/pkg/bin/python3.7
+
+from bs4 import BeautifulSoup, SoupStrainer
+from urllib import parse, request
+
+def translate(dictionary, term):
+ """Translate a term scraping WordReference.com
+
+ TODO: document me
+ """
+
+ url = 'http://www.wordreference.com/' + parse.quote(dictionary) + '/' + parse.quote(term)
+
+ req = request.Request(url)
+ req.add_header('User-Agent', 'Mozilla/5.0')
+ with request.urlopen(req) as r:
+ translation = BeautifulSoup(r, 'html.parser', parse_only=SoupStrainer(id='articleWRD'))
+
+ translations = []
+
+ if translation and translation.table:
+ for tr in translation.table.find_all('tr', id=True):
+ frwrd = tr.find('td', class_='FrWrd')
+ towrd = tr.find('td', class_='ToWrd')
+ term = frwrd.strong.text.strip()
+ type = list(frwrd.em.children)[0].strip()
+ translated = list(towrd.children)[0].strip()
+ translations.append({'term': term, 'type': type, 'translations': translated})
+
+ return translations
+
+
+if __name__ == '__main__':
+ import sys
+
+ def usage():
+ print('usage: {} dict term'.format(sys.argv[0]))
+ sys.exit(1)
+
+ if len(sys.argv) != 3:
+ usage()
+
+ dictionary = sys.argv[1]
+ term = sys.argv[2]
+
+ for t in translate(dictionary, term):
+ print('{} [{}]: {}'.format(t['term'], t['type'], t['translations']))
diff -r 000000000000 -r 513776171455 wtf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wtf Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Hack to avoid whatis(1) slowdowns
+export PATH=${HOME}/.wtfkludges:${PATH}
+
+exec /usr/games/wtf "$@"
diff -r 000000000000 -r 513776171455 www-browser
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/www-browser Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec webbrowser "$@" > /dev/null 2>&1 &
diff -r 000000000000 -r 513776171455 wwwcat
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wwwcat Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+export http_proxy="http://localhost:3128"
+
+browser="/usr/pkg/bin/w3m"
+browser_options="-dump -T text/html -no-cookie -o display_link=false -o display_link_number=false"
+
+exec ${browser} ${browser_options} "$@"
diff -r 000000000000 -r 513776171455 wwwmh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wwwmh Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+export http_proxy="http://localhost:31283128"
+
+browser="/usr/pkg/bin/w3m"
+browser_options="-dump -T text/html -no-cookie -o display_link=false -o display_link_number=false"
+
+exec ${browser} ${browser_options} "$@"
diff -r 000000000000 -r 513776171455 xdg-screensaver
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xdg-screensaver Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# XXX: dirty hack to avoid disturbing dbus-daemon
+exit 0
diff -r 000000000000 -r 513776171455 xr
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xr Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+#
+# xrandr "helper" (just to avoid some typing...)
+#
+
+usage() {
+ echo 'usage: xr home|univpm|off'
+}
+
+case "$1" in
+ h|home)
+ xrandr > /dev/null
+ xrandr --output DP1 --right-of eDP1 --auto > /dev/null
+ ;;
+ u|univpm)
+ xrandr > /dev/null
+ xrandr --output DP1 --right-of eDP1 --auto > /dev/null
+ ;;
+ o|off)
+ xrandr --output DP1 --off > /dev/null
+ ;;
+ *)
+ usage
+ exit 1
+ ;;
+esac
diff -r 000000000000 -r 513776171455 xterm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xterm Fri May 10 19:29:51 2019 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/pkg/bin/st "$@"