add some scripts

This commit is contained in:
randomuser 2021-02-15 12:02:09 -06:00
parent cec737e0f8
commit 5dd0007c04
4 changed files with 112 additions and 14 deletions

View File

@ -1,4 +1,7 @@
install: man sh c all: mkc
install: man sh mkc c
.PHONY: man sh mkc c
man: man:
mkdir -p $(DESTDIR)$(PREFIX)/man1 mkdir -p $(DESTDIR)$(PREFIX)/man1
cp -f *.1 $(DESTDIR)$(PREFIX)/man1 cp -f *.1 $(DESTDIR)$(PREFIX)/man1
@ -6,6 +9,11 @@ sh:
mkdir -p $(DESTDIR)$(PREFIX)/bin mkdir -p $(DESTDIR)$(PREFIX)/bin
cp -f scripts/paste $(DESTDIR)$(PREFIX)/bin cp -f scripts/paste $(DESTDIR)$(PREFIX)/bin
cp -f scripts/bat $(DESTDIR)$(PREFIX)/bin cp -f scripts/bat $(DESTDIR)$(PREFIX)/bin
c: cp -f scripts/disp $(DESTDIR)$(PREFIX)/bin
cp -f scripts/shime $(DESTDIR)$(PREFIX)/bin
cp -f scripts/wall $(DESTDIR)$(PREFIX)/bin
cp -f scripts/yt $(DESTDIR)$(PREFIX)/bin
mkc:
cc progs/scream.c -o progs/scream cc progs/scream.c -o progs/scream
c:
cp -f progs/scream $(DESTDIR)$(PREFIX)/bin cp -f progs/scream $(DESTDIR)$(PREFIX)/bin

29
scripts/disp Executable file
View File

@ -0,0 +1,29 @@
#!/bin/sh
exists() {
xrandr | grep ' connected' | grep "${1}" | wc -l
}
# usual setup: thinkpad x220 on dock connected to external
# monitor
[ $(exists "HDMI2") -gt 0 ] && \
[ $(exists "LVDS1") -gt 0 ] && \
xrandr --output LVDS1 --below HDMI2 --auto && \
exit 0 || exit 1
# thinkpad x220 connected to display on local port
[ $(exists "HDMI1") -gt 0 ] && \
[ $(exists "LVDS1") -gt 0 ] && \
xrandr --output LVDS1 --below HDMI1 --auto && \
exit 0 || exit 1
# only the thinkpad
[ $(exists "HDMI2") -eq 0 ] && \
[ $(exists "LVDS1") -gt 0 ] && \
xrandr --output LVDS1 --auto && \
exit 0 || exit 1
exit 1

42
scripts/wall Executable file
View File

@ -0,0 +1,42 @@
#!/bin/sh
WALLDIR="${HOME}/.share/wallpapers"
BASECMD="feh --bg-fill"
generate_wall () {
GENWALL=$( \
ls $WALLDIR | \
shuf -n 1
)
GENWALL="${WALLDIR}/${GENWALL}"
}
wall () {
generate_wall
while [ "${GENWALL}" = "${1}" ]; do
generate_wall
done
}
displays () {
displays=$(xrandr | grep ' connected' | wc -l)
}
check () {
which $1 &>/dev/null
}
cmd=""
check "feh" || exit 1
if check "xrandr"; then
displays
for i in $(seq 1 $displays); do
wall ${tmp}
tmp=${GENWALL}
echo ${GENWALL} ${i}
cmd="${cmd} ${GENWALL}"
done
eval ${BASECMD} ${cmd}
else
generate_wall
eval ${BASECMD} ${GENWALL}
fi
unset GENWALL BASECMD tmp cmd displays i
exit 0

View File

@ -1,25 +1,41 @@
#!/bin/sh #!/bin/sh
DATFILE="${HOME}/.config/youtube/dat" [ -z "${YT_DATFILE}" ] && YT_DATFILE="${HOME}/.local/share/ytdat"
CACHEDIR="${HOME}/.config/youtube/cache" [ -z "${YT_CACHEDIR}" ] && YT_CACHEDIR="${HOME}/.local/share/ytcache"
tmp1=$(mktemp) ver=0.1
tmp2=$(mktemp)
touch $DATFILE touch $DATFILE
mkdir -p $CACHEDIR mkdir -p $CACHEDIR
info () {
printf %s "\
yt - youtube tool
=> [s]ync - Sync RSS feeds
=> [a]dd [id] - Add a channel to the list
=> [d]el [id] - Remove a channel from the list
=> [h]elp - Show this help
List file: export DATFILE=<your file here>
Cache directory: export CACHEDIR=<your dir here>
see yt(1) for more information on usage
"
}
sync () { sync () {
for i in $(cat $DATFILE | tr '\n' ' '); do for i in $(cat $YT_DATFILE | tr '\n' ' '); do
torify curl -s \ torify curl -s \
https://www.youtube.com/feeds/videos.xml?channel_id=$i\ https://www.youtube.com/feeds/videos.xml?channel_id=$i\
> ${CACHEDIR}/$i > ${YT_CACHEDIR}/$i
done done
} }
display () { display () {
for i in $(ls $CACHEDIR | tr '\n' ' '); do tmp1=$(mktemp)
grep \<media:title\> ${CACHEDIR}/$i | cut -c 17- | \ tmp2=$(mktemp)
for i in $(ls $YT_CACHEDIR | tr '\n' ' '); do
grep \<media:title\> ${YT_CACHEDIR}/$i | cut -c 17- | \
rev | cut -c 15- | rev >> $tmp1 rev | cut -c 15- | rev >> $tmp1
grep 'link rel' ${CACHEDIR}/$i | grep 'watch' | \ grep 'link rel' ${YT_CACHEDIR}/$i | grep 'watch' | \
cut -c31- | rev | cut -c4- | rev >> $tmp2 cut -c31- | rev | cut -c4- | rev >> $tmp2
done done
cat $tmp1 $tmp2 | pr -2t -s" | " cat $tmp1 $tmp2 | pr -2t -s" | "
@ -31,15 +47,18 @@ del () { # $1: line number of channel id
sed -i "${1}d" $DATFILE sed -i "${1}d" $DATFILE
} }
case $1 in case $1 in
*"sync"*) *"s"*)
sync sync
;; ;;
*"add"*) *"a"*)
[ $# -eq 2 ] && add $2 [ $# -eq 2 ] && add $2
;; ;;
*"del"*) *"d"*)
[ $# -eq 2 ] && del $2 [ $# -eq 2 ] && del $2
;; ;;
*"h"*)
info
;;
*) *)
display display
;; ;;