diff --git a/Gifs/Cyrene.gif b/Gifs/Cyrene.gif new file mode 100644 index 0000000..5c3fe43 Binary files /dev/null and b/Gifs/Cyrene.gif differ diff --git a/Gifs/1.gif b/Gifs/Evernight.gif similarity index 100% rename from Gifs/1.gif rename to Gifs/Evernight.gif diff --git a/Modules/ConfigLoader.qml b/Modules/ConfigLoader.qml index 11e5dcf..f8a97b8 100644 --- a/Modules/ConfigLoader.qml +++ b/Modules/ConfigLoader.qml @@ -9,6 +9,9 @@ Singleton { id: root property alias gifFolder: adapter.gifFolder + property alias scaling: adapter.scaling + property alias maxWidth: adapter.maxWidth + property alias maxHeight: adapter.maxHeight property string configDir: Quickshell.env("HOME") + "/.config/I-DeskPet" property string configPath: configDir + "/config.json" @@ -48,6 +51,9 @@ Singleton { id: adapter property string gifFolder: Quickshell.shellDir + "/Gifs" + property var scaling: 1 + property int maxWidth: 200 + property int maxHeight: 200 } } } diff --git a/Modules/GetGifs.qml b/Modules/GetGifs.qml index f32a312..cee49e3 100644 --- a/Modules/GetGifs.qml +++ b/Modules/GetGifs.qml @@ -1,32 +1,32 @@ import Quickshell.Io Process { - id: getGifsProcess - required property string gifFolder - property list gifsList: [] + id: getGifsProcess + required property string gifFolder + property list gifsList: [] - command: ["find", gifFolder, "-type", "f", "-name", "*.gif"] + command: ["find", gifFolder, "-type", "f", "-name", "*.gif"] - stdout: StdioCollector { - onStreamFinished: { - var gifs = this.text.trim().split("\n") - if (gifs.length > 0 && gifs[0] !== "") { - getGifsProcess.gifsList = gifs - } else { - getGifsProcess.gifsList = [] - } - } - } + stdout: StdioCollector { + onStreamFinished: { + var gifs = this.text.trim().split("\n") + if (gifs.length > 0 && gifs[0] !== "") { + getGifsProcess.gifsList = gifs + } else { + getGifsProcess.gifsList = [] + } + } + } - function reload() { - gifsList = [] - running = false - running = true - } + function reload() { + gifsList = [] + running = false + running = true + } - onGifFolderChanged: { + onGifFolderChanged: { if (running) { - reload() + getGifsProcess.reload() } } } diff --git a/Modules/GifsLoader.qml b/Modules/GifsLoader.qml index 93cf8c0..060db61 100644 --- a/Modules/GifsLoader.qml +++ b/Modules/GifsLoader.qml @@ -1,13 +1,13 @@ pragma ComponentBehavior: Bound import QtQuick +import Quickshell.Io import qs.Modules Repeater { id: gifRepeater required property list gifsList - property int firstWidth - property int lastWidth + model: gifsList Item { id: gifItem @@ -26,8 +26,8 @@ Repeater { x: 0 y: Screen.height - height - width: Math.floor( gif.sourceSize.width / 1.25 ) - height: Math.floor( gif.sourceSize.height / 1.25 ) + width: Math.min( Math.floor( gif.sourceSize.width / ConfigLoader.scaling ), Math.floor( ConfigLoader.maxWidth / ConfigLoader.scaling )) + height: Math.min( Math.floor( gif.sourceSize.height / ConfigLoader.scaling ), Math.floor( ConfigLoader.maxHeight / ConfigLoader.scaling )) AnimatedImage { id: gif diff --git a/if.md b/if.md new file mode 100644 index 0000000..f725237 --- /dev/null +++ b/if.md @@ -0,0 +1,15 @@ +thingy macbobber: wayland quickshell sessionlock +Timer { +property bool hasReloaded +interval: 5000 +repeat: true + +onTriggered: { +if ( screenUnlocked && !hasReloaded ) { +hasReloaded = true; +petslocation = null; +petslocation = wherever; +} +return; +} +} diff --git a/shell.qml b/shell.qml index 79074c9..0bb4bf3 100644 --- a/shell.qml +++ b/shell.qml @@ -9,10 +9,11 @@ import qs.Modules PanelWindow { id: mainWindow - color: "transparent" + WlrLayershell.namespace: "IDeskPet-Pet" WlrLayershell.layer: WlrLayer.Overlay WlrLayershell.exclusionMode: ExclusionMode.Ignore surfaceFormat.opaque: false + color: "transparent" property bool onTop: true property list repeaterItems: []