Prototype multi-window Qt reconstruction of Kyukurarin desktop MV effects.
Project description
Qt-Kurarin Python Prototype
Qt-powered Kyuukurarin (きゅうくらりん) on your desktop — animated sprites in sync with the music
This is a PyQt6 reconstruction track for validating the core effect of the original project:
- multiple independent top-level windows
- transparent backgrounds
- timeline-driven movement
- fade in / fade out
- always-on-top presentation
| Platform | Preview |
|---|---|
| Windows 11 | |
| Debian 13 + KDE Wayland | |
| macOS 14 Sonoma |
The current build reads:
data/script.txtresources/audio.mp3resources/*.png
Run from source
git clone https://github.com/VincentZyuApps/Qt-Kurarin
# or from gitee:
git clone https://gitee.com/vincent-zyu/qt-kurarin
cd Qt-Kurarin/python
uv venv --python 3.13
uv pip install -r ./requirements.txt
uv run python -m qt_kurarin.main [OPTIONS]
Run from PyPI
rm -r ./.venv/ # if already exist
uv venv --python 3.13
uv pip install qt-kurarin
# uv pip install qt-kurarin --index-url https://pypi.org/simple # use official index if mirrors are not latest
uv run qt-kurarin [OPTIONS]
Options
| Flag | Description | Default |
|---|---|---|
-f, --frame-style <STYLE> |
Window frame style: none, win11, mac |
none |
-v, --verbose |
Print live sprite playback details to the console | off |
-t, --textual-tui |
Show live playback details in a Textual TUI | off |
-n, --hide-taskbar-button |
Hide the taskbar/dock icon (Win: ✅, macOS: 🟡 may hide, Linux: ❓ depends on compositor) | off |
-l, --loudness <0-100> |
Audio loudness percentage | 100 |
Examples
uv run qt-kurarin
uv run qt-kurarin --help
uv run qt-kurarin --frame-style win11 --textual-tui
uv run qt-kurarin --frame-style mac --verbose
uv run qt-kurarin --loudness 60
💡 Generate your own wallpaper:
wallpaper/gen_wallpaper.py💡 Click the wallpaper image to view full resolution, then right-click to save.
Platform Notes
--hide-taskbar-button
Technical breakdown of how this flag behaves across operating systems:
Windows ✅ Reliable. Sets the Tool window flag, which maps to the Win32 WS_EX_TOOLWINDOW extended style. The window will not appear in the taskbar or Alt+Tab list, but remains always-on-top.
macOS 🟡 Likely works, not guaranteed. When combined with WindowStaysOnTopHint, macOS treats the window as a floating utility panel, which typically lacks a Dock icon. However, on some macOS versions, a single Tool window may still appear in the Dock.
Linux/Wayland ❌ Unlikely to work. Wayland compositors control taskbar behavior independently — KWin (KDE) ignores the Tool flag entirely, GNOME/Mutter partially ignores it, and wlroots-based compositors (Hyprland, Sway) generally ignore it as well.
Linux/X11 🟡 Depends on the window manager. KWin respects the Tool flag and hides the taskbar entry. GNOME/Mutter partially respects it. Tiling WMs (i3, bspwm) have no traditional taskbar concept, so the flag has no visible effect.
📝 This information is based on experience and online research. Actual behavior may vary depending on your specific OS version, desktop environment, and configuration.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qt_kurarin-0.2.2b5.tar.gz.
File metadata
- Download URL: qt_kurarin-0.2.2b5.tar.gz
- Upload date:
- Size: 14.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a36d454ac75168e9e1518730d43d712ce00c2770e4b282c39e8dcf43a3cba088
|
|
| MD5 |
3654ceb7373bd31eede32c442cd3b1e7
|
|
| BLAKE2b-256 |
cc00e22bd73311f369ccdace2ebd4d617b1d4e965b0516b1774a3ca2bf8e948d
|
Provenance
The following attestation bundles were made for qt_kurarin-0.2.2b5.tar.gz:
Publisher:
build.yml on VincentZyuApps/Qt-Kurarin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qt_kurarin-0.2.2b5.tar.gz -
Subject digest:
a36d454ac75168e9e1518730d43d712ce00c2770e4b282c39e8dcf43a3cba088 - Sigstore transparency entry: 1570541589
- Sigstore integration time:
-
Permalink:
VincentZyuApps/Qt-Kurarin@1311b22d00734b9e0690ed79e03110e261f1d689 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/VincentZyuApps
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@1311b22d00734b9e0690ed79e03110e261f1d689 -
Trigger Event:
push
-
Statement type:
File details
Details for the file qt_kurarin-0.2.2b5-py3-none-any.whl.
File metadata
- Download URL: qt_kurarin-0.2.2b5-py3-none-any.whl
- Upload date:
- Size: 14.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
101ceb5496dbdf0ec09f1ba53c3f8055b74f48d0763bebd63f44e3b6bd6c104f
|
|
| MD5 |
6f15e85c031ad24d7c931c7405630f92
|
|
| BLAKE2b-256 |
da84302a13f6a68a7757e39f145c323e6bf47e8a5f32f8b1d6187e6b57372a36
|
Provenance
The following attestation bundles were made for qt_kurarin-0.2.2b5-py3-none-any.whl:
Publisher:
build.yml on VincentZyuApps/Qt-Kurarin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qt_kurarin-0.2.2b5-py3-none-any.whl -
Subject digest:
101ceb5496dbdf0ec09f1ba53c3f8055b74f48d0763bebd63f44e3b6bd6c104f - Sigstore transparency entry: 1570541630
- Sigstore integration time:
-
Permalink:
VincentZyuApps/Qt-Kurarin@1311b22d00734b9e0690ed79e03110e261f1d689 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/VincentZyuApps
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@1311b22d00734b9e0690ed79e03110e261f1d689 -
Trigger Event:
push
-
Statement type: