import { createBinding, createComputed, With } from "ags"; import { Gdk, Gtk } from "ags/gtk4"; import AstalHyprland from "gi://AstalHyprland"; type WsButtonProps = { ws: AstalHyprland.Workspace; }; const Workspace = ({ ws }: WsButtonProps) => { const hyprland = AstalHyprland.get_default(); const focusedWorkspace = createBinding(hyprland, "focusedWorkspace"); const classNames = createComputed([focusedWorkspace], (fws) => { const classes = ["workspace-button"]; const active = fws.id == ws.id; active && classes.push("active"); const occupied = hyprland.get_workspace(ws.id)?.get_clients().length > 0; occupied && classes.push("occupied"); return classes; }); return (