diff --git a/app.ts b/app.ts index d94f7d6..6ed1e1a 100644 --- a/app.ts +++ b/app.ts @@ -1,13 +1,15 @@ import { App } from "astal/gtk4"; import style from "./style.scss"; 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`; App.start({ css: style, icons: icons, + requestHandler: reqHandler, main() { windows.map((win) => App.get_monitors().map(win)); }, diff --git a/handler.ts b/handler.ts new file mode 100644 index 0000000..174d870 --- /dev/null +++ b/handler.ts @@ -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"); + } +};