refact: auto-cpufreq (#908)

* rework: auto-cpufreq

* Revert changes to userguide auto-cpufreq
This commit is contained in:
Jeevitha Kannan K S 2024-11-11 21:43:19 +05:30 committed by GitHub
parent f400eee4b1
commit d8607487a6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 117 additions and 106 deletions

View File

@ -0,0 +1,111 @@
#!/bin/sh -e
. ../common-script.sh
installAutoCpufreq() {
clear
AUTO_CPUFREQ_PATH="$HOME/.local/share/auto-cpufreq"
if ! command_exists auto-cpufreq; then
printf "%b\n" "${YELLOW}Installing auto-cpufreq.${RC}"
if ! command_exists git && [ "$PACKAGER" != "pacman" ]; then
printf "%b\n" "${YELLOW}Installing git.${RC}"
case "$PACKAGER" in
*)
"$ESCALATION_TOOL" "$PACKAGER" install -y git
;;
esac
fi
case "$PACKAGER" in
pacman)
if command_exists powerprofilesctl; then
printf "%b\n" "${YELLOW}Disabling powerprofilesctl service.${RC}"
"$ESCALATION_TOOL" systemctl disable --now power-profiles-daemon
fi
"$AUR_HELPER" -S --needed --noconfirm auto-cpufreq
"$ESCALATION_TOOL" systemctl enable --now auto-cpufreq
;;
*)
mkdir -p "$HOME/.local/share"
if [ -d "$AUTO_CPUFREQ_PATH" ]; then
rm -rf "$AUTO_CPUFREQ_PATH"
fi
printf "%b\n" "${YELLOW}Cloning auto-cpufreq repository.${RC}"
git clone --depth=1 https://github.com/AdnanHodzic/auto-cpufreq.git "$AUTO_CPUFREQ_PATH"
cd "$AUTO_CPUFREQ_PATH"
printf "%b\n" "${YELLOW}Running auto-cpufreq installer.${RC}"
"$ESCALATION_TOOL" ./auto-cpufreq-installer
"$ESCALATION_TOOL" auto-cpufreq --install
;;
esac
else
printf "%b\n" "${GREEN}auto-cpufreq is already installed.${RC}"
fi
}
applyTweak() {
printf "%b\n" "${YELLOW}Configuring auto-cpufreq.${RC}"
if command_exists auto-cpufreq; then
if ls /sys/class/power_supply/BAT* >/dev/null 2>&1; then
printf "%b\n" "${GREEN}System detected as laptop. Updating auto-cpufreq for laptop.${RC}"
"$ESCALATION_TOOL" auto-cpufreq --force powersave
else
printf "%b\n" "${GREEN}System detected as desktop. Updating auto-cpufreq for desktop.${RC}"
"$ESCALATION_TOOL" auto-cpufreq --force performance
fi
else
printf "%b\n" "${RED}auto-cpufreq is not installed.${RC}"
exit 1
fi
}
removeTweak() {
if command_exists auto-cpufreq; then
printf "%b\n" "${YELLOW}Removing auto-cpufreq tweak.${RC}"
"$ESCALATION_TOOL" auto-cpufreq --force reset
else
printf "%b\n" "${RED}auto-cpufreq is not installed.${RC}"
exit 1
fi
}
main() {
printf "%b\n" "${YELLOW}Do you want to apply the auto-cpufreq tweak or remove it?${RC}"
printf "%b\n" "${YELLOW}1) Apply tweak${RC}"
printf "%b\n" "${YELLOW}2) Remove tweak${RC}"
printf "%b\n" "${YELLOW}3) Exit${RC}"
printf "%b" "Enter your choice [1/3]: "
read -r choice
case "$choice" in
1)
applyTweak
;;
2)
removeTweak
;;
3)
printf "%b\n" "${GREEN}Exiting.${RC}"
exit 0
;;
*)
printf "%b\n" "${RED}Invalid choice. Exiting.${RC}"
exit 1
;;
esac
printf "%b\n" "${GREEN}auto-cpufreq setup complete.${RC}"
}
checkEnv
checkEscalationTool
installAutoCpufreq
main

View File

