feat: add req handler

This commit is contained in:
tux
2025-06-18 06:16:54 +05:30
parent 3e38dab8b9
commit da9f8406a5
2 changed files with 17 additions and 1 deletions

4
app.ts
View File

@@ -1,13 +1,15 @@
import { App } from "astal/gtk4"; import { App } from "astal/gtk4";
import style from "./style.scss"; import style from "./style.scss";
import windows from "./windows"; import windows from "./windows";
import GLib from "gi://GLib?version=2.0"; import GLib from "gi://GLib";
import { reqHandler } from "./handler";
const icons = `${GLib.get_user_config_dir()}/tpanel/assets/icons`; const icons = `${GLib.get_user_config_dir()}/tpanel/assets/icons`;
App.start({ App.start({
css: style, css: style,
icons: icons, icons: icons,
requestHandler: reqHandler,
main() { main() {
windows.map((win) => App.get_monitors().map(win)); windows.map((win) => App.get_monitors().map(win));
}, },

14
handler.ts Normal file
View File

@@ -0,0 +1,14 @@
import { App } from "astal/gtk4";
import { WINDOW_NAME } from "./widgets/bar";
export const reqHandler = (req: string, res: (res: any) => void) => {
switch (req) {
case "toggle-bar":
const win = App.get_window(WINDOW_NAME);
win?.is_visible() ? win.hide() : win?.set_visible(true);
break;
default:
res("uknown command");
}
};