- C 98.6%
- Makefile 1.1%
- Nix 0.3%
| .forgejo/workflows | ||
| .github/workflows | ||
| include | ||
| man | ||
| protocols | ||
| src | ||
| tools | ||
| .clang-format | ||
| .clangd | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| grabit.desktop | ||
| LICENSE | ||
| Makefile | ||
| OPTIONS.md | ||
| PLUGINS.md | ||
| README.md | ||
grabit
screenshot, screen-recording, ocr, and uploader for wlroots wayland compositors.
works on: hyprland, sway, niri, river. kde plasma screenshots via kwin's ScreenShot2 and records via kwin's screencast protocol; gnome is recording-only (mutter's screencast d-bus api). both go through pipewire with no portal dialog. not supported: x11.
install
Void
see https://void.creations.works/
Arch (AUR)
grabit builds from the latest tag, grabit-bin is the prebuilt release, and grabit-git tracks main.
Gentoo
media-gfx/grabit in the roxy-overlay.
NixOS
nix run git+https://heliopolis.live/creations/grabit.git -- --help
from source
make
sudo make install
build deps:
json-c libcurl libmagic wayland-client wayland-cursor cairo libpng libxkbcommon libdbus-1
optional: libjpeg libwebp for jpeg/webp output, libpipewire-0.3 for recording on kde/gnome.
runtime: ffmpeg for --record, tesseract for --tesseract. see OPTIONS.md for the rest (trans, git, xdg-open, a sound player).
demo
- region selector with live freeze; drag, or click a window to snap
- confirm mode: adjust the selection before capturing
-F/--fullscreengrabs one monitor, or every monitor stitched together-w/--windowgrabs the active window (hyprland and sway, and niri via its own window screenshot)-L/--lastreuses the last region instead of selecting one, screenshots and--recordalike--delay <secs>waits before capturing, so menus and tooltips stay open- annotator (
-e): pen, marker, line, rect, rounded rect, ellipse, arrow, freehand arrow, blur, pixelate, spotlight, text, counter, callout, eraser -e -f <file>annotates an existing png, jpeg, or webp instead of capturing- color picker with hex input and an eyedropper that samples the freeze
- six color swatches you can repoint to any colors (
edit.swatches) - toolbar that follows the region you select (
edit.toolbar_placement) - works with a touchscreen as well as a mouse
--recordregion recording with overlay and tray icon; mp4, webm, or gif (demo)--pinpins captures to the desktop: click-through, stackable, draggable--traypersistent tray icon with every action in its menu- uploads to six built-in hosts or any sharex
.sxcuuploader --tesseract --translateOCRs a region and copies the translation
docs
- OPTIONS.md - configuration keys, auth tokens, sharex uploaders, keybinds, filename templates
- PLUGINS.md - plugin cli, manifest format, helper header
source
- primary: https://heliopolis.live/creations/grabit
- github mirror: https://github.com/Creationsss/grabit
license
agpl-3.0-or-later. see LICENSE.