diff options
Diffstat (limited to '.config/ags/service/asusctl.ts')
| -rw-r--r-- | .config/ags/service/asusctl.ts | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/.config/ags/service/asusctl.ts b/.config/ags/service/asusctl.ts deleted file mode 100644 index 16acbd7..0000000 --- a/.config/ags/service/asusctl.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { sh } from "lib/utils" - -type Profile = "Performance" | "Balanced" | "Quiet" -type Mode = "Hybrid" | "Integrated" - -class Asusctl extends Service { - static { - Service.register(this, {}, { - "profile": ["string", "r"], - "mode": ["string", "r"], - }) - } - - available = !!Utils.exec("which asusctl") - #profile: Profile = "Balanced" - #mode: Mode = "Hybrid" - - async nextProfile() { - await sh("asusctl profile -n") - const profile = await sh("asusctl profile -p") - const p = profile.split(" ")[3] as Profile - this.#profile = p - this.changed("profile") - } - - async setProfile(prof: Profile) { - await sh(`asusctl profile --profile-set ${prof}`) - this.#profile = prof - this.changed("profile") - } - - async nextMode() { - await sh(`supergfxctl -m ${this.#mode === "Hybrid" ? "Integrated" : "Hybrid"}`) - this.#mode = await sh("supergfxctl -g") as Mode - this.changed("profile") - } - - constructor() { - super() - - if (this.available) { - sh("asusctl profile -p").then(p => this.#profile = p.split(" ")[3] as Profile) - sh("supergfxctl -g").then(m => this.#mode = m as Mode) - } - } - - get profiles(): Profile[] { return ["Performance", "Balanced", "Quiet"] } - get profile() { return this.#profile } - get mode() { return this.#mode } -} - -export default new Asusctl |
