diff options
Diffstat (limited to 'app.tsx')
| -rw-r--r-- | app.tsx | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -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"); }, }); |