grimblast(1)

πŸ“¦
version 0.1-unstable-2026-10 Β· 2 versions
, in nixpkgs unstable

πŸŽ€ grimblast(1) πŸŽ€

okay bestie, welcome to grimblast(1) from the General Commands Manual β€” it's giving screenshot-helper-for-Hyprland energy, and honestly? iconic πŸ’…

πŸ’– NAME πŸ’–

  • grimblast β€” a helper for screenshots within Hyprland. no cap, that's the whole name vibe 🫢

✨ SYNOPSIS ✨

the whole thing in three little lines, bestie:

grimblast [OPTIONS] (copy|save|copysave|edit) [TARGET] [FILE]
grimblast check
grimblast usage

πŸ’… OPTIONS πŸ’…

first the flags, then the actions β€” all of it, because we do not skip details in this house πŸŽ€

  • -n, --notify β€” Show notifications to the user that a screenshot has been taken. cute little ping so you know it slayed ✨
  • -o, --openparentdir β€” Uses dbus to display the folder containing the file when interacting with the notification. Only works with --notify 🫢
  • -e <ms>, --expire-time <ms> β€” Passes this argument to notify-send to configure notification expiry. Only works with --notify. Default: 3000. ⏳
  • -c, --cursor β€” Include cursors in the screenshot. With the area target, this option requires --freeze so the cursor is included in the frozen preview and not captured again at the final selection position. This also requires a hyprpicker version with --cursor support. cursor representation, fr fr πŸ–±οΈ
  • -f, --freeze β€” Freezes the screen before area selection. screen goes brrr but make it frozen ❄️
  • -w N, --wait N β€” Wait for N seconds before taking a screenshot. Decimal values are also supported. Waits after any manual selection is made. Recommended to combine with --notify in order to know when the screenshot has been taken. ⏱️
  • -s N, --scale N β€” Passes the -s argument to grim. scaling moment πŸ”
  • -t TYPE, --filetype TYPE β€” Output filetype. Supported: png, ppm, jpeg. Default: png. Note: copy and copysave actions only support PNG format. πŸ“

  • save β€” Save the screenshot into a regular file. Grimblast will write image files to XDG_SCREENSHOTS_DIR if this is set (or defined in user-dirs.dir), otherwise fall back to XDG_PICTURES_DIR, and finally HOME if neither is defined. Set FILE to - to pipe the output to STDOUT. πŸ’Ύ
  • copy β€” Copy the screenshot data into the clipboard. Only PNG format is supported for clipboard operations. πŸ“‹
  • copysave β€” Combine the previous 2 options. Only PNG format is supported for clipboard operations. double trouble, both save and copy 🫢
  • edit β€” Open screenshot in the image editor of your choice. The default is gimp, but you can set a different one with the environment variable $GRIMBLAST_EDITOR. Example: export GRIMBLAST_EDITOR=gimp. 🎨
  • check β€” Verify whether the required tools are installed. vibe check for your dependencies πŸ”Ž
  • usage β€” Show help message. the "help me help you" button πŸ†˜

πŸ¦‹ DESCRIPTION πŸ¦‹

Grimblast is an easy-to-use screenshot utility for Hyprland, based on grimshot. It provides a convenient interface over grim, slurp and jq, and supports storing the screenshot either directly to the clipboard using wl-copy or to a file. literally the screenshot bestie you didn't know you needed 🌈

πŸŽ€ TARGETS πŸŽ€

grimblast can capture the following named targets:

  • active β€” Captures the currently active window. main character window energy πŸ‘‘
  • screen β€” Captures the entire screen. This includes all visible outputs. the whole cinematic universe 🌍
  • area β€” Allows manually selecting a rectangular region or window (by clicking on it), and captures that. slurp can be customized by setting its arguments in the SLURP_ARGS environment variable. Custom predefined rectangles can be piped to slurp via the SLURP_RECTS environment variable. choose your own adventure 🎯
  • output β€” Captures the currently active output. just the one screen, bestie πŸ–₯️

🌸 ENVIRONMENT VARIABLES 🌸

  • DEFAULT_TARGET_DIR β€” Directory where screenshots are saved when using the save action. Defaults to XDG_SCREENSHOTS_DIR if set, otherwise XDG_PICTURES_DIR, and finally HOME if neither is defined. πŸ“‚
  • DEFAULT_TMP_EDITOR_DIR β€” Temporary directory used when editing screenshots. Defaults to /tmp. 🧚
  • GRIMBLAST_EDITOR β€” Image editor to use with the edit action. Defaults to gimp. πŸ–ŒοΈ
  • DATE_FORMAT β€” Date format string used for screenshot filenames. Defaults to %Y%m%d_%H%M%S. πŸ—“οΈ
  • SLURP_ARGS β€” Additional arguments to pass to slurp for customizing the selection interface. πŸŽ›οΈ
  • SLURP_RECTS β€” Custom predefined rectangles to be piped to slurp in the format X,Y WxH. Each rectangle should be newline-separated. See slurp -r for more context. πŸ“

⭐ OUTPUT ⭐

Grimblast will print the filename of the captured screenshot to stdout if called with the save subcommand. yes bestie, it tells you where the goods are πŸ’–

πŸ”₯ EXAMPLES πŸ”₯

An example usage pattern is to add these bindings to your hyprland config:

# Screenshots:
# Super+P: Current window
# Super+Shift+p: Select area
# Super+Alt+p Current output
# Super+Ctrl+p All outputs

# Optionally, customize slurp's appearance
env = SLURP_ARGS, -d -B F050F022 -b 10101022 -c ff00ff

bind = SUPER, p, exec, grimblast save active
bind = SUPER SHIFT, p, exec, grimblast save area
bind = SUPER ALT, p, exec, grimblast save output
bind = SUPER CTRL, p, exec, grimblast save screen

Using satty as the image editor:

GRIMBLAST_EDITOR="satty --filename" grimblast edit screen

Using combined short options with satty:

GRIMBLAST_EDITOR="satty --file" grimblast -ns 2 -e 2000 edit screen

This example captures the entire screen, scales the image by a factor of 2, displays a notification that expires after 2000ms, and opens the screenshot in satty for editing. iconic behavior, no notes 🌟

Copy screenshot to clipboard:

grimblast copy active

Save screenshot with custom filename:

grimblast save screen ~/screenshots/my-screenshot.png

Take screenshot after a 2-second delay:

grimblast --wait 2 save area

Take screenshot and both save and copy:

grimblast copysave screen

Save screenshot in JPEG format:

grimblast --filetype jpeg save screen

πŸ“ EXIT CODES πŸ“

  • 0 β€” Normal exit. slay, we're done here βœ…
  • 2 β€” Another instance of grimblast is running. bestie, there can only be one πŸ’€

πŸ’œ SEE ALSO πŸ’œ

go say hi to grim(1), slurp(1), and grimshot(1) β€” the extended universe 🫢


okay ily bye bestie β€” this was grimblast(1) from the General Commands Manual, dated 1980-01-01, and it's giving manual-page royalty πŸ’œπŸ«ΆπŸ’…

πŸ“¦ where this page comes from