pragma Singleton import QtQuick import Quickshell import qs.Components import qs.Helpers Singleton { function allStates(): list { return [...states.instances]; } function anySidebarOpen(): bool { return states.instances.some(s => s.sidebar); } function forActive(): ScreenState { const mon = Hypr.focusedMonitor; for (const s of states.instances) if (Hypr.monitorFor(s.modelData) === mon) return s; return null; } function forScreen(screen: ShellScreen): ScreenState { for (const s of states.instances) if (s.modelData === screen) return s; return null; } Variants { id: states model: Quickshell.screens ScreenState { } } }