screenshot, screen-recording, ocr, and uploader for wlroots compositors.
  • C 98.6%
  • Makefile 1.1%
  • Nix 0.3%
Find a file
creations 0ff0dcc0b9
All checks were successful
fmt / fmt-check (push) Successful in 18s
sanitize / sanitize (push) Successful in 39s
ci / build (push) Successful in 1m26s
support sway with -w and window snapping
2026-09-06 17:30:36 -04:00
.forgejo/workflows try and fix aur action 2026-09-03 01:20:16 -04:00
.github/workflows move to forgejo 2026-08-25 20:06:44 -04:00
include plugin options, split files 2026-05-07 07:44:16 -04:00
man support sway with -w and window snapping 2026-09-06 17:30:36 -04:00
protocols add edit.toolbar_placement 2026-09-02 10:41:37 -04:00
src support sway with -w and window snapping 2026-09-06 17:30:36 -04:00
tools fix docs against the code, and check it in CI 2026-09-03 14:24:24 -04:00
.clang-format actual formatter 2026-04-28 20:45:26 -04:00
.clangd pre 0.1.0 2026-04-26 20:20:56 -04:00
.gitignore links 2026-05-21 16:08:21 -04:00
flake.lock fix: avoid double transofrm (#4) 2026-08-27 11:31:38 +00:00
flake.nix fix docs against the code, and check it in CI 2026-09-03 14:24:24 -04:00
grabit.desktop support kde reopcrding 2026-07-29 10:22:14 -04:00
LICENSE pre 0.1.0 2026-04-26 20:20:56 -04:00
Makefile support sway with -w and window snapping 2026-09-06 17:30:36 -04:00
OPTIONS.md support sway with -w and window snapping 2026-09-06 17:30:36 -04:00
PLUGINS.md fix docs against the code, and check it in CI 2026-09-03 14:24:24 -04:00
README.md support sway with -w and window snapping 2026-09-06 17:30:36 -04:00

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 annotator color picker

  • region selector with live freeze; drag, or click a window to snap
  • confirm mode: adjust the selection before capturing
  • -F/--fullscreen grabs one monitor, or every monitor stitched together
  • -w/--window grabs the active window (hyprland and sway, and niri via its own window screenshot)
  • -L/--last reuses the last region instead of selecting one, screenshots and --record alike
  • --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
  • --record region recording with overlay and tray icon; mp4, webm, or gif (demo)
  • --pin pins captures to the desktop: click-through, stackable, draggable
  • --tray persistent tray icon with every action in its menu
  • uploads to six built-in hosts or any sharex .sxcu uploader
  • --tesseract --translate OCRs 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

license

agpl-3.0-or-later. see LICENSE.