This commit is contained in:
2026-02-09 00:09:29 -08:00
parent add0b3d66f
commit 925b01939c
7 changed files with 270 additions and 125 deletions

89
Wall.qml Normal file
View File

@@ -0,0 +1,89 @@
import Quickshell
import Quickshell.Io
import QtQuick
import QtQuick.Effects
Variants {
model: Quickshell.screens
PanelWindow {
anchors {
top: true
right: true
bottom: true
left: true
}
aboveWindows: false
property var modelData
screen: modelData
color: "#222222"
RectangularShadow {
anchors.fill: imageWrapper
transform: imageWrapper.transform
radius: roundMask.radius
blur: 30
spread: 10
color: "#000000"
}
Item {
id: imageWrapper
anchors.fill: parent
layer.enabled: true
Image {
anchors.fill: parent
fillMode: Image.PreserveAspectCrop
source: {
const _source = path.text()
return _source.substring(0, _source.length - 1)
}
}
transform: [Scale {
origin {x: width/2; y: height/2}
xScale: 0.8
yScale: xScale
NumberAnimation on xScale {
id: scaleAnim
running: false
to: 1
duration: 800
easing.type: Easing.InOutCubic
}
}, Translate {
NumberAnimation on y {
from: 100
to: 0
duration: 500
easing.type: Easing.OutQuint
onFinished: scaleAnim.start()
}
}]
layer.effect: MultiEffect {
maskSource: roundMask
maskEnabled: true
}
NumberAnimation on opacity {
from: 0
to: 1
duration: 250
}
}
Rectangle {
id: roundMask
visible: false
antialiasing: true
anchors.fill: imageWrapper
radius: 40
layer.enabled: true
NumberAnimation on radius {
running: scaleAnim.running
to: 0
duration: 800
}
}
FileView {
id: path
path: Qt.resolvedUrl("wall.txt")
}
}
}