summaryrefslogtreecommitdiff
path: root/src/services/gpu.ts
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-04-26 22:36:23 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-04-26 22:36:23 +1000
commit3c579d0e275cdaf6f2c9589abade94bde7905c82 (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /src/services/gpu.ts
parentschemes: fix (diff)
downloadcaelestia-shell-3c579d0e275cdaf6f2c9589abade94bde7905c82.tar.gz
caelestia-shell-3c579d0e275cdaf6f2c9589abade94bde7905c82.tar.bz2
caelestia-shell-3c579d0e275cdaf6f2c9589abade94bde7905c82.zip
clean
Remove everything
Diffstat (limited to 'src/services/gpu.ts')
-rw-r--r--src/services/gpu.ts63
1 files changed, 0 insertions, 63 deletions
diff --git a/src/services/gpu.ts b/src/services/gpu.ts
deleted file mode 100644
index 5ac2d8d..0000000
--- a/src/services/gpu.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-import { execAsync, Gio, GLib, GObject, interval, property, register } from "astal";
-import { gpu as config } from "config";
-
-@register({ GTypeName: "Gpu" })
-export default class Gpu extends GObject.Object {
- static instance: Gpu;
- static get_default() {
- if (!this.instance) this.instance = new Gpu();
-
- return this.instance;
- }
-
- readonly available: boolean = false;
- #usage: number = 0;
-
- @property(Number)
- get usage() {
- return this.#usage;
- }
-
- async calculateUsage() {
- const percs = (await execAsync("fish -c 'cat /sys/class/drm/card*/device/gpu_busy_percent'")).split("\n");
- return percs.reduce((a, b) => a + parseFloat(b), 0) / percs.length;
- }
-
- update() {
- this.calculateUsage()
- .then(usage => {
- this.#usage = usage;
- this.notify("usage");
- })
- .catch(console.error);
- }
-
- constructor() {
- super();
-
- let enumerator = null;
- try {
- enumerator = Gio.File.new_for_path("/sys/class/drm").enumerate_children(
- Gio.FILE_ATTRIBUTE_STANDARD_NAME,
- Gio.FileQueryInfoFlags.NONE,
- null
- );
- } catch {}
-
- let info: Gio.FileInfo | undefined | null;
- while ((info = enumerator?.next_file(null))) {
- if (GLib.file_test(`/sys/class/drm/${info.get_name()}/device/gpu_busy_percent`, GLib.FileTest.EXISTS)) {
- this.available = true;
- break;
- }
- }
-
- if (this.available) {
- let source = interval(config.interval.get(), () => this.update());
- config.interval.subscribe(i => {
- source.cancel();
- source = interval(i, () => this.update());
- });
- }
- }
-}