feat: add low transparency mode

This commit is contained in:
2 * r + 2 * t 2025-04-15 15:22:31 +10:00
parent 32c82f6479
commit 45f97d8f94
4 changed files with 12 additions and 4 deletions

View file

@ -22,8 +22,11 @@ const isLayer = (name: string) =>
["base", "mantle", "crust"].includes(name) || name.startsWith("surface") || name.startsWith("overlay");
const applyTransparency = (name: string, hex: string) => {
if (style.transparency.get() === "off" || !isLayer(name)) return hex;
const amount = style.transparency.get() === "high" ? 0.58 : 0.78;
const mode = style.transparency.get();
if (mode === "off" || !isLayer(name)) return hex;
let amount = 0.78;
if (mode === "low") amount = 0.88;
else if (mode === "high") amount = 0.58;
return `color.change(${hex}, $alpha: ${amount})`;
};

View file

@ -2,7 +2,7 @@ import { Astal } from "astal/gtk3";
export default {
style: {
transparency: "normal", // One of "off", "normal", "high"
transparency: "normal", // One of "off", "low", "normal", "high"
borders: true,
vibrant: false, // Extra saturation
},

View file

@ -7,7 +7,7 @@ const ARR = (type: string | string[]) => `array of ${typeof type === "string" ?
const OBJ_ARR = (shape: object) => ARR(JSON.stringify(shape));
export default {
"style.transparency": ["off", "normal", "high"],
"style.transparency": ["off", "low", "normal", "high"],
"style.borders": BOOL,
"style.vibrant": BOOL,
"config.notifyOnError": BOOL,

View file

@ -31,6 +31,11 @@ const transparencyActions = {
name: "Off",
description: "Completely opaque",
},
low: {
icon: "blur_circular",
name: "Low",
description: "Less transparent",
},
normal: {
icon: "blur_linear",
name: "Normal",