Thanks to visit codestin.com
Credit goes to github.com

Skip to content

qeezzo/woomer

 
 

Repository files navigation

Fork Changes

  • CAPS_LOCK key also controls a flashlight effect
  • By default captures and displays the focused monitor
  • New argument to capture all monitors at ones --all-outputs
  • Configurable spotlight radius via --spotlight-radius argument

Works basically for i3/sway, cause of i3ipc usage

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 or CAPS_LOCK 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.

Usage

woomer [OPTIONS]

OPTIONS:
    --monitor <name>         Target specific monitor (Wayland output name)
    --all-outputs            Capture all outputs (original behavior)
    --spotlight-radius <px>  Set base spotlight radius in pixels (default: 60)

Examples

# Use default settings
woomer

# Set custom spotlight radius
woomer --spotlight-radius 100

# Use specific monitor with custom spotlight
woomer --monitor DP-1 --spotlight-radius 80

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
    # ....
  ];
  # ....
}

About

Zoomer application for Wayland inspired by tsoding's boomer

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 77.1%
  • Nix 16.8%
  • GLSL 6.0%
  • Shell 0.1%