diff --git a/package/contents/ui/KomplexModel.qml b/package/contents/ui/KomplexModel.qml index 81a92c5..9533f31 100644 --- a/package/contents/ui/KomplexModel.qml +++ b/package/contents/ui/KomplexModel.qml @@ -30,6 +30,7 @@ import com.github.digitalartifex.komplex 1.0 as Komplex Item { + property var screenGeometry property real pixelRatio: 1 //This will (hopefully) be set to PlasmaCore.Units.devicePixelRatio in onCompleted property vector3d iResolution: Qt.vector3d(wallpaper.configuration.resolution_x ? wallpaper.configuration.resolution_x : 1920, wallpaper.configuration.resolution_y ? wallpaper.configuration.resolution_y : 1080, 1)//width, height, pixel aspect ratio property real iTime: 0 //used by most motion shaders @@ -70,7 +71,7 @@ Item WindowModel { id: windowModel - screenGeometry: mainItem.parent.screenGeometry + screenGeometry: mainItem.screenGeometry } Rectangle diff --git a/package/contents/ui/ShaderChannel.qml b/package/contents/ui/ShaderChannel.qml index 84628cb..78cddac 100644 --- a/package/contents/ui/ShaderChannel.qml +++ b/package/contents/ui/ShaderChannel.qml @@ -97,7 +97,7 @@ Item Loader { id: loader - anchors.fill: parent + anchors.fill: channel.invert ? null : parent sourceComponent: channelImage @@ -140,6 +140,9 @@ Item PropertyChanges { loader.sourceComponent: channelAudio + + loader.width: 512 + loader.height: 2 } } ] @@ -375,16 +378,20 @@ Item // UPDATE: This is not currently supported in QML, so we will need to implement this in C++ later Component { - id: audioChannel + id: channelAudio - Item + Rectangle { - + anchors.fill: parent + color: "black" Image { + width: 512 + height: 2 + anchors.top: channel.invert ? undefined : parent.top + anchors.bottom: channel.invert ? parent.bottom : undefined id: textureImage source: "image://audiotexture/frame" - anchors.fill: parent fillMode: Image.PreserveAspectFit } diff --git a/package/contents/ui/ShaderChannelConfiguration.qml b/package/contents/ui/ShaderChannelConfiguration.qml index acd4b40..718f9e1 100644 --- a/package/contents/ui/ShaderChannelConfiguration.qml +++ b/package/contents/ui/ShaderChannelConfiguration.qml @@ -208,15 +208,23 @@ Item // break; case ShaderChannel.Type.CubeMapChannel: window.currentFolder = window.cubemapFolder + window.tmp_source = "" break; case ShaderChannel.Type.ImageChannel: window.currentFolder = window.imageFolder + window.tmp_source = "" break; case ShaderChannel.Type.ShaderChannel: window.currentFolder = window.shaderFolder + window.tmp_source = "" break; case ShaderChannel.Type.VideoChannel: window.currentFolder = window.videoFolder + window.tmp_source = "" + break; + case ShaderChannel.Type.AudioChannel: + window.currentFolder = window.videoFolder + window.tmp_source = "Audio Channel" break; } } @@ -599,17 +607,22 @@ Item { case ShaderChannel.Type.CubeMapChannel: window.currentFolder = window.cubemapFolder + window.tmp_source = "" break; case ShaderChannel.Type.ImageChannel: window.currentFolder = window.imageFolder + window.tmp_source = "" break; case ShaderChannel.Type.ShaderChannel: window.currentFolder = window.shaderFolder + window.tmp_source = "" break; case ShaderChannel.Type.VideoChannel: window.currentFolder = window.videoFolder + window.tmp_source = "" break; case ShaderChannel.Type.AudioChannel: + window.tmp_source = "Audio Channel" break; } diff --git a/package/contents/ui/ShaderToyModel.qml b/package/contents/ui/ShaderToyModel.qml index fcbacf2..391882a 100644 --- a/package/contents/ui/ShaderToyModel.qml +++ b/package/contents/ui/ShaderToyModel.qml @@ -35,6 +35,7 @@ import org.kde.plasma.core as PlasmaCore Item { + property var screenGeometry property real pixelRatio: 1 //This will (hopefully) be set to PlasmaCore.Units.devicePixelRatio in onCompleted property vector3d iResolution: Qt.vector3d(wallpaper.configuration.resolution_x,wallpaper.configuration.resolution_y,1)//width, height, pixel aspect ratio property real iTime: 0 //used by most motion shaders @@ -59,7 +60,7 @@ Item WindowModel { id: windowModel - screenGeometry: mainItem.parent.screenGeometry + screenGeometry: mainItem.screenGeometry } Rectangle diff --git a/package/contents/ui/WindowModel.qml b/package/contents/ui/WindowModel.qml index e06771b..34f92d7 100644 --- a/package/contents/ui/WindowModel.qml +++ b/package/contents/ui/WindowModel.qml @@ -126,23 +126,23 @@ Item activity: activityInfo.currentActivity screenGeometry: wModel.screenGeometry filterByVirtualDesktop: true - filterByScreen: parent.activeScreenOnly + filterByScreen: wModel.activeScreenOnly filterByActivity: true filterMinimized: true onActiveTaskChanged: { - updateWindowsInfo(); + wModel.updateWindowsInfo(); } onDataChanged: { - updateWindowsInfo(); + wModel.updateWindowsInfo(); } onCountChanged: { - updateWindowsInfo(); + wModel.updateWindowsInfo(); } } diff --git a/package/contents/ui/main.qml b/package/contents/ui/main.qml index 3803e07..61617b5 100644 --- a/package/contents/ui/main.qml +++ b/package/contents/ui/main.qml @@ -1,3 +1,29 @@ + /* + * Komplex Wallpaper Engine + * Copyright (C) 2025 @DigitalArtifex | github.com/DigitalArtifex + * + * This file is responsible for loading the 2 different engine models + * + * -------------------------------------------------------------------------------------------------------- + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * This software uses some of the QML code from JaredTao/jared2020@163.com's ToyShader for Android. + * See: https://github.com/jaredtao/TaoShaderToy/ + */ +pragma ComponentBehavior: Bound + import QtCore import QtQuick import QtQml @@ -9,6 +35,7 @@ import org.kde.plasma.plasmoid WallpaperItem { + id: wallpaperItem Item { anchors.fill: parent @@ -46,6 +73,7 @@ WallpaperItem ShaderToyModel { + screenGeometry: wallpaperItem.parent.screenGeometry anchors.fill: parent } } @@ -56,6 +84,7 @@ WallpaperItem KomplexModel { + screenGeometry: wallpaperItem.parent.screenGeometry anchors.fill: parent } }