#!/usr/bin/env bash # # This script is for quickly generate helpful logs # cd "$(dirname "$0")";export base="$(pwd)" logfile=diagnose.log;rm $logfile export LANG=C;export LC_ALL=C x() { ii_exec "$@" 2>&1 | tee -a $logfile ; } e() { ii_box "$@" | tee -a $logfile ; } ii_box() { length=$(echo "$1" | wc -L);total_width=$((length + 2)) #line=$(printf "═%.0s" $(seq 1 $total_width)) #border_up="╔${line}╗";border_down="╚${line}╝" #border_vertical="║" line=$(printf "=%.0s" $(seq 1 $total_width)) border_up="/${line}\\";border_down="\\${line}/" border_vertical="|" echo -e "\n$border_up" echo "$border_vertical $1 $border_vertical" echo "$border_down" } ii_exec() { printf "\n[===diagnose===] $*\n" "$@" err=$?;if [ ! $err -eq 0 ];then echo "[---EXIT $err---]";else echo "[---SUCCESS---]";fi } ii_check_distro() { lsb_release -a || cat /etc/os-release || cat /etc/lsb-release } e "Checking git repo info" x git remote get-url origin x git rev-parse HEAD e "Checking distro" x ii_check_distro e "Checking variables" x declare -p XDG_BIN_HOME # ~/.local/bin x declare -p XDG_CACHE_HOME # ~/.cache x declare -p XDG_CONFIG_HOME # ~/.config x declare -p XDG_DATA_HOME # ~/.local/share x declare -p XDG_STATE_HOME # ~/.local/state x declare -p ILLOGICAL_IMPULSE_VIRTUAL_ENV # $XDG_STATE_HOME/ags/.venv e "Checking directories/files" x ls -l $ILLOGICAL_IMPULSE_VIRTUAL_ENV/bin/gradience-cli x ls $XDG_DATA_HOME/glib-2.0/schemas x ls $XDG_DATA_HOME/gradience x cat ~/.config/ags/ e "Checking command existence" commands=(pacman zypper apt dnf yum Hyprland) for i in "${commands[@]}";do x command -v $i;done e "Checking versions" x Hyprland --version x ags --version #e "Checking Color Generators" #x ~/.config/ags/scripts/color_generation/applycolor.sh e "Finished. Output saved as \"dianose.log\"."