87 lines
2.2 KiB
QML
87 lines
2.2 KiB
QML
//@ pragma Env QS_NO_RELOAD_POPUP=1
|
|
//@ pragma AppId space.darkest.nova-shell
|
|
|
|
import "modules"
|
|
import "services"
|
|
import "dock" as Dock
|
|
import "lock" as Lock
|
|
import Quickshell
|
|
|
|
ShellRoot {
|
|
Lock.Lock {}
|
|
|
|
Variants {
|
|
model: Quickshell.screens
|
|
|
|
Scope {
|
|
id: scope
|
|
required property var modelData
|
|
|
|
readonly property bool _isRightmost: {
|
|
let maxX = -Infinity;
|
|
for (let i = 0; i < Quickshell.screens.length; i++) {
|
|
if (Quickshell.screens[i].x > maxX)
|
|
maxX = Quickshell.screens[i].x;
|
|
}
|
|
return scope.modelData.x >= maxX;
|
|
}
|
|
|
|
Bar {
|
|
screen: scope.modelData
|
|
}
|
|
|
|
Tooltip {
|
|
screen: scope.modelData
|
|
}
|
|
|
|
LazyLoader {
|
|
active: (Modules.notifications.maxPopups ?? 4) > 0
|
|
NotifPopup {
|
|
screen: scope.modelData
|
|
}
|
|
}
|
|
|
|
LazyLoader {
|
|
active: Modules.backgroundOverlay.enable
|
|
BackgroundOverlay {
|
|
screen: scope.modelData
|
|
}
|
|
}
|
|
|
|
LazyLoader {
|
|
active: Modules.overviewBackdrop.enable && NiriIpc.available
|
|
OverviewBackdrop {
|
|
screen: scope.modelData
|
|
}
|
|
}
|
|
|
|
LazyLoader {
|
|
active: Modules.lock.enable && (Modules.lock.screenshot ?? true)
|
|
ScreenCapture {
|
|
screen: scope.modelData
|
|
}
|
|
}
|
|
|
|
LazyLoader {
|
|
active: Modules.screenCorners.enable
|
|
ScreenCorners {
|
|
screen: scope.modelData
|
|
}
|
|
}
|
|
|
|
LazyLoader {
|
|
active: Modules.dock.enable && scope._isRightmost
|
|
Dock.AppletDock {
|
|
screen: scope.modelData
|
|
}
|
|
}
|
|
|
|
LazyLoader {
|
|
active: Modules.dock.enable && scope._isRightmost
|
|
Dock.DockEdgeTrigger {
|
|
screen: scope.modelData
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|