summaryrefslogtreecommitdiff
path: root/app.tsx
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-01-14 00:22:59 +1100
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-01-14 00:22:59 +1100
commite923d39cdeed4b42e747afc01b3420d6d89af6e6 (patch)
treea6e1c4fd3af32d2c8bcaf9d4f49226ced4c9c8c0 /app.tsx
parentless border (diff)
downloadcaelestia-shell-e923d39cdeed4b42e747afc01b3420d6d89af6e6.tar.gz
caelestia-shell-e923d39cdeed4b42e747afc01b3420d6d89af6e6.tar.bz2
caelestia-shell-e923d39cdeed4b42e747afc01b3420d6d89af6e6.zip
app launcher
Diffstat (limited to 'app.tsx')
-rw-r--r--app.tsx16
1 files changed, 14 insertions, 2 deletions
diff --git a/app.tsx b/app.tsx
index 27ca512..db766c8 100644
--- a/app.tsx
+++ b/app.tsx
@@ -2,7 +2,9 @@ import { execAsync, GLib, writeFileAsync } from "astal";
import { App } from "astal/gtk3";
import AstalHyprland from "gi://AstalHyprland";
import Bar from "./modules/bar";
+import Launcher from "./modules/launcher";
import NotifPopups from "./modules/notifpopups";
+import { PopupWindow } from "./utils/widgets";
const loadStyleAsync = async () => {
if (!GLib.file_test(`${SRC}/scss/scheme/_index.scss`, GLib.FileTest.EXISTS))
@@ -17,15 +19,25 @@ App.start({
main() {
loadStyleAsync().catch(console.error);
+ <Launcher />;
<NotifPopups />;
AstalHyprland.get_default().monitors.forEach(m => <Bar monitor={m} />);
console.log("Caelestia started");
},
requestHandler(request, res) {
+ let log = true;
+
if (request === "reload css") loadStyleAsync().catch(console.error);
- else return res("Unknown command: " + request);
- console.log(`Request handled: ${request}`);
+ else if (request.startsWith("toggle")) {
+ const window = App.get_window(request.slice(7));
+ if (window instanceof PopupWindow) window.toggle();
+ else App.toggle_window(request.slice(7));
+
+ log = false;
+ } else return res("Unknown command: " + request);
+
+ if (log) console.log(`Request handled: ${request}`);
res("OK");
},
});