pragma ComponentBehavior: Bound import QtQuick import QtQuick.Layouts import QtQuick.Controls import Quickshell import Quickshell.Widgets import Qt5Compat.GraphicalEffects ShellRoot { FloatingWindow { color: "grey" implicitWidth: 840 implicitHeight: 845 maximumSize { width: 840 height: 845 } minimumSize { width: 840 height: 845 } ColumnLayout { anchors { centerIn: parent } Item { Layout.preferredWidth: 600 Layout.preferredHeight: 600 Image { id: backgroundContent fillMode: Image.PreserveAspectCrop source: "root:resources/scene.jpg" anchors.fill: parent } ClippingRectangle { id: glassContainer color: "transparent" radius: 20 anchors.centerIn: parent width: 400 height: 300 // Blur ShaderEffectSource { id: blurredBackground anchors.fill: parent sourceItem: backgroundContent sourceRect: Qt.rect(glassContainer.x, glassContainer.y, glassContainer.width, glassContainer.height) hideSource: false live: true } GaussianBlur { id: backgroundBlur anchors.fill: parent source: blurredBackground radius: 4 samples: 4 // transparentBorder: true } // Liquid glass shader warp ShaderEffect { anchors.fill: parent fragmentShader: "root:shaders/liquid-glass.frag.qsb" property real time: timeSlider.value property real warpStrength: warpSlider.value property real flowSpeed: speedSlider.value property real scale: 3.0 property real edgeReflectionStrength: edgeReflectionSlider.value property real edgeReflectionWidth: edgeWidthSlider.value property real cornerRadius: 0.1 property variant source: ShaderEffectSource { sourceItem: backgroundBlur hideSource: false live: true } } // Subtle glass overlay Rectangle { anchors.fill: parent color: "transparent" radius: 20 // Subtle inner glow Rectangle { anchors.fill: parent anchors.margins: 1 radius: parent.radius - 1 color: "transparent" border.width: 1 border.color: Qt.rgba(1, 1, 1, 0.05) } border.width: 1 border.color: Qt.rgba(1, 1, 1, 0.15) Rectangle { anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right anchors.margins: 1 height: parent.height * 0.3 radius: parent.radius - 1 gradient: Gradient { GradientStop { position: 0.0 color: Qt.rgba(1, 1, 1, 0.08) } GradientStop { position: 1.0 color: Qt.rgba(1, 1, 1, 0.0) } } } } } } RowLayout { Text { text: "Time:" } Slider { id: timeSlider from: 0 to: Math.PI * 2 value: Math.PI Layout.fillWidth: true Layout.preferredHeight: 30 } } RowLayout { Text { text: "Warp Strength:" } Slider { id: warpSlider from: 0 to: 10 value: 3 Layout.fillWidth: true Layout.preferredHeight: 30 } } RowLayout { Text { text: "Flow Speed:" } Slider { id: speedSlider from: 0 to: 1 value: 0.2 Layout.fillWidth: true Layout.preferredHeight: 30 } } RowLayout { Text { text: "Edge Reflection:" } Slider { id: edgeReflectionSlider from: 0 to: 1 value: 0.3 Layout.fillWidth: true Layout.preferredHeight: 30 } } RowLayout { Text { text: "Edge Width:" } Slider { id: edgeWidthSlider from: 0.01 to: 0.2 value: 0.1 Layout.fillWidth: true Layout.preferredHeight: 30 } } } } }