import type { Monitor } from "@/services/monitors"; import { bind, idle, register, Variable } from "astal"; import { App, Astal, Gdk, Gtk, Widget } from "astal/gtk3"; import { sidebar as config } from "config"; import Audio from "./audio"; import Connectivity from "./connectivity"; import Dashboard from "./dashboard"; import NotifPane from "./notifpane"; import Packages from "./packages"; import Time from "./time"; @register() export default class SideBar extends Widget.Window { readonly shown: Variable; constructor({ monitor }: { monitor: Monitor }) { super({ application: App, name: `sidebar${monitor.id}`, namespace: "caelestia-sidebar", monitor: monitor.id, anchor: Astal.WindowAnchor.LEFT | Astal.WindowAnchor.TOP | Astal.WindowAnchor.BOTTOM, exclusivity: Astal.Exclusivity.EXCLUSIVE, visible: false, }); const panes = [,