No description
Find a file
2025-10-07 18:34:05 +02:00
assets initial 2025-10-07 11:28:02 +02:00
src initial 2025-10-07 11:28:02 +02:00
.gitignore initial 2025-10-07 11:28:02 +02:00
Cargo.lock initial 2025-10-07 11:28:02 +02:00
Cargo.toml initial 2025-10-07 11:28:02 +02:00
flake.lock initial 2025-10-07 11:28:02 +02:00
flake.nix added as module 2025-10-07 18:34:05 +02:00
LICENSE initial 2025-10-07 11:28:02 +02:00
packager.sh initial 2025-10-07 11:28:02 +02:00
README.md initial 2025-10-07 11:28:02 +02:00
result initial 2025-10-07 11:28:02 +02:00

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-loader
  • mesa
  • wayland
  • wayland-protocols

From Source

To build Confetti from source, follow these steps.
Make sure you have the necessary dependencies installed:

  1. Clone the repository:

    git clone https://github.com/skxxtz/sherlock-confetti.git
    cd sherlock-confetti
    
  2. Build the project:

    cargo build --release
    
  3. 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:

  1. Download the archive containing the latest release:

    The archive can be found here.

  2. Extract the files from the archive:

    cd ~/Downloads/
    tar -xzf sherlock-confetti*.tar.gz
    

    You can use tab-completion or run ls to verify the name of the archive.

  3. Install the binary:

    Now move the binary to a location on your $PATH environment 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:

  1. Install the cargo-deb tool:

    First, you need to install the cargo-deb tool, which simplifies packaging Rust projects as Debian packages:

    cargo install cargo-deb
    
  2. Build the Debian package:

    After installing cargo-deb, run the following command to build the .deb package:

    cargo deb
    

    This will create a .deb package in the target/debian directory.

  3. Install the generated .deb package:

    Once the package is built, you can install it using:

    sudo dpkg -i target/debian/confetti_*.deb
    

    You 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:

color palettes