#!/bin/bash # DYNR Module: System Pulse run_system_pulse() { BLUE='\033[38;5;45m'; PURPLE='\033[38;5;127m'; GOLD='\033[38;5;178m'; NC='\033[0m' # 1. Dependency Check if ! command -v watch &> /dev/null; then echo -e "${GOLD}Requirement Missing: 'watch' is needed for live mode.${NC}" echo -e "Would you like to install 'procps'? (y/n)" read -p "> " inst_proc [[ "$inst_proc" == "y" ]] && sudo apt-get update && sudo apt-get install -y procps fi # 2. Mode Selection echo -e "${BLUE}🐉 How would you like to read the Dynasty's Pulse?${NC}" echo "1) One-time Snapshot" echo "2) Live Readout (Updates every 2s)" read -p "Selection [1-2]: " PULSE_MODE # Function to generate the actual stats string generate_stats() { CPU=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}') RAM_T=$(free -m | awk '/Mem:/ { print $2 }') RAM_U=$(free -m | awk '/Mem:/ { print $3 }') DISK=$(df -h / | awk 'NR==2 {print $5}') UP=$(uptime -p) echo -e "${PURPLE}=================================================${NC}" echo -e "${BLUE} 🐉 DYNASTY REVOLUTION: SYSTEM PULSE 🐉 ${NC}" echo -e "${PURPLE}=================================================${NC}" echo -e "${GOLD}CPU LOAD: ${NC}${CPU}%" echo -e "${GOLD}RAM USAGE: ${NC}${RAM_U}MB / ${RAM_T}MB" echo -e "${GOLD}DISK USAGE: ${NC}${DISK}" echo -e "${GOLD}UPTIME: ${NC}${UP}" echo -e "${PURPLE}=================================================${NC}" } if [ "$PULSE_MODE" == "2" ]; then echo -e "${BLUE}Entering Live Mode. Press Ctrl+C to exit...${NC}" sleep 1 # Use watch to repeat the function. # Note: export -f doesn't work well here, so we use a subshell trick or call a simple loop while true; do clear generate_stats echo -e "${BLUE}Refreshing... (Ctrl+C to Stop)${NC}" sleep 2 done else clear generate_stats read -p "Press Enter to return to the Dynasty..." fi }