Initial release of Lumen Wallpaper
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
import QtQuick
|
||||
import org.kde.plasma.plasmoid
|
||||
import "lumen"
|
||||
|
||||
WallpaperItem {
|
||||
id: root
|
||||
|
||||
readonly property var activeConfiguration: {
|
||||
if (typeof wallpaper !== "undefined" && wallpaper && wallpaper.configuration)
|
||||
return wallpaper.configuration
|
||||
return typeof configuration !== "undefined" ? configuration : null
|
||||
}
|
||||
|
||||
function option(name, fallback) {
|
||||
if (!activeConfiguration)
|
||||
return fallback
|
||||
const value = activeConfiguration[name]
|
||||
return value === undefined ? fallback : value
|
||||
}
|
||||
|
||||
VulkanWallpaper {
|
||||
id: engine
|
||||
anchors.fill: parent
|
||||
shaderUrl: {
|
||||
const path = String(root.option("shaderPath", ""))
|
||||
return path.length > 0 ? path : Qt.resolvedUrl("shaders/Lumen.frag")
|
||||
}
|
||||
targetFps: Number(root.option("targetFps", 30))
|
||||
speed: Number(root.option("speed", 1.0))
|
||||
running: Boolean(root.option("running", true))
|
||||
mouseEnabled: Boolean(root.option("mouseEnabled", true))
|
||||
watchSource: Boolean(root.option("watchSource", true))
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: "#111522"
|
||||
visible: engine.errorMessage.length > 0 && !engine.fallbackActive
|
||||
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
width: Math.min(parent.width * 0.8, 640)
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
wrapMode: Text.Wrap
|
||||
color: "#f3f5fa"
|
||||
font.pixelSize: 16
|
||||
text: "Lumen Wallpaper\n\n" + engine.errorMessage
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 80
|
||||
height: warningText.implicitHeight + 16
|
||||
color: "#cc421f35"
|
||||
visible: engine.fallbackActive && engine.errorMessage.length > 0
|
||||
|
||||
Text {
|
||||
id: warningText
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.margins: 12
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
wrapMode: Text.Wrap
|
||||
elide: Text.ElideRight
|
||||
maximumLineCount: 3
|
||||
color: "#ffd9e2"
|
||||
text: "Lumen: using the last working shader\n" + engine.errorMessage
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user