aboutsummaryrefslogtreecommitdiff
path: root/.config/ags/service/asusctl.ts
diff options
context:
space:
mode:
Diffstat (limited to '.config/ags/service/asusctl.ts')
-rw-r--r--.config/ags/service/asusctl.ts52
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