mirror of
https://github.com/zephrynis/nix-flake.git
synced 2026-02-19 04:21:55 +00:00
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.
This commit is contained in:
39
home/ags-config/window/osd/modules/osdmode.ts
Normal file
39
home/ags-config/window/osd/modules/osdmode.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
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());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user