Files
Zephrynis b2ae32a078 feat: make AGS colorshell configuration fully declarative
- Add complete colorshell v2.0.3 configuration to home/ags-config/
- Disable runner plugin and NightLight tile (incompatible with NixOS)
- Customize SCSS with full opacity (no transparency)
- Add dark pale blue color scheme in home/pywal-colors/
- Configure Papirus-Dark icon theme via home-manager
- Make ~/.config/ags/ immutable and managed by Nix store
- Auto-deploy pywal colors to ~/.cache/wal/colors.json

All AGS configuration is now reproducible and version controlled.
2025-11-04 21:36:38 +00:00

40 lines
958 B
TypeScript

import { Accessor } from "ags";
import { construct } from "../../../modules/utils";
import GObject, { gtype, property, register } from "ags/gobject";
@register({ GTypeName: "OSDMode" })
export default class OSDMode extends GObject.Object {
readonly #subs: Array<() => void> = [];
@property(String)
icon: string = "image-missing";
@property(Number)
value: number = 0;
@property(Number)
max: number = 100;
@property(gtype<string|null>(String))
text: string|null = null;
@property(Boolean)
available: boolean = true;
constructor(props: {
icon: string | Accessor<string>;
value: number | Accessor<number>;
max?: number | Accessor<number>;
text?: string | Accessor<string>;
available?: boolean | Accessor<boolean>;
}) {
super();
this.#subs = construct(this, props);
}
vfunc_dispose(): void {
this.#subs.forEach(s => s());
}
}