summaryrefslogtreecommitdiff
path: root/src/services
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-03-05 19:25:49 +1100
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-03-05 19:25:49 +1100
commitab80d8f78681ac46e19ad97e152b7d5afe1bf999 (patch)
tree8989038f53e89f80c27b80c824cb6a12c7fae10c /src/services
parentupdates: fix escaping markup (diff)
downloadcaelestia-shell-ab80d8f78681ac46e19ad97e152b7d5afe1bf999.tar.gz
caelestia-shell-ab80d8f78681ac46e19ad97e152b7d5afe1bf999.tar.bz2
caelestia-shell-ab80d8f78681ac46e19ad97e152b7d5afe1bf999.zip
launcher: fixes
Fix light/dark actions Fix delay when pressing enter
Diffstat (limited to 'src/services')
-rw-r--r--src/services/palette.ts17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/services/palette.ts b/src/services/palette.ts
index da7ef09..95915c0 100644
--- a/src/services/palette.ts
+++ b/src/services/palette.ts
@@ -1,4 +1,7 @@
-import { GLib, GObject, monitorFile, property, readFile, readFileAsync, register } from "astal";
+import { execAsync, GLib, GObject, monitorFile, property, readFile, readFileAsync, register } from "astal";
+import Schemes from "./schemes";
+
+export type ColourMode = "light" | "dark";
export type Hex = `#${string}`;
@@ -41,7 +44,7 @@ export default class Palette extends GObject.Object {
return this.instance;
}
- #mode: "light" | "dark";
+ #mode: ColourMode;
#scheme: string;
#flavour?: string;
#colours!: IPalette;
@@ -249,6 +252,16 @@ export default class Palette extends GObject.Object {
this.#notify();
}
+ switchMode(mode: ColourMode) {
+ execAsync(`caelestia scheme ${this.scheme} ${this.flavour ?? ""} ${mode}`).catch(console.error);
+ }
+
+ hasMode(mode: ColourMode) {
+ const scheme = Schemes.get_default().map[this.scheme];
+ if (scheme?.colours?.[mode]) return true;
+ return scheme?.flavours?.[this.flavour ?? ""]?.colours?.[mode] !== undefined;
+ }
+
constructor() {
super();