Skip to main content

> 🖥️ Qt-powered Kyuukurarin (きゅうくらりん) on your desktop — animated sprites in sync with the music 🎵

Project description

Qt-Kurarin

🎬 Qt-Kurarin Python Prototype

🖥️ Qt-powered Kyuukurarin (きゅうくらりん) on your desktop — animated sprites in sync with the music 🎵

📖 English 📖 简体中文(大陆) 📖 日本語

GitHub Gitee

PyPI PyPI version PyPI downloads

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 Windows 11
Debian 13 + KDE Wayland Debian 13 + KDE
Ubuntu 24.04 + LXQt X11 Ubuntu 24.04 + LXQt
macOS 14 Sonoma macOS 14

The current build reads:

  • data/script.txt
  • resources/audio.mp3
  • resources/*.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 is recommended
# https://docs.astral.sh/uv/getting-started/installation/
# https://gitee.com/wangnov/uv-custom/releases
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]
# qt-kurarin is also a regular Python package; run it with:
uv run python -m qt_kurarin.main [OPTIONS]

⚙️ Options

Flag Description Default
-s, --frame-style <STYLE> Window frame style: none, win11, mac none
-c, --console-mode <MODE> Console output mode: tui (Textual TUI), debug (verbose console), silent (no output) tui
-n, --hide-taskbar-button Hide the taskbar/dock icon (Win: ✅, macOS: 🟡 may hide, Linux: ❓ depends on compositor) off
-f, --fps <rate> Target frame rate for the animation loop 60
-l, --loudness <0-100> Audio loudness percentage 100

💡 Examples

uv run qt-kurarin
uv run qt-kurarin --help
uv run qt-kurarin --fps 30
uv run qt-kurarin --loudness 60
uv run qt-kurarin --frame-style mac
uv run qt-kurarin --console-mode silent
uv run qt-kurarin --hide-taskbar-button
uv run qt-kurarin --frame-style mac --console-mode silent
uv run qt-kurarin --frame-style win11 --console-mode debug --loudness 20
uv run qt-kurarin --frame-style none --console-mode debug --loudness 80 --fps 30 --hide-taskbar-button

🖼️ Wallpaper

💡 Generate your own wallpaper: docs/images/wallpaper/gen_wallpaper.py 💡 Click the wallpaper image to view full resolution, then right-click to save. 🎨 Wallpaper size: 1600×900 px — base color: #FFD0D8 (soft pink)

wallpaper

📝 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qt_kurarin-0.2.4b2.tar.gz (14.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qt_kurarin-0.2.4b2-py3-none-any.whl (14.2 MB view details)

Uploaded Python 3

File details

Details for the file qt_kurarin-0.2.4b2.tar.gz.

File metadata

  • Download URL: qt_kurarin-0.2.4b2.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

Hashes for qt_kurarin-0.2.4b2.tar.gz
Algorithm Hash digest
SHA256 ba4c08973ffe2316eafaf65609da43fc9289e21242b3643242ac27542d1eea0c
MD5 d684e6aa3f03ee35020aa402d7c24268
BLAKE2b-256 b02a1abe5a4905b5fc9bd408b34cb5eb5c7dadad1139c0e954e6e7ad50f89bd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for qt_kurarin-0.2.4b2.tar.gz:

Publisher: build.yml on VincentZyuApps/Qt-Kurarin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qt_kurarin-0.2.4b2-py3-none-any.whl.

File metadata

  • Download URL: qt_kurarin-0.2.4b2-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

Hashes for qt_kurarin-0.2.4b2-py3-none-any.whl
Algorithm Hash digest
SHA256 40cd064e4566bb9360b904f749970852e68d152e8d76480bf02c55991ae006ba
MD5 963f3fba0cb7029fb64ee1409c7ce3e1
BLAKE2b-256 1a0dcb787b47d1e464f99ca9e52534bd5fefdfe3d48fafa99264d862c55c6fb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for qt_kurarin-0.2.4b2-py3-none-any.whl:

Publisher: build.yml on VincentZyuApps/Qt-Kurarin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page