@ -227,6 +227,12 @@ description = "Universal Android Debloater (UAD) is a tool designed to help user
script = "android-debloat.sh"
task_list = "I"
[[data]]
name = "Auto CPU Frequency"
description = "Automatic CPU speed & power optimizer.\nhttps://github.com/AdnanHodzic/auto-cpufreq"
script = "auto-cpufreq.sh"
task_list = "I SS"
[[data]]
name = "Bash Prompt"
description = "The .bashrc file is a script that runs every time a new terminal session is started in Unix-like operating systems. It is used to configure the shell session, set up aliases, define functions, and more, making the terminal easier to use and more powerful. This command configures the key sections and functionalities defined in the .bashrc file from CTT's mybash repository. https://github.com/ChrisTitusTech/mybash"

View File

@ -1,101 +0,0 @@
#!/bin/sh -e
. ../common-script.sh
installAutoCpufreq() {
clear
printf "%b\n" "${YELLOW}Checking if auto-cpufreq is already installed...${RC}"
# Check if auto-cpufreq is already installed
if command_exists auto-cpufreq; then
printf "%b\n" "${GREEN}auto-cpufreq is already installed.${RC}"
else
printf "%b\n" "${YELLOW}Installing auto-cpufreq...${RC}"
# Install git if not already installed
if ! command_exists git; then
printf "%b\n" "${YELLOW}git not found. Installing git...${RC}"
case "$PACKAGER" in
pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm git
;;
apk)
"$ESCALATION_TOOL" "$PACKAGER" add git
;;
*)
"$ESCALATION_TOOL" "$PACKAGER" install -y git
;;
esac
fi
# Clone the auto-cpufreq repository and run the installer
if [ ! -d "auto-cpufreq" ]; then
printf "%b\n" "${YELLOW}Cloning auto-cpufreq repository...${RC}"
git clone https://github.com/AdnanHodzic/auto-cpufreq.git
fi
cd auto-cpufreq
printf "%b\n" "${YELLOW}Running auto-cpufreq installer...${RC}"
"$ESCALATION_TOOL" ./auto-cpufreq-installer
"$ESCALATION_TOOL" auto-cpufreq --install
cd ..
fi
}
configureAutoCpufreq() {
printf "%b\n" "${YELLOW}Configuring auto-cpufreq...${RC}"
if command_exists auto-cpufreq; then
# Check if the system has a battery to determine if it's a laptop
if ls /sys/class/power_supply/BAT* >/dev/null 2>&1; then
printf "%b\n" "${GREEN}System detected as laptop. Updating auto-cpufreq for laptop...${RC}"
"$ESCALATION_TOOL" auto-cpufreq --force powersave
else
printf "%b\n" "${GREEN}System detected as desktop. Updating auto-cpufreq for desktop...${RC}"
"$ESCALATION_TOOL" auto-cpufreq --force performance
fi
else
printf "%b\n" "${RED}auto-cpufreq is not installed, skipping configuration.${RC}"
fi
}
removeAutoCpufreqTweak() {
printf "%b\n" "${YELLOW}Removing auto-cpufreq tweak...${RC}"
if command_exists auto-cpufreq; then
printf "%b\n" "${YELLOW}Resetting auto-cpufreq configuration...${RC}"
"$ESCALATION_TOOL" auto-cpufreq --force reset
else
printf "%b\n" "${RED}auto-cpufreq is not installed, skipping removal.${RC}"
fi
}
apply_or_remove_auto_cpufreq() {
# Prompt user for action
printf "%b\n" "${YELLOW}Do you want to apply the auto-cpufreq tweak or remove it?${RC}"
printf "%b\n" "${YELLOW}1) Apply tweak${RC}"
printf "%b\n" "${YELLOW}2) Remove tweak${RC}"
printf "%b" "Enter your choice [1/2]: "
read -r choice
case $choice in
1)
configureAutoCpufreq
;;
2)
removeAutoCpufreqTweak
;;
*)
printf "%b\n" "${RED}Invalid choice. Exiting.${RC}"
exit 1
;;
esac
printf "%b\n" "${GREEN}auto-cpufreq setup complete.${RC}"
}
checkEnv
checkEscalationTool
installAutoCpufreq
apply_or_remove_auto_cpufreq

View File

@ -127,11 +127,6 @@ name = "Auto Login"
script = "auto-login.sh"
task_list = "DE setup"
[[data]]
name = "Auto Power Profiling"
script = "power-profile.sh"
task_list = "I"
[[data]]
name = "Bluetooth Manager"
description = "This utility is designed to manage bluetooth in your system"