import { App, Astal, Gtk, Gdk } from "astal/gtk3" import { Variable, GLib, bind } from "astal" import Hyprland from "gi://AstalHyprland" import Tray from "gi://AstalTray" import PowerMenu from "./PowerMenu" import Cpu from "./Cpu" const time = Variable("").poll(1000, "date") function Workspaces() { const hypr = Hyprland.get_default() return {bind(hypr, "workspaces").as(wss => wss .filter(ws => !(ws.id >= -99 && ws.id <= -2)) // filter out special workspaces .sort((a, b) => a.id - b.id) .map(ws => ( )) )} } function FocusedClient() { const hypr = Hyprland.get_default() const focused = bind(hypr, "focusedClient") return {focused.as(client => ( client && } function Time({ format = "%H:%M - %A %e" }) { const time = Variable("").poll(1000, () => GLib.DateTime.new_now_local().format(format)!) return