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

Skip to content

Zoomer to Boomers inspired in tsoding/boomer, just in rust (works X11 and Wayland)

License

Notifications You must be signed in to change notification settings

AlphaLawless/boomer-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

boomer-rs

A screen magnification tool for Linux. Rust implementation inspired by boomer.

Features

  • Real-time screen zoom with smooth animations
  • Flashlight mode (spotlight effect)
  • X11 and Wayland support (unlike the original, which only supports X11)
  • Configurable via file
  • Low CPU usage when idle

Installation

Dependencies

Arch Linux

sudo pacman -S mesa libxkbcommon libxkbcommon-x11 wayland

Ubuntu / Debian

sudo apt install libgl1-mesa-dev libwayland-dev libxkbcommon-dev libxkbcommon-x11-dev

Fedora

sudo dnf install mesa-libGL-devel wayland-devel libxkbcommon-devel libxkbcommon-x11-devel

Build from source

Requires Rust 1.70+

git clone https://github.com/AlphaLawless/boomer-rs.git
cd boomer-rs
cargo build --release

Install

# Option 1: User install (recommended)
sudo install -Dm755 target/release/boomer /usr/local/bin/boomer

# Option 2: Via cargo
cargo install --path .

Uninstall

# If installed with Option 1
sudo rm /usr/local/bin/boomer

# If installed with cargo
cargo uninstall boomer

Usage

boomer              # Fullscreen mode
boomer -w           # Windowed mode
boomer -d 2         # Delay 2 seconds before capture
boomer --new-config # Generate default config file

Keybindings

Key Action
Scroll / + - Zoom in/out
Left Mouse + Drag Pan around
0 Reset zoom
F Toggle flashlight mode
Ctrl + Scroll Adjust flashlight radius (when active)
R Reload config
Q / Esc Quit

Configuration

Config file is automatically created on first run.

Location Path
Config file ~/.config/boomer/config

Options

# Boomer configuration
min_scale = 0.01
scroll_speed = 1.5
drag_friction = 6.0
scale_friction = 4.0
Option Description Default
min_scale Minimum zoom level 0.01
scroll_speed Zoom speed multiplier 1.5
drag_friction Pan inertia friction (higher = stops faster) 6.0
scale_friction Zoom animation friction (higher = stops faster) 4.0

Press R to reload config without restarting.

Wayland Support

Unlike the original boomer which only supports X11, this Rust implementation includes native Wayland support using the wlr-screencopy protocol. This makes it compatible with modern Wayland compositors like:

  • Sway
  • Hyprland
  • River
  • Other wlroots-based compositors

The application automatically detects your display server and uses the appropriate backend (X11 or Wayland).

References and Credits

This project was built with inspiration and references from:

Original Project:

  • tsoding/boomer - Original X11-only implementation in Nim by Alexey Kutepov (tsoding)

X11 Implementation:

Screenshot Capture:

Technical Documentation:

Wayland Support:

License

MIT

About

Zoomer to Boomers inspired in tsoding/boomer, just in rust (works X11 and Wayland)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published