| assets | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| packager.sh | ||
| README.md | ||
| result | ||
Sherlock Confetti
Sherlock Confetti is a lightweight program that displays a confetti animation as a top-level overlay on Wayland compositors. It provides a fun and colorful visual effect without interfering with your workflow.
https://github.com/user-attachments/assets/d4e63a6b-ce41-4faa-8a1e-898570056e84
Features
- Wayland-native: Built specifically for Wayland environments.
- Tiling Window Manager Friendly: Displays on top without disrupting your window layout.
- High-performance rendering with WGPU: Utilizes GPU acceleration for smooth animation.
- Shader-driven confetti: Custom shaders deliver rich, dynamic visual effects.
- Multiple Color Palettes: Choose from a variety of predefined vibrant and pastel palettes.
- Standalone or Integrated: Originally created for the custom launcher Sherlock, but fully functional as a standalone program.
Usage
Simply run the program to enjoy confetti animations on your Wayland session. It can be integrated or triggered by other applications such as launchers or window managers.
confetti
Installation
Build Dependencies
libxkbcommon
Runtime Dependencies
vulkan-icd-loadermesawaylandwayland-protocols
From Source
To build Confetti from source, follow these steps.
Make sure you have the necessary dependencies installed:
rust- How to install rustgit- How to install git
-
Clone the repository:
git clone https://github.com/skxxtz/sherlock-confetti.git cd sherlock-confetti -
Build the project:
cargo build --release -
Install the binary:
After the build completes, install the binary to your system:
sudo cp target/release/confetti /usr/local/bin/
From Binary
Make sure you have the following dependency installed:
tar- Tar
-
Download the archive containing the latest release:
The archive can be found here.
-
Extract the files from the archive:
cd ~/Downloads/ tar -xzf sherlock-confetti*.tar.gzYou can use tab-completion or run
lsto verify the name of the archive. -
Install the binary:
Now move the binary to a location on your
$PATHenvironment variable:sudo mv confetti /usr/local/bin/Optionally also move the LICENSE file or delete it:
sudo mkdir -p /usr/share/doc/confetti sudo mv LICENSE /usr/share/doc/confetti/ # or, to remove it: rm LICENSE
Build Debian Package
To build a .deb package directly from the source, follow these steps:
Make sure you have the following dependencies installed:
rust- How to install rustgit- How to install git
-
Install the
cargo-debtool:First, you need to install the
cargo-debtool, which simplifies packaging Rust projects as Debian packages:cargo install cargo-deb -
Build the Debian package:
After installing
cargo-deb, run the following command to build the.debpackage:cargo debThis will create a
.debpackage in thetarget/debiandirectory. -
Install the generated
.debpackage:Once the package is built, you can install it using:
sudo dpkg -i target/debian/confetti_*.debYou can use tab-completion or
ls target/debian/to confirm the file name.(Make sure to replace the filename if the version number is different.)
Palettes
Palettes can be selected by running confetti with the --palette <name>
flag. The names for available palettes are listed in the graphic below: