From 398be4363ae7914f73ef2b4ad7b2651dfcd9b66f Mon Sep 17 00:00:00 2001 From: tavo-wasd Date: Sun, 28 May 2023 10:53:35 -0600 Subject: [PATCH] afetch --- bashrc | 7 +++-- scripts/fetch | 80 +++++++++++++++++++++++++++-------------------- scripts/fetch-min | 44 -------------------------- 3 files changed, 51 insertions(+), 80 deletions(-) delete mode 100755 scripts/fetch-min diff --git a/bashrc b/bashrc index e4a485e..05e09ca 100644 --- a/bashrc +++ b/bashrc @@ -1,8 +1,11 @@ #!/bin/bash # tavo custom bashrc file +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + # Prompt -PS1='\[\e[0;1;91m\][\[\e[0;1;38;5;87m\]\u\[\e[0;1;38;5;123m\]@\[\e[0;1;38;5;159m\]\h \[\e[0;1;97m\]\w\[\e[0;1;91m\]]\n \[\e[0;38;5;247m\]$ \[\e[0m\]' +PS1='\[\e[0;1;91m\][\[\e[0;1;38;5;87m\]\u\[\e[0;0;38;5;123m\]@\[\e[0;0;38;5;159m\]\h \[\e[0;38;5;247m\]\w\[\e[0;1;91m\]]\n \[\e[0;38;5;247m\]$ \[\e[0m\]' PROMPT_COMMAND="echo" # Line jump after every command # General configs @@ -95,4 +98,4 @@ type systemctl 2>/dev/null 1>&2 && if systemctl -q is-active graphical.target && exec startx fi -fetch-min +[ "/usr/local/bin/afetch" ] && afetch || fetch min diff --git a/scripts/fetch b/scripts/fetch index a1106f2..2a9dc89 100755 --- a/scripts/fetch +++ b/scripts/fetch @@ -3,9 +3,9 @@ # fet.sh # a fetch in pure POSIX shell # -# by 6kg@github -# -# Modified by me + +[ "$1" = "" ] && mode="" +[ "$1" = "min" ] && mode="min" # supress errors exec 2>/dev/null @@ -28,6 +28,7 @@ for os in /etc/os-release /usr/lib/os-release; do # some POSIX shells exit when trying to source a file that doesn't exist [ -f $os ] && . $os && break done +[ -e "/data/data/com.termux" ] && ID="android $(getprop ro.build.version.release)" if [ -e /proc/$$/comm ]; then ## Terminal @@ -63,7 +64,7 @@ if [ -e /proc/$$/comm ]; then read -r c < "$i" case $c in *bar*|*rc) ;; - awesome|xmonad*|qtile|sway|i3|[bfo]*box|dwm|*wm) wm=${c%%-*}; break;; + dwm|awesome|xmonad*|qtile|sway|i3|[bfo]*box|*wm) wm=${c%%-*}; break;; esac done @@ -92,7 +93,7 @@ if [ -e /proc/$$/comm ]; then ## Kernel read -r _ _ version _ < /proc/version - kernel=${version} + kernel=${version%%-*} eq "$version" '*Microsoft*' && ID="fake $ID" ## Motherboard // laptop @@ -123,13 +124,13 @@ if [ -e /proc/$$/comm ]; then [ -d "/var/db/xbps" ] && pkgs="$pkgs (xbps)" [ -d "/var/db/pkg" ] && pkgs="$pkgs (emerge)" - ## Packages - other package managers - # flatpak - set -- - which flatpak > /dev/null 2>&1 && pkgs="$pkgs $(flatpak list | wc -l) (flatpak)" - # nix-env - set -- - which nix-env > /dev/null 2>&1 && pkgs="$pkgs $(ls /nix/store | wc -l) (nix-env)" + set -- + # Universal formats + for i in '/var/lib/flatpak/exports/bin/* /var/lib/flatpak/runtime/*' ; do + set -- $i + [ $# -gt 2 ] && flatpak=$# && break + done + [ "$flatpak" ] && pkgs="$pkgs $flatpak (flatpak)" read -r host < /proc/sys/kernel/hostname elif [ -f /var/run/dmesg.boot ]; then @@ -255,29 +256,40 @@ col() { printf '\033[0m\n' } + print() { - [ "$2" ] && printf '\033[9%sm%6s\033[0m%b%s\n' \ - "${accent:-4}" "$1" "${separator:- ~ }" "$2" + [ "$2" ] && printf '\033[1m %b\033[0m %b%s\n' \ + "$1" "$2" } -# default value -: "${info:=n user os sh wm up gtk cpu mem host kern pkgs term col}" -for i in $info; do - case $i in - n) echo;; - os) print os "$ID";; - sh) print sh "$SHELL";; - wm) print wm "$wm";; - up) print up "$up";; - gtk) print gtk "$gtk";; - cpu) print cpu "$vendor$cpu";; - mem) print mem "$mem";; - host) print host "$model";; - kern) print kern "$kernel";; - pkgs) print pkgs "$pkgs";; - term) print term "$TERM";; - user) printf '%7s@%s\n' "$USER" "$host";; - col) col;; - esac -done +full() { + echo + print DIST "$ID" + print KERN "$kernel" + print PKGS "$pkgs" + print TERM "$term" + print SHLL "${SHELL##*/}" + print WDMG "${wm##*/}" + print THME "${gtk# }" + print HOST "$model" + print PCSR "$vendor$cpu" + print MMRY "$mem" + print UPTM "$up" + col +} + +min() { + echo + print DIST "$ID" + print KERN "$kernel" + print PKGS "$pkgs" + print TERM "$term" + print SHLL "${SHELL##*/}" + print WDMG "${wm##*/}" + print UPTM "$up" + col +} + +[ "$mode" = "" ] && full +[ "$mode" = "min" ] && min diff --git a/scripts/fetch-min b/scripts/fetch-min deleted file mode 100755 index 0549612..0000000 --- a/scripts/fetch-min +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -# Fast, cross-platform POSIX fetch script -# Mostly stolen from 6kg@github - -## Distro -# freedesktop.org/software/systemd/man/os-release.html -# a common file that has variables about the distro -for os in /etc/os-release /usr/lib/os-release; do - # some POSIX shells exit when trying to source a file that doesn't exist - [ -f $os ] && . $os && break -done -[ -e "/data/data/com.termux" ] && ID="android $(getprop ro.build.version.release)" - -## Kernel -# First try to get kernel veriosn from /proc/version -# Try uname command otherwise -[ -e "/proc/version" ] && read -r _ _ version _ < /proc/version -[ -z "$version" ] && version=$(uname -r) -kernel=${version%%-*} - -## Uptime -# the simple math is shamefully stolen from aosync -[ -e "/proc/uptime" ] && IFS=. read -r uptime _ < /proc/uptime -d=$((uptime / 60 / 60 / 24)) -up=$(printf %02d:%02d $((uptime / 60 / 60 % 24)) $((uptime / 60 % 60))) -[ "$d" -gt 0 ] && up="${d}d $up" - -print() { -[ "$2" ] && printf '\033[1m %b\033[0m %b%s\n' \ - "$1" "$2" -} - -## Output -echo -print DIST "$ID" -print KERN "$kernel" -print SHLL "${SHELL##*/}" -print UPTM "$up" -# Colors -printf ' ' -for i in 1 2 3 4 5 6; do - printf '\033[9%sm%s\033[0m%b%s' "$i" "${colourblocks:-▅▅}" -done -echo