import Hyprland from "gi://AstalHyprland"; import { bind, Variable } from "astal"; export default function Workspace() { const hypr = Hyprland.get_default(); const lastWorkspaceId = Variable(hypr.focusedWorkspace.id); return <button hasFrame={false}> {bind(hypr, "focusedWorkspace").as(workspace => { // This is a hack; sometimes when disconnecting monitor // focusedWorkspace is null for a while. // Therefore an error occurs when trying to reference id. if (workspace) lastWorkspaceId.set(workspace.id) return `workspace ${workspace?.id ?? lastWorkspaceId.get()}` })} </button> }