Skip to content

Commit

Permalink
refact: auto-cpufreq (#908)
Browse files Browse the repository at this point in the history
* rework: auto-cpufreq

* Revert changes to userguide auto-cpufreq
  • Loading branch information
jeevithakannan2 authored Nov 11, 2024
1 parent f400eee commit d860748
Show file tree
Hide file tree
Showing 4 changed files with 117 additions and 106 deletions.
111 changes: 111 additions & 0 deletions core/tabs/applications-setup/auto-cpufreq.sh
Original file line number Diff line number Diff line change
@@ -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
6 changes: 6 additions & 0 deletions core/tabs/applications-setup/tab_data.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
101 changes: 0 additions & 101 deletions core/tabs/utils/power-profile.sh

This file was deleted.

5 changes: 0 additions & 5 deletions core/tabs/utils/tab_data.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down

0 comments on commit d860748

Please sign in to comment.