internal: add opacity mask component

This commit is contained in:
2 * r + 2 * t 2025-09-14 19:05:08 +10:00
parent 520e3194f4
commit 7427229297
3 changed files with 13 additions and 11 deletions

View file

@ -0,0 +1,9 @@
import Quickshell
import QtQuick
ShaderEffect {
required property Item source
required property Item maskSource
fragmentShader: Qt.resolvedUrl(`${Quickshell.shellDir}/assets/shaders/opacitymask.frag.qsb`)
}

View file

@ -18,11 +18,8 @@ Item {
readonly property string activeSpecial: (Config.bar.workspaces.perMonitorWorkspaces ? monitor : Hypr.focusedMonitor)?.lastIpcObject.specialWorkspace.name ?? ""
layer.enabled: true
layer.effect: ShaderEffect {
required property Item source
readonly property Item maskSource: mask
fragmentShader: Qt.resolvedUrl(`${Quickshell.shellDir}/assets/shaders/opacitymask.frag.qsb`)
layer.effect: OpacityMask {
maskSource: mask
}
Item {

View file

@ -4,7 +4,6 @@ import qs.components
import qs.components.effects
import qs.services
import qs.config
import Quickshell
import QtQuick
import QtQuick.Layouts
@ -27,11 +26,8 @@ Item {
sourceSize.height: height
layer.enabled: true
layer.effect: ShaderEffect {
required property Item source
readonly property Item maskSource: mask
fragmentShader: Qt.resolvedUrl(`${Quickshell.shellDir}/assets/shaders/opacitymask.frag.qsb`)
layer.effect: OpacityMask {
maskSource: mask
}
opacity: status === Image.Ready ? 1 : 0