# 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. ## 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](https://github.com/Skxxtz/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. ```bash 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: - `rust` - [How to install rust](https://www.rust-lang.org/tools/install) - `git` - [How to install git](https://github.com/git-guides/install-git) 1. **Clone the repository**: ```bash git clone https://github.com/skxxtz/sherlock-confetti.git cd sherlock-confetti ``` 2. **Build the project**: ```bash cargo build --release ``` 3. **Install the binary**: After the build completes, install the binary to your system: ```bash sudo cp target/release/confetti /usr/local/bin/ ``` ### From Binary Make sure you have the following dependency installed: - `tar` - [Tar](https://www.gnu.org/software/tar/) 1. **Download the archive containing the latest release**: The archive can be found [here](https://github.com/Skxxtz/sherlock-confetti/releases/latest). 2. **Extract the files from the archive**: ```bash 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: ```bash sudo mv confetti /usr/local/bin/ ``` Optionally also move the LICENSE file or delete it: ```bash 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 rust](https://www.rust-lang.org/tools/install) - `git` - [How to install git](https://github.com/git-guides/install-git) 1. **Install the `cargo-deb` tool**: First, you need to install the `cargo-deb` tool, which simplifies packaging Rust projects as Debian packages: ```bash cargo install cargo-deb ``` 2. **Build the Debian package**: After installing `cargo-deb`, run the following command to build the `.deb` package: ```bash 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: ```bash 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 ` flag. The names for available palettes are listed in the graphic below:
color palettes