Compare commits

..

No commits in common. "master" and "v1.3.2" have entirely different histories.

4 changed files with 49 additions and 154 deletions

View file

@ -15,20 +15,20 @@ jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
arch:
- amd64
- iphoneos-arm
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Build deb - name: Build debs
run: make ${{ matrix.arch }}deb run: make debs
- name: Upload deb as artifact - name: Upload iphoneos-arm deb as artifact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
with: with:
name: ${{ matrix.arch }}-deb name: iphoneos-arm-deb
path: "*nekofetch*.deb" path: com.propr.nekofetch*iphoneos-arm.deb
- name: Upload amd64 deb as artifact
uses: actions/upload-artifact@v2
with:
name: amd64-deb
path: nekofetch*amd64.deb

View file

@ -7,42 +7,37 @@ PREFIX ?= /usr
all: all:
@echo "Nekofetch doesn't need to be compiled, run 'make install' to install" @echo "Nekofetch doesn't need to be compiled, run 'make install' to install"
debs: options iphoneos-armdeb amd64deb debs: options iosdeb amd64deb
debroots: options iphoneos-armdebroot amd64debroot
controls: options iphoneos-armcontrol amd64control
options: options:
@echo "VERSION: $(VERSION)" @echo "VERSION: $(VERSION)"
install: install:
mkdir -p $(DESTDIR)$(PREFIX)/bin mkdir -p $(PREFIX)/bin
install -m 0755 nekofetch $(DESTDIR)$(PREFIX)/bin/nekofetch install -m 0755 nekofetch $(PREFIX)/bin/nekofetch
@echo "You may need to install jq, jp2a, and neofetch" @echo "You may need to install jq, jp2a, and neofetch"
@echo "imagemagick is also required to use the kitty image backend"
uninstall: uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/nekofetch rm -f $(PREFIX)/bin/nekofetch
iphoneos-armcontrol: ioscontrol:
cp control.template iphoneos-armcontrol cp control.template ioscontrol
sed -i 's/PACKAGE/com.propr.nekofetch/' iphoneos-armcontrol sed -i 's/PACKAGE/com.propr.nekofetch/' ioscontrol
sed -i 's/ARCH/iphoneos-arm/' iphoneos-armcontrol sed -i 's/ARCH/iphoneos-arm/' ioscontrol
sed -i 's/VERSION/$(VERSION)/' iphoneos-armcontrol sed -i 's/VERSION/$(VERSION)/' ioscontrol
amd64control: amd64control:
cp control.template amd64control cp control.template amd64control
sed -i 's/PACKAGE/nekofetch/' amd64control sed -i 's/PACKAGE/nekofetch/' amd64control
sed -i 's/ARCH/amd64/' amd64control sed -i 's/ARCH/amd64/' amd64control
sed -i 's/VERSION/$(VERSION)/' amd64control sed -i 's/VERSION/$(VERSION)/' amd64control
iphoneos-armdebroot: iphoneos-armcontrol iosdebroot: ioscontrol
mkdir -p iphoneos-armdebroot/DEBIAN mkdir -p iosdebroot/DEBIAN
mkdir -p iphoneos-armdebroot/usr/bin mkdir -p iosdebroot/usr/bin
mkdir -p iphoneos-armdebroot/usr/share/doc/nekofetch mkdir -p iosdebroot/usr/share/doc/nekofetch
cp iphoneos-armcontrol iphoneos-armdebroot/DEBIAN/control cp ioscontrol iosdebroot/DEBIAN/control
cp LICENSE iphoneos-armdebroot/usr/share/doc/nekofetch/copyright cp LICENSE iosdebroot/usr/share/doc/nekofetch/copyright
cp nekofetch iphoneos-armdebroot/usr/bin/nekofetch cp nekofetch iosdebroot/usr/bin/nekofetch
amd64debroot: amd64control amd64debroot: amd64control
mkdir -p amd64debroot/DEBIAN mkdir -p amd64debroot/DEBIAN
mkdir -p amd64debroot/usr/bin mkdir -p amd64debroot/usr/bin
@ -51,14 +46,14 @@ amd64debroot: amd64control
cp LICENSE amd64debroot/usr/share/doc/nekofetch/copyright cp LICENSE amd64debroot/usr/share/doc/nekofetch/copyright
cp nekofetch amd64debroot/usr/bin/nekofetch cp nekofetch amd64debroot/usr/bin/nekofetch
iphoneos-armdeb: iphoneos-armdebroot iosdeb: iosdebroot
dpkg-deb -b "iphoneos-armdebroot" "com.propr.nekofetch_$(VERSION)_iphoneos-arm.deb" dpkg-deb -b "iosdebroot" "com.propr.nekofetch_$(VERSION)_iphoneos-arm.deb"
amd64deb: amd64debroot amd64deb: amd64debroot
dpkg-deb -b "amd64debroot" "nekofetch_$(VERSION)_amd64.deb" dpkg-deb -b "amd64debroot" "nekofetch_$(VERSION)_amd64.deb"
clean: clean:
rm -rf iphoneos-armdebroot amd64debroot rm -rf iosdebroot amd64debroot
rm -f iphoneos-armcontrol amd64control rm -f ioscontrol amd64control
rm -f com.propr.nekofetch_*_iphoneos-arm.deb nekofetch_*_amd64.deb rm -f com.propr.nekofetch_*_iphoneos-arm.deb nekofetch_*_amd64.deb
.PHONY: all debs debroots controls options install uninstall iphoneos-armdeb amd64deb clean .PHONY: all debs options install uninstall clean iosdeb amd64deb

View file

