aboutsummaryrefslogtreecommitdiff
path: root/.config/ags/lib/matugen.ts
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2025-08-30 19:22:59 +0200
committersrdusr <trevorgray@srdusr.com>2025-08-30 19:22:59 +0200
commit19120d4f9761c67d99ed1ce3da6084b83f5a49c9 (patch)
treef234cad1bdad88114a63c9702144da487024967a /.config/ags/lib/matugen.ts
parent5928998af5404ae2be84c6cecc10ebf84bd3f3ed (diff)
downloaddotfiles-19120d4f9761c67d99ed1ce3da6084b83f5a49c9.tar.gz
dotfiles-19120d4f9761c67d99ed1ce3da6084b83f5a49c9.zip
Linux-specific dotfiles
Diffstat (limited to '.config/ags/lib/matugen.ts')
-rw-r--r--.config/ags/lib/matugen.ts113
1 files changed, 0 insertions, 113 deletions
diff --git a/.config/ags/lib/matugen.ts b/.config/ags/lib/matugen.ts
deleted file mode 100644
index dfccccf..0000000
--- a/.config/ags/lib/matugen.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-import wallpaper from "service/wallpaper"
-import options from "options"
-import { sh, dependencies } from "./utils"
-
-export default function init() {
- wallpaper.connect("changed", () => matugen())
- options.autotheme.connect("changed", () => matugen())
-}
-
-function animate(...setters: Array<() => void>) {
- const delay = options.transition.value / 2
- setters.forEach((fn, i) => Utils.timeout(delay * i, fn))
-}
-
-export async function matugen(
- type: "image" | "color" = "image",
- arg = wallpaper.wallpaper,
-) {
- if (!options.autotheme.value || !dependencies("matugen"))
- return
-
- const colors = await sh(`matugen --dry-run -j hex ${type} ${arg}`)
- const c = JSON.parse(colors).colors as { light: Colors, dark: Colors }
- const { dark, light } = options.theme
-
- animate(
- () => {
- dark.widget.value = c.dark.on_surface
- light.widget.value = c.light.on_surface
- },
- () => {
- dark.border.value = c.dark.outline
- light.border.value = c.light.outline
- },
- () => {
- dark.bg.value = c.dark.surface
- light.bg.value = c.light.surface
- },
- () => {
- dark.fg.value = c.dark.on_surface
- light.fg.value = c.light.on_surface
- },
- () => {
- dark.primary.bg.value = c.dark.primary
- light.primary.bg.value = c.light.primary
- options.bar.battery.charging.value = options.theme.scheme.value === "dark"
- ? c.dark.primary : c.light.primary
- },
- () => {
- dark.primary.fg.value = c.dark.on_primary
- light.primary.fg.value = c.light.on_primary
- },
- () => {
- dark.error.bg.value = c.dark.error
- light.error.bg.value = c.light.error
- },
- () => {
- dark.error.fg.value = c.dark.on_error
- light.error.fg.value = c.light.on_error
- },
- )
-}
-
-type Colors = {
- background: string
- error: string
- error_container: string
- inverse_on_surface: string
- inverse_primary: string
- inverse_surface: string
- on_background: string
- on_error: string
- on_error_container: string
- on_primary: string
- on_primary_container: string
- on_primary_fixed: string
- on_primary_fixed_variant: string
- on_secondary: string
- on_secondary_container: string
- on_secondary_fixed: string
- on_secondary_fixed_variant: string
- on_surface: string
- on_surface_variant: string
- on_tertiary: string
- on_tertiary_container: string
- on_tertiary_fixed: string
- on_tertiary_fixed_variant: string
- outline: string
- outline_variant: string
- primary: string
- primary_container: string
- primary_fixed: string
- primary_fixed_dim: string
- scrim: string
- secondary: string
- secondary_container: string
- secondary_fixed: string
- secondary_fixed_dim: string
- shadow: string
- surface: string
- surface_bright: string
- surface_container: string
- surface_container_high: string
- surface_container_highest: string
- surface_container_low: string
- surface_container_lowest: string
- surface_dim: string
- surface_variant: string
- tertiary: string
- tertiary_container: string
- tertiary_fixed: string
- tertiary_fixed_dim: string
-}