diff --git a/Gifs/Evernight.gif b/Gifs/1.gif similarity index 100% rename from Gifs/Evernight.gif rename to Gifs/1.gif diff --git a/Gifs/Acheron.gif b/Gifs/Acheron.gif deleted file mode 100644 index 92ccb06..0000000 Binary files a/Gifs/Acheron.gif and /dev/null differ diff --git a/Modules/GetGifs.qml b/Modules/GetGifs.qml index c1d1e9a..13b00ed 100644 --- a/Modules/GetGifs.qml +++ b/Modules/GetGifs.qml @@ -1,4 +1,3 @@ -import Quickshell import Quickshell.Io Process { diff --git a/Modules/GifsLoader.qml b/Modules/GifsLoader.qml index 44b4c95..f904d9b 100644 --- a/Modules/GifsLoader.qml +++ b/Modules/GifsLoader.qml @@ -1,12 +1,15 @@ import QtQuick -import QtQuick.Controls import qs.Modules Repeater { id: gifRepeater required property list gifsList + property int firstWidth + property int lastWidth model: gifsList Item { + x: gifRepeater.itemAt(index - 1).x + gifRepeater.itemAt(index - 1).width + y: Screen.height - height width: gif.width height: gif.height AnimatedImage { @@ -18,4 +21,3 @@ Repeater { Mouse {} } } - diff --git a/Modules/GifsProcess.qml b/Modules/GifsProcess.qml new file mode 100644 index 0000000..9ea63a6 --- /dev/null +++ b/Modules/GifsProcess.qml @@ -0,0 +1,14 @@ +import Quickshell.Io + +Process { + id: getGifsProcess + property list gifsList: [] + command: ["sh", "-c", "/home/inorishio/.config/quickshell/QtDesktopPet/Scripts/gifs.sh"] + stdout: StdioCollector { + onStreamFinished: { + var gifs = this.text.trim().split("\n") + getGifsProcess.gifsList = gifs + } + } + +} diff --git a/Modules/Pet.qml b/Modules/Pet.qml new file mode 100644 index 0000000..dbb8745 --- /dev/null +++ b/Modules/Pet.qml @@ -0,0 +1,43 @@ +import QtQuick +import Quickshell.Io +import Quickshell.Wayland + +Rectangle { + id: root + width: imageEvernight.width + height: imageEvernight.height + + required property var path + + AnimatedImage { + id: imageEvernight + source: root.path + fillMode: Image.PreserveAspectFit + } + + IpcHandler { + target: "command" + + // Keybind swap layer + function toggleLayer(): void { + if ( !mainWindow.onTop ) { + mainWindow.WlrLayershell.layer = WlrLayer.Top + mainWindow.onTop = true + } else { + mainWindow.WlrLayershell.layer = WlrLayer.Bottom + mainWindow.onTop = false + } + } + + // Keybind swap overlay + function toggleOverlay(): void { + if (!mainWindow.onTop) { + mainWindow.WlrLayershell.layer = WlrLayer.Overlay + mainWindow.onTop = true + } else { + mainWindow.WlrLayershell.layer = WlrLayer.Bottom + mainWindow.onTop = false + } + } + } +} diff --git a/Scripts/files.sh b/Scripts/files.sh old mode 100644 new mode 100755 index b41c427..6ba90c5 --- a/Scripts/files.sh +++ b/Scripts/files.sh @@ -1,3 +1,3 @@ #!/bin/zsh -find "/mnt/c/Users/DG2210/OneDrive - Gemeente Vught/Documenten/Git/QtDesktopPet/Gifs" -type f +find "$HOME/.config/quickshell/QtDesktopPet/Gifs/" -type f diff --git a/packages.txt b/packages.txt deleted file mode 100644 index 5e1715f..0000000 --- a/packages.txt +++ /dev/null @@ -1,535 +0,0 @@ -abseil-cpp 20250814.1-1 -acl 2.3.2-1 -adwaita-cursors 49.0-1 -adwaita-fonts 49.0-2 -adwaita-icon-theme 49.0-1 -adwaita-icon-theme-legacy 46.2-3 -alsa-lib 1.2.14-2 -alsa-topology-conf 1.2.5.1-4 -alsa-ucm-conf 1.2.14-2 -aom 3.13.1-1 -appstream 1.1.1-1 -arch-install-scripts 31-1 -archlinux-keyring 20251012-1 -argon2 20190702-6 -at-spi2-core 2.58.1-1 -attr 2.5.2-1 -audit 4.0.5-1 -autoconf 2.72-1 -automake 1.18.1-1 -avahi 1:0.9rc2-1 -base 3-2 -base-devel 1-2 -bash 5.3.3-2 -binutils 2.45+r29+g2b2e51a31ec7-1 -bison 3.8.2-8 -bluez-libs 5.84-1 -brotli 1.1.0-3 -btop 1.4.5-1 -bubblewrap 0.11.0-1 -bzip2 1.0.8-6 -c-ares 1.34.5-1 -ca-certificates 20240618-1 -ca-certificates-mozilla 3.117-1 -ca-certificates-utils 20240618-1 -cairo 1.18.4-1 -clang 21.1.4-2 -clangbincc 0.1-1 -claude-code-debug 2.0.8-1 -cli11 2.6.0-1 -cmake 4.1.2-1 -compiler-rt 21.1.4-2 -coreutils 9.8-2 -cppdap 1.58.0-2 -cryptsetup 2.8.1-1 -curl 8.16.0-1 -dav1d 1.5.1-1 -db5.3 5.3.28-5 -dbus 1.16.2-1 -dbus-broker 37-2 -dbus-broker-units 37-2 -dconf 0.49.0-1 -debugedit 5.2-1 -default-cursors 3-1 -desktop-file-utils 0.28-1 -device-mapper 2.03.35-1 -diffutils 3.12-2 -dotnet-host 9.0.9.sdk110-1 -dotnet-runtime 9.0.9.sdk110-1 -dotnet-sdk 9.0.9.sdk110-1 -dotnet-targeting-pack 9.0.9.sdk110-1 -double-conversion 3.3.1-1 -duktape 2.7.0-7 -e2fsprogs 1.47.3-1 -egl-wayland 4:1.1.20-1 -eglexternalplatform 1.2.1-1 -ell 0.80-1 -expat 2.7.3-1 -eza 0.23.4-1 -fabric-cli-git 0.0.2-1 -fabric-cli-git-debug 0.0.2-1 -fakeroot-tcp 1.37.1.2-1 -fakeroot-tcp-debug 1.37.1.2-1 -fastfetch 2.54.0-1 -ffmpeg 2:8.0-3 -fftw 3.3.10-7 -file 5.46-5 -filesystem 2025.10.12-1 -findutils 4.10.0-3 -flac 1.5.0-1 -flex 2.6.4-5 -fontconfig 2:2.17.1-1 -freeglut 3.6.0-2 -freetype2 2.14.1-1 -fribidi 1.0.16-2 -gawk 5.3.2-1 -gc 8.2.10-2 -gcc 15.2.1+r22+gc4e96a094636-1 -gcc-libs 15.2.1+r22+gc4e96a094636-1 -gdbm 1.26-1 -gdk-pixbuf2 2.44.4-1 -gettext 0.26-1 -giflib 5.2.2-2 -git 2.51.1-2 -git-credential-oauth 0.16.0-1 -git-credential-oauth-debug 0.16.0-1 -glib 1.2.10-18 -glib-debug 1.2.10-18 -glib-networking 1:2.80.1-1 -glib2 2.86.1-1 -glibc 2.42+r17+gd7274d718e6f-1 -glslang 1:1.4.328.1-1 -glu 9.0.3-2 -glycin 2.0.4-1 -gmp 6.3.0-2 -gnu-free-fonts 20120503-8 -gnulib-l10n 20241231-1 -gnupg 2.4.8-3 -gnutls 3.8.10-1 -go 2:1.25.3-1 -gobject-introspection 1.86.0-1 -gobject-introspection-runtime 1.86.0-1 -google-breakpad v2024.02.16-2 -gperftools 2.17.2-1 -gpgme 2.0.1-1 -gpm 1.20.7.r38.ge82d1a6-6 -granite7 7.6.0-1 -graphene 1.10.8-2 -graphite 1:1.3.14-5 -grep 3.12-2 -groff 1.23.0-7 -gsettings-desktop-schemas 49.1-1 -gsettings-system-schemas 49.1-1 -gsm 1.0.22-2 -gssdp 1.6.4-1 -gst-plugins-bad-libs 1.26.7-1 -gst-plugins-base-libs 1.26.7-1 -gstreamer 1.26.7-1 -gtest 1.17.0-1 -gtk 1.2.10-20 -gtk-debug 1.2.10-20 -gtk-layer-shell 0.9.2-1 -gtk-update-icon-cache 1:4.20.2-3 -gtk3 1:3.24.51-1 -gtk4 1:4.20.2-3 -gtk4-layer-shell 1.2.0-1 -guile 3.0.10-1 -gupnp 1:1.6.9-1 -gupnp-igd 1.6.0-2 -gzip 1.14-2 -harfbuzz 12.1.0-1 -hicolor-icon-theme 0.18-1 -hidapi 0.15.0-1 -highway 1.3.0-1 -hunspell 1.7.2-2 -hwdata 0.400-1 -hyprshell-debug 4.7.1-1 -iana-etc 20250612-1 -icu 76.1-1 -inetutils 2.6-1 -iproute2 6.17.0-1 -iptables 1:1.8.11-2 -iputils 20250605-1 -iso-codes 4.18.0-1 -iwd 3.10-1 -jack2 1.9.22-1 -jansson 2.14.1-1 -jasper 4.2.8-1 -jbigkit 2.1-8 -jemalloc 1:5.3.0-5 -json-c 0.18-2 -json-glib 1.10.8-1 -jsoncpp 1.9.6-3 -kbd 2.9.0-1 -keyutils 1.6.3-3 -kmod 34.2-1 -krb5 1.21.3-2 -l-smash 2.14.5-4 -lame 3.100-6 -layer-shell-qt 6.5.0-1 -lcms2 2.17-1 -leancrypto 1.5.1-1 -less 1:685-1 -libadwaita 1:1.8.1-1 -libarchive 3.8.2-1 -libass 0.17.4-1 -libassuan 3.0.0-1 -libasyncns 1:0.8+r3+g68cd5af-3 -libavc1394 0.5.4-7 -libb2 0.98.1-3 -libbluray 1.4.0-2 -libbpf 1.5.1-1 -libbs2b 3.1.0-9 -libcap 2.76-1 -libcap-ng 0.8.5-3 -libcloudproviders 0.3.6-2 -libcolord 1.4.8-1 -libcups 2:2.4.14-1 -libdaemon 0.14-6 -libdatrie 0.2.13-4 -libdbusmenu-glib 16.04.0.r498-2 -libdbusmenu-gtk3 16.04.0.r498-2 -libdecor 0.2.4-1 -libdeflate 1.24-1 -libdovi 3.3.2-1 -libdrm 2.4.127-1 -libdvdnav 7.0.0-1 -libdvdread 7.0.0-1 -libedit 20250104_3.1-1 -libelf 0.193-5 -libepoxy 1.5.10-3 -libevdev 1.13.5-1 -libevent 2.1.12-4 -libffi 3.5.2-1 -libfontenc 1.1.8-1 -libfyaml 0.9-1 -libgcrypt 1.11.2-1 -libgee 0.20.8-1 -libgirepository 1.86.0-1 -libgit2 1:1.9.1-1 -libglvnd 1.7.0-3 -libgpg-error 1.56-1 -libgudev 238-3 -libice 1.1.2-1 -libidn2 2.3.7-1 -libiec61883 1.2.0-9 -libinput 1.29.2-1 -libisl 0.27-1 -libjpeg-turbo 3.1.2-1 -libjxl 0.11.1-5 -libksba 1.6.7-2 -libldap 2.6.10-2 -libluv 1.48.0_2-1 -libmng 2.0.3-4 -libmnl 1.0.5-2 -libmodplug 0.8.9.0-6 -libmpc 1.3.1-2 -libnetfilter_conntrack 1.0.9-2 -libnfnetlink 1.0.2-2 -libnftnl 1.3.0-1 -libnghttp2 1.67.1-1 -libnghttp3 1.12.0-1 -libngtcp2 1.17.0-1 -libnice 0.1.22-2 -libnl 3.11.0-1 -libnsl 2.0.1-1 -libogg 1.3.6-1 -libopenmpt 0.8.3-1 -libp11-kit 0.25.10-2 -libpcap 1.10.5-3 -libpciaccess 0.18.1-2 -libpgm 5.3.128-3 -libpipewire 1:1.4.9-1 -libplacebo 7.351.0-3 -libpng 1.6.50-1 -libproxy 0.5.11-1 -libpsl 0.21.5-2 -libpulse 17.0+r88+geee0e8f22-1 -libraw1394 2.1.2-4 -librsvg 2:2.61.2-2 -libsamplerate 0.2.2-3 -libsasl 2.1.28-5 -libseccomp 2.5.6-1 -libsecret 0.21.7-1 -libsm 1.2.6-1 -libsndfile 1.2.2-4 -libsodium 1.0.20-1 -libsoup3 3.6.5-1 -libsoxr 0.1.3-4 -libspng 0.7.4-2 -libssh 0.11.3-1 -libssh2 1.11.1-1 -libstemmer 3.0.1-1 -libsysprof-capture 49.0-1 -libtasn1 4.20.0-1 -libthai 0.1.29-3 -libtheora 1.2.0-1 -libtiff 4.7.1-1 -libtirpc 1.3.7-1 -libtool 2.6.0-1 -libunibreak 6.1-1 -libunistring 1.3-1 -libunwind 1.8.2-1 -libusb 1.0.29-1 -libutempter 1.2.3-1 -libutf8proc 2.10.0-2 -libuv 1.51.0-1 -libva 2.22.0-1 -libvdpau 1.5-3 -libverto 0.3.2-5 -libvorbis 1.3.7-4 -libvpl 2.15.0-1 -libvpx 1.15.2-2 -libvterm 0.3.3-2 -libwacom 2.16.1-1 -libwebp 1.6.0-2 -libx11 1.8.12-1 -libxau 1.0.12-1 -libxcb 1.17.0-1 -libxcomposite 0.4.6-2 -libxcrypt 4.4.38-1 -libxcursor 1.2.3-1 -libxcvt 0.1.3-1 -libxdamage 1.1.6-2 -libxdmcp 1.1.5-1 -libxext 1.3.6-1 -libxfixes 6.0.2-1 -libxfont2 2.0.7-1 -libxft 2.3.9-1 -libxi 1.8.2-1 -libxinerama 1.1.5-2 -libxkbcommon 1.12.2-1 -libxkbcommon-x11 1.12.2-1 -libxkbfile 1.1.3-1 -libxml2 2.15.1-1 -libxmlb 0.3.24-1 -libxmu 1.2.1-1 -libxrandr 1.5.4-1 -libxrender 0.9.12-1 -libxshmfence 1.3.3-1 -libxslt 1.1.43-2 -libxt 1.3.1-1 -libxtst 1.2.5-1 -libxv 1.0.13-1 -libxxf86vm 1.1.6-1 -licenses 20240728-1 -linux-api-headers 6.16-2 -lld 21.1.4-1 -llhttp 9.2.1-2 -llvm-libs 21.1.4-1 -lm_sensors 1:3.6.2-1 -lmdb 0.9.33-1 -lua51-lpeg 1.1.0-4 -luajit 2.1.1760617492-1 -lz4 1:1.10.0-2 -lzo 2.10-5 -m4 1.4.20-1 -make 4.4.1-2 -md4c 0.5.2-1 -mesa 1:25.2.5-2 -mesa-utils 9.0.0-7 -meson 1.9.1-2 -minizip 1:1.3.1-2 -mpdecimal 4.0.1-1 -mpfr 4.2.2-1 -mpg123 1.33.2-1 -msgpack-c 6.1.0-2 -mtdev 1.1.7-1 -nano 8.6-1 -ncurses 6.5-4 -neovim 0.11.4-1 -netstandard-targeting-pack 9.0.9.sdk110-1 -nettle 3.10.2-1 -ninja 1.13.1-2 -node-gyp 11.5.0-1 -nodejs 25.0.0-1 -nodejs-nopt 7.2.1-1 -npm 11.6.2-1 -npth 1.8-1 -nspr 4.37-1 -nss 3.117-1 -ocl-icd 2.3.3-1 -oh-my-posh 27.3.1-1 -oh-my-posh-debug 27.3.1-1 -opencore-amr 0.1.6-2 -openjpeg2 2.5.4-1 -openssl 3.6.0-1 -openxr 1.1.53-1 -opus 1.5.2-1 -orc 0.4.41-1 -p11-kit 0.25.10-2 -pacman 7.0.0.r6.gc685ae6-6 -pacman-mirrorlist 20251021-1 -pacseek 1.8.5-1 -pacseek-debug 1.8.5-1 -pam 1.7.1-1 -pambase 20250719-1 -pango 1:1.57.0-2 -patch 2.8-1 -pciutils 3.14.0-1 -pcre2 10.47-1 -pcsclite 2.4.0-3 -perl 5.42.0-1 -perl-error 0.17030-2 -perl-mailtools 2.22-2 -perl-mime-charset 1.013.1-5 -perl-timedate 2.33-8 -perl-unicode-linebreak 2019.001-9 -perl-yaml-tiny 1.76-2 -pinentry 1.3.2-2 -pipewire 1:1.4.9-1 -pixman 0.46.4-1 -pkgconf 2.5.1-1 -po4a 0.73-1 -polkit 126-2 -popt 1.19-2 -portaudio 1:19.7.0-3 -procps-ng 4.0.5-3 -protobuf 32.1-1 -psmisc 23.7-1 -python 3.13.7-1 -python-autocommand 2.2.2-7 -python-jaraco.collections 5.1.0-1 -python-jaraco.context 6.0.1-1 -python-jaraco.functools 4.1.0-1 -python-jaraco.text 4.0.0-2 -python-mako 1.3.10-1 -python-markdown 3.9.0-1 -python-markupsafe 3.0.2-1 -python-more-itertools 10.8.0-1 -python-packaging 25.0-1 -python-platformdirs 4.5.0-1 -python-setuptools 1:80.9.0-2 -python-tqdm 4.67.1-2 -python-wheel 0.45.1-1 -qml-lsp-git rjienrlwey.number.two.r33.g19c7dec-3 -qml-lsp-git-debug rjienrlwey.number.two.r33.g19c7dec-3 -qt6-3d 6.10.0-1 -qt6-5compat 6.10.0-1 -qt6-base 6.10.0-2 -qt6-charts 6.10.0-1 -qt6-connectivity 6.10.0-1 -qt6-datavis3d 6.10.0-1 -qt6-declarative 6.10.0-2 -qt6-doc 6.10.0-1 -qt6-examples 6.10.0-1 -qt6-graphs 6.10.0-1 -qt6-grpc 6.10.0-1 -qt6-httpserver 6.10.0-1 -qt6-imageformats 6.10.0-1 -qt6-languageserver 6.10.0-1 -qt6-location 6.10.0-1 -qt6-lottie 6.10.0-1 -qt6-multimedia 6.10.0-2 -qt6-multimedia-ffmpeg 6.10.0-2 -qt6-networkauth 6.10.0-1 -qt6-positioning 6.10.0-1 -qt6-quick3d 6.10.0-1 -qt6-quick3dphysics 6.10.0-1 -qt6-quickeffectmaker 6.10.0-1 -qt6-quicktimeline 6.10.0-1 -qt6-remoteobjects 6.10.0-1 -qt6-scxml 6.10.0-1 -qt6-sensors 6.10.0-1 -qt6-serialbus 6.10.0-1 -qt6-serialport 6.10.0-1 -qt6-shadertools 6.10.0-1 -qt6-speech 6.10.0-1 -qt6-svg 6.10.0-1 -qt6-tools 6.10.0-2 -qt6-translations 6.10.0-1 -qt6-virtualkeyboard 6.10.0-1 -qt6-webchannel 6.10.0-1 -qt6-webengine 6.10.0-1 -qt6-websockets 6.10.0-1 -qt6-webview 6.10.0-1 -rav1e 0.8.1-2 -re2 1:20240702-7 -readline 8.3.001-1 -redhat-fonts 4.1.0-1 -rhash 1.4.6-1 -rubberband 4.0.0-1 -rust 1:1.90.0-4 -sddm 0.21.0-6 -sddm-silent-theme 1.3.5-2 -sdl2-compat 2.32.56-2 -sdl3 3.2.24-1 -sed 4.9-3 -semver 7.7.3-1 -shaderc 2025.4-2 -shadow 4.18.0-1 -shared-mime-info 2.4-2 -simdjson 1:4.0.7-1 -snappy 1.2.2-2 -speex 1.2.1-2 -speexdsp 1.2.1-2 -spirv-tools 1:1.4.328.1-1 -sqlite 3.50.4-2 -srt 1.5.4-1 -sudo 1.9.17.p2-1 -svt-av1 3.1.2-1 -swaync 0.12.2-1 -systemd 258.1-1 -systemd-libs 258.1-1 -systemd-sysvcompat 258.1-1 -tar 1.35-2 -texinfo 7.2-1 -tinysparql 3.10.1-1 -tpm2-tss 4.1.3-1 -tree-sitter 0.25.10-1 -tree-sitter-c 0.24.1-1 -tree-sitter-lua 0.4.0-1 -tree-sitter-markdown 0.5.1-1 -tree-sitter-query 0.7.0-1 -tree-sitter-vim 0.7.0-1 -tree-sitter-vimdoc 4.0.0-1 -tslib 1.23-1 -tzdata 2025b-1 -unibilium 2.1.2-1 -unzip 6.0-23 -util-linux 2.41.2-1 -util-linux-libs 2.41.2-1 -v4l-utils 1.32.0-1 -vapoursynth 72-1 -vid.stab 1.1.1-2 -vim 9.1.1841-1 -vim-runtime 9.1.1841-1 -vmaf 3.0.0-1 -vulkan-icd-loader 1.4.328.1-1 -wayland 1.24.0-1 -wayland-protocols 1.45-1 -which 2.23-1 -x264 3:0.165.r3222.b35605a-2 -x265 4.1-1 -xcb-proto 1.17.0-3 -xcb-util 0.4.1-2 -xcb-util-cursor 0.1.6-1 -xcb-util-image 0.4.1-3 -xcb-util-keysyms 0.4.1-5 -xcb-util-renderutil 0.3.10-2 -xcb-util-wm 0.4.2-2 -xdg-utils 1.2.1-1 -xf86-input-libinput 1.5.0-1 -xkeyboard-config 2.46-1 -xorg-fonts-encodings 1.1.0-1 -xorg-server 21.1.18-2 -xorg-server-common 21.1.18-2 -xorg-setxkbmap 1.3.4-2 -xorg-xauth 1.1.4-1 -xorg-xkbcomp 1.4.7-1 -xorg-xprop 1.2.8-1 -xorg-xset 1.2.5-2 -xorgproto 2024.1-2 -xvidcore 1.3.7-3 -xxhash 0.8.3-1 -xz 5.8.1-1 -yay-bin 12.5.2-1 -yay-bin-debug 12.5.2-1 -yyjson 0.12.0-1 -zeromq 4.3.5-2 -zimg 3.0.5-1 -zlib 1:1.3.1-2 -zlib-ng 2.2.5-1 -zoxide 0.9.8-2 -zsh 5.9-5 -zstd 1.5.7-2 diff --git a/shell.qml b/shell.qml index 58466ed..751c627 100644 --- a/shell.qml +++ b/shell.qml @@ -1,7 +1,6 @@ pragma ComponentBehavior: Bound import QtQuick import Quickshell -import Quickshell.Io import Quickshell.Wayland import qs.Modules @@ -14,13 +13,7 @@ PanelWindow { implicitHeight: Screen.height property bool onTop: true - property bool setMask: true - GetGifs { - id: getGifs - running: true - } - anchors { left: true bottom: true @@ -33,15 +26,30 @@ PanelWindow { bottom: 9 } - Rectangle { - color: mainWindow.color - anchors.centerIn: parent - implicitWidth: Screen.width - implicitHeight: Screen.height + GetGifs { + id: getGifs + running: true + } - GifsLoader { - id: gifloader - gifsList: getGifs.gifsList + GifsLoader { + id: gifloader + gifsList: getGifs.gifsList + onItemAdded: { + mainWindow.petRegion( item ) } } + + function petRegion( itemObject ) { + let newregion = regionComponent.createObject( pets, { "item": itemObject }) + pets.regions.push( newregion ) + } + + Component { + id: regionComponent + Region { } + } + + mask: Region { + id: pets + } }