@ -2,6 +2,5 @@ Package: PACKAGE
Architecture: ARCH Architecture: ARCH
Version: VERSION Version: VERSION
Depends: curl, jq, jp2a, neofetch Depends: curl, jq, jp2a, neofetch
Recommends: imagemagick
Description: neofetch but with nekos Description: neofetch but with nekos
Maintainer: bbaovanc <bbaovanc@bbaovanc.com> Maintainer: bbaovanc <bbaovanc@bbaovanc.com>

135
nekofetch
View file

@ -1,132 +1,33 @@
#!/bin/sh #!/bin/sh
tmpfile="$(mktemp)" tmpfile="$(mktemp -p /tmp nekofetchXXXXXXXX)"
while :; do case "$1" in
case "$1" in "--nsfw"|"nsfw"|"-n"|"n")
"--verbose"|"--debug"|"-v") echo "Getting a nsfw image"
if [ -z "$debug" ]; then
[ "$debug" = "true" ] && echo "Enabling debug output"
debug="true"
else
echo "debug has already been enabled!"
fi
;;
"--offline"|"-o")
if [ -z "$offline" ]; then
[ "$debug" = "true" ] && echo "Enabling offline mode"
offline="true"
else
echo "offline has already been enabled!"
fi
;;
"--nekodir")
if [ -z "$nekodir" ]; then
nekodir="$2"
offline="true"
[ "$debug" = "true" ] && echo "Using offline dir $nekodir"
else
echo "You can only specify the neko dir argument once!"
fi
shift
;;
"--nsfw"|"nsfw"|"-n"|"n")
if [ -z "$imgtype" ]; then
[ "$debug" = "true" ] && echo "Getting a nsfw image"
imgtype="nsfw"
else
echo "$imgtype images were already chosen! Please only specify either sfw or nsfw!"
fi
;;
"--sfw"|"sfw"|"-s"|"s")
if [ -z "$imgtype" ]; then
[ "$debug" = "true" ] && echo "Getting a sfw image"
imgtype="sfw"
else
echo "$imgtype images were already chosen! Please only specify either sfw or nsfw!"
fi
;;
"--w3m"|"w3m"|"--img"|"img"|"-i"|"i")
[ "$debug" = "true" ] && echo "Using w3m image backend for neofetch"
use_w3m="true"
;;
"--height"|"-h")
if [ -z "$use_height" ]; then
use_height="$2"
[ "$debug" = "true" ] && echo "Using height $use_height"
else
echo "You can only specify the height argument once!"
fi
shift
;;
*)
if [ -z "$1" ]; then
break
fi
echo "Could not interpret parameter '$1'."
;;
esac
shift
done
offlineloc="${nekodir:-/usr/share/nekofetch/nekos}"
if [ "$offline" = "true" ]; then
if [ ! -d "$offlineloc" ]; then
echo "The specified offline images location ($offlineloc) does not exist or is not a directory!"
exit 1
fi
fi
[ "$debug" = "true" ] && [ "$offline" = "true" ] && echo "The offline images location is $offlineloc"
if [ ! "$offline" = "true" ]; then
if [ "$imgtype" = "nsfw" ]; then
imgurl="https://nekos.life/api/v2/img/cum_jpg" imgurl="https://nekos.life/api/v2/img/cum_jpg"
else ;;
"--sfw"|"sfw"|"-s"|"s")
echo "Getting a sfw image"
imgurl="https://nekos.life/api/v2/img/neko" imgurl="https://nekos.life/api/v2/img/neko"
fi ;;
fi *)
echo "Could not interpret as either sfw or nsfw. Defaulting to sfw."
imgurl="https://nekos.life/api/v2/img/neko"
;;
esac
if [ -n "$use_height" ]; then echo "$2" | grep -qE '^[0-9]+$' && height="$2" || height="$(($(stty size | awk '{print $1}') - 5))"
height="$use_height" echo "Using height $height"
else
height="$(($(stty size | awk '{print $1}') - 5))"
fi
if [ "$offline" = "true" ]; then url=$(curl -fsSL "$imgurl" | jq -r ".url")
pickdir="$offlineloc/$imgtype"
cp "$(find "$pickdir" -type f | shuf -n 1)" "$tmpfile.jpg"
else
url=$(curl -fsSL "$imgurl" | jq -r ".url")
[ "$debug" = "true" ] && echo "Using image at url $url"
curl -fsSLo "$tmpfile.jpg" "$url"
fi
curl -fsSLo "$tmpfile.jpg" "$url"
if [ "$TERM" = "xterm-kitty" ]; then if [ "$TERM" = "xterm-kitty" ]; then
command -v convert > /dev/null 2>&1 && neofetch --kitty "$tmpfile.jpg" || kitty_imagemagick_warn=true neofetch --kitty "$tmpfile.jpg"
if [ "$kitty_imagemagick_warn" = "true" ]; then
jp2a --height="$height" "$tmpfile.jpg" > "$tmpfile"
neofetch --source "$tmpfile"
fi
elif [ "$LC_TERMINAL" = "iTerm2" ]; then
neofetch --iterm2 "$tmpfile.jpg"
elif [ "$use_w3m" = "true" ]; then
neofetch --w3m "$tmpfile.jpg"
else else
jp2a --height="$height" "$tmpfile.jpg" > "$tmpfile" jp2a --height="$height" "$tmpfile.jpg" > "$tmpfile"
neofetch --source "$tmpfile" neofetch --source "$tmpfile"
fi fi
rm "$tmpfile" "$tmpfile.jpg" rm "$tmpfile" "$tmpfile.jpg"
if [ "$kitty_imagemagick_warn" = "true" ]; then
echo "WARN: imagemagick is required for kitty image backend"
fi