https://github.com/laserattack/cboomer
a C port of Boomer by Tsoding - a zoomer application for Linux
https://github.com/laserattack/cboomer
Last synced: 4 days ago
JSON representation
a C port of Boomer by Tsoding - a zoomer application for Linux
- Host: GitHub
- URL: https://github.com/laserattack/cboomer
- Owner: laserattack
- License: mit
- Created: 2026-03-15T09:28:44.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2026-04-30T20:59:34.000Z (about 2 months ago)
- Last Synced: 2026-06-13T13:34:45.054Z (4 days ago)
- Language: C
- Homepage:
- Size: 6.5 MB
- Stars: 13
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CBoomer

A C port of [Boomer](https://github.com/tsoding/boomer) by Tsoding - a zoomer application for Linux. This port focuses on the core functionality (screenshot viewing, zoom, pan, flashlight) and does not yet implement live window tracking (honestly, I've never used it)
## Features
- Fullscreen screenshot viewer with smooth zoom and pan
- Flashlight effect that follows your cursor
- Clean, modular C code with single-header libraries
## Differences from original Boomer
- No live window tracking - focused on screenshot viewing only
- Additional configuration - more camera and flashlight parameters exposed in `config.h`
- Soft flashlight edges - smooth gradient instead of hard circular cutoff (you can enable it in the `config.h`)
- Configurable texture filtering - switch between pixelated and smooth (check `config.h`)
## Pre-built Binaries
Check the [Releases](https://github.com/laserattack/cboomer/releases/) page for portable Linux executables. Requires:
- Linux x86_64 system
- X11
- GPU with OpenGL support (any modern GPU works)
## Build from source
### Dependencies
- X11 development libraries (libX11, libXext, libXrandr)
- OpenGL development libraries (libGL, libGLX)
- GLEW (OpenGL Extension Wrangler)
### Build and run
```
make
./cboomer
```
For faster screenshot capture with MIT-SHM:
```
make USE_XSHM=1
./cboomer
```
## Default Controls
| Control | Action |
|---------------------------------|--------------------------|
| Esc | Quit |
| 1 | Reset camera |
| 2 | Toggle flashlight |
| = | Zoom in |
| - | Zoom out |
| Drag with left mouse | Pan the image |
| Scroll wheel | Zoom in/out |
| Ctrl + Scroll wheel | Change flashlight radius |
You can modify the controls in `src/config.h` and recompile
## Project Structure
- src/cboomer.c - Main application logic
- src/config.h - Configuration
- src/la.h - Linear algebra
- src/screenshot.h - Screenshot capture