aboutsummaryrefslogtreecommitdiff
path: root/.config/ags/style/style.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/style/style.ts
parent5928998af5404ae2be84c6cecc10ebf84bd3f3ed (diff)
downloaddotfiles-19120d4f9761c67d99ed1ce3da6084b83f5a49c9.tar.gz
dotfiles-19120d4f9761c67d99ed1ce3da6084b83f5a49c9.zip
Linux-specific dotfiles
Diffstat (limited to '.config/ags/style/style.ts')
-rw-r--r--.config/ags/style/style.ts103
1 files changed, 0 insertions, 103 deletions
diff --git a/.config/ags/style/style.ts b/.config/ags/style/style.ts
deleted file mode 100644
index a9b94fe..0000000
--- a/.config/ags/style/style.ts
+++ /dev/null
@@ -1,103 +0,0 @@
-/* eslint-disable max-len */
-import { type Opt } from "lib/option"
-import options from "options"
-import { bash, dependencies, sh } from "lib/utils"
-
-const deps = [
- "font",
- "theme",
- "bar.flatButtons",
- "bar.position",
- "bar.battery.charging",
- "bar.battery.blocks",
-]
-
-const {
- dark,
- light,
- blur,
- scheme,
- padding,
- spacing,
- radius,
- shadows,
- widget,
- border,
-} = options.theme
-
-const popoverPaddingMultiplier = 1.6
-
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
-const t = (dark: Opt<any> | string, light: Opt<any> | string) => scheme.value === "dark"
- ? `${dark}` : `${light}`
-
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
-const $ = (name: string, value: string | Opt<any>) => `$${name}: ${value};`
-
-const variables = () => [
- $("bg", blur.value ? `transparentize(${t(dark.bg, light.bg)}, ${blur.value / 100})` : t(dark.bg, light.bg)),
- $("fg", t(dark.fg, light.fg)),
-
- $("primary-bg", t(dark.primary.bg, light.primary.bg)),
- $("primary-fg", t(dark.primary.fg, light.primary.fg)),
-
- $("error-bg", t(dark.error.bg, light.error.bg)),
- $("error-fg", t(dark.error.fg, light.error.fg)),
-
- $("scheme", scheme),
- $("padding", `${padding}pt`),
- $("spacing", `${spacing}pt`),
- $("radius", `${radius}px`),
- $("transition", `${options.transition}ms`),
-
- $("shadows", `${shadows}`),
-
- $("widget-bg", `transparentize(${t(dark.widget, light.widget)}, ${widget.opacity.value / 100})`),
-
- $("hover-bg", `transparentize(${t(dark.widget, light.widget)}, ${(widget.opacity.value * .9) / 100})`),
- $("hover-fg", `lighten(${t(dark.fg, light.fg)}, 8%)`),
-
- $("border-width", `${border.width}px`),
- $("border-color", `transparentize(${t(dark.border, light.border)}, ${border.opacity.value / 100})`),
- $("border", "$border-width solid $border-color"),
-
- $("active-gradient", `linear-gradient(to right, ${t(dark.primary.bg, light.primary.bg)}, darken(${t(dark.primary.bg, light.primary.bg)}, 4%))`),
- $("shadow-color", t("rgba(0,0,0,.6)", "rgba(0,0,0,.4)")),
- $("text-shadow", t("2pt 2pt 2pt $shadow-color", "none")),
-
- $("popover-border-color", `transparentize(${t(dark.border, light.border)}, ${Math.max(((border.opacity.value - 1) / 100), 0)})`),
- $("popover-padding", `$padding * ${popoverPaddingMultiplier}`),
- $("popover-radius", radius.value === 0 ? "0" : "$radius + $popover-padding"),
-
- $("font-size", `${options.font.size}pt`),
- $("font-name", options.font.name),
-
- // etc
- $("charging-bg", options.bar.battery.charging),
- $("bar-battery-blocks", options.bar.battery.blocks),
- $("bar-position", options.bar.position),
- $("hyprland-gaps-multiplier", options.hyprland.gaps),
-]
-
-async function resetCss() {
- if (!dependencies("sass", "fd"))
- return
-
- try {
- const vars = `${TMP}/variables.scss`
- await Utils.writeFile(variables().join("\n"), vars)
-
- const fd = await sh(`fd ".scss" ${App.configDir}`)
- const files = fd.split(/\s+/).map(f => `@import '${f}';`)
- const scss = [`@import '${vars}';`, ...files].join("\n")
- const css = await bash`echo "${scss}" | sass --stdin`
-
- App.applyCss(css, true)
- } catch (error) {
- logError(error)
- }
-}
-
-Utils.monitorFile(App.configDir, resetCss)
-options.handler(deps, resetCss)
-await resetCss()