No description
  • Rust 74.4%
  • Nix 18.5%
  • GLSL 7.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-06-01 20:58:32 +02:00
.vscode first: READY SET GO!!! 2024-05-26 19:00:56 +01:00
shaders disable vsync 2026-04-24 22:38:19 +02:00
src disable transparency 2026-06-01 20:58:32 +02:00
.envrc first: READY SET GO!!! 2024-05-26 19:00:56 +01:00
.gitignore fix: add result symlink to gitignore 2024-07-15 22:34:59 +02:00
Cargo.lock chore: bump version to 0.2.0 2025-07-07 09:32:14 +01:00
Cargo.toml chore: bump version to 0.2.0 2025-07-07 09:32:14 +01:00
CONTRIBUTING.md docs: create CONTRIBUTING.md 2024-06-19 14:22:45 +01:00
demo.gif docs: add demo to readme 2024-05-26 21:42:44 +01:00
flake.lock update flake.lock 2025-05-22 07:18:28 +01:00
flake.nix add libgbm 2025-05-22 11:38:51 +01:00
LICENSE chore: add MIT license 2024-06-19 14:17:59 +01:00
README.md readme and help 2026-04-06 15:45:42 +02:00

Forked

Forked to fix a bug and append new functionality

Woomer - Boomer but for wayland

Zoomer application for wayland (linux) inspired by tsoding's boomer written in rust

demo of woomer

Controls

Control Description
Right Click, ESC, A or Q Quit the application.
R Reload the shaders (only for Developer mode)
Hold CTRL Enable flashlight effect.
Drag with left mouse button Move the image around.
Scroll wheel Zoom in/out.
Ctrl + SHIFT + Scroll wheel Change the radius of the flashlight.

HiDPI Displays

Hyprland

If you set your scaling different to 1.0 in your .config/hypr/hyprland.conf, you also need the following variables to be set:

$scale = 2
monitor = , highres, auto, $scale

xwayland {
  force_zero_scaling = true
}
env = GDK_SCALE,$scale

Please also refer to: Hyprland Wiki

Building

Dependencies:

  • wayland-client
  • cmake
  • rust
  • pkg-config
  • clang (for compiling raylib)
  • libclang (for bindgen)

Like with any other rust program you can run:

cargo b

However if you want hot reloading of the spotlight shader you can add the dev feature:

cargo b -F dev

Installing using the Nix flake

You can also install woomer using the nix flake:

# flake.nix
{
  inputs = {
    woomer.url = "github:coffeeispower/woomer";
    # .....
  }
  # ....
}

After that, you can just install it

{inputs, system, ...}:
{
  home.packages = [
    inputs.woomer.packages.${system}.default
    # ....
  ];
  # ....
}