C++ / fmt (pull_request) Successful in 13s
C++ / build & lint (pull_request) Canceled after 14s
JS/TS / fmt & lint (pull_request) Canceled after 7s
Python / fmt & lint (pull_request) Canceled after 12s
Python / test & nuitka build (pull_request) Canceled after 8s
Rust / clippy & fmt (pull_request) Canceled after 0s
40 lines
688 B
QML
40 lines
688 B
QML
pragma Singleton
|
|
|
|
import QtQuick
|
|
import Quickshell
|
|
import qs.Components
|
|
import qs.Helpers
|
|
|
|
Singleton {
|
|
function allStates(): list<ScreenState> {
|
|
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 {}
|
|
}
|
|
}
|