diff options
| author | littleblack111 <jerrylam110209@gmail.com> | 2023-03-08 18:09:07 +0800 |
|---|---|---|
| committer | littleblack111 <jerrylam110209@gmail.com> | 2023-03-08 18:09:07 +0800 |
| commit | 46ba941d0e3df93c243429551bd5101b0c1c172e (patch) | |
| tree | e7c185a0f749248983340246ad71f6a30edeb2c7 /ufetch | |
update
Diffstat (limited to 'ufetch')
| -rwxr-xr-x | ufetch | 83 |
1 files changed, 83 insertions, 0 deletions
@@ -0,0 +1,83 @@ +#!/bin/zsh +# +# ufetch-arch - tiny system info for arch + +## INFO + +# user is already defined +host="$(cat /etc/hostname)" +os='Arch Linux' +kernel="$(uname -sr)" +uptime="$(uptime -p | sed 's/up //')" +packages="$(pacman -Q | wc -l)" +shell="$(basename "${SHELL}")" + +## UI DETECTION + +parse_rcs() { + for f in "${@}"; do + wm="$(tail -n 1 "${f}" 2> /dev/null | cut -d ' ' -f 2)" + [ -n "${wm}" ] && echo "${wm}" && return + done +} + +rcwm="$(parse_rcs "${HOME}/.xinitrc" "${HOME}/.xsession")" + +ui='unknown' +uitype='UI' +if [ -n "${DE}" ]; then + ui="${DE}" + uitype='DE' +elif [ -n "${WM}" ]; then + ui="${WM}" + uitype='WM' +elif [ -n "${XDG_CURRENT_DESKTOP}" ]; then + ui="${XDG_CURRENT_DESKTOP}" + uitype='DE' +elif [ -n "${DESKTOP_SESSION}" ]; then + ui="${DESKTOP_SESSION}" + uitype='DE' +elif [ -n "${rcwm}" ]; then + ui="${rcwm}" + uitype='WM' +elif [ -n "${XDG_SESSION_TYPE}" ]; then + ui="${XDG_SESSION_TYPE}" +fi + +ui="$(basename "${ui}")" + +## DEFINE COLORS + +# probably don't change these +if [ -x "$(command -v tput)" ]; then + bold="$(tput bold 2> /dev/null)" + black="$(tput setaf 0 2> /dev/null)" + red="$(tput setaf 1 2> /dev/null)" + green="$(tput setaf 2 2> /dev/null)" + yellow="$(tput setaf 3 2> /dev/null)" + blue="$(tput setaf 4 2> /dev/null)" + magenta="$(tput setaf 5 2> /dev/null)" + cyan="$(tput setaf 6 2> /dev/null)" + white="$(tput setaf 7 2> /dev/null)" + reset="$(tput sgr0 2> /dev/null)" +fi + +# you can change these +lc="${reset}${bold}${blue}" # labels +nc="${reset}${bold}${blue}" # user and hostname +ic="${reset}" # info +c0="${reset}${blue}" # first color + +## OUTPUT + +cat <<EOF + +${c0} /\ ${nc}${USER}${ic}@${nc}${host}${reset} +${c0} / \ ${lc}OS: ${ic}${os}${reset} +${c0} / \ ${lc}KERNEL: ${ic}${kernel}${reset} +${c0} / \ ${lc}UPTIME: ${ic}${uptime}${reset} +${c0} / \ ${lc}PACKAGES: ${ic}${packages}${reset} +${c0} / \ ${lc}SHELL: ${ic}${shell}${reset} +${c0} / \ ${lc}${uitype}: ${ic}${ui}${reset} + + |
