Unofficial community reference. Not affiliated with 37signals or the Omacom Foundation. Download Omarchy only from omarchy.org.
omarchylinux.org Unofficial field manual

Screenshot shortcut not working

Print Screen does nothing, the picker never appears, or screen recording fails silently on Omarchy 4.x. How to find which part of the capture chain broke.

Workaround available Applies to Omarchy 3.x Last verified 2026-09-16 on 4.0.4
Short answer

Run the command by hand first: omarchy capture screenshot. If that works, your keybinding is the problem. If it prints jq errors, use omarchy capture screenshot region as a workaround. If the screen looks frozen and clicks are dead, switch to a TTY and run pkill -x slurp, then pkill -x hyprpicker. No Print Screen key? Super + Ctrl + C opens the same capture menu.

On this page
  1. The fix
  2. Verify it worked
  3. Why it happens
  4. If that did not work
  5. Related

“Nothing happens when I press Print Screen” covers at least six different faults on Omarchy. The capture chain has a lot of moving parts: a Hyprland keybinding, a freeze layer, a region picker, grim, the clipboard, and a notification from the Quickshell bar. Work through it from the outside in.

Checked on 4.0.4 with the shipped scripts from the v4.0.4 tree, and against v3.8.4 for the 3.x differences.

The fix

1. Run the command by hand

Open a terminal and run the command the key is bound to:

omarchy capture screenshot

This is the single most useful step. If the picker comes up here, your keybinding is broken and the capture stack is fine. If it fails here too, the binding is irrelevant.

2. Confirm the key is actually bound

On 4.x, press Super + K for the keybindings overlay, or print them:

omarchy menu keybindings --print

The defaults ship in default/hypr/bindings/utilities.lua as o.bind("PRINT", "Screenshot", "omarchy-capture-screenshot"). Your own overrides belong in ~/.config/hypr/bindings.lua.

On 3.x the shipped default was bindd = , PRINT, Screenshot, exec, omarchy-capture-screenshot in default/hypr/bindings/utilities.conf, with your overrides in ~/.config/hypr/bindings.conf. If you copied a binding from an older guide that calls omarchy-cmd-screenshot, that name is gone. A 3.5.1 report still used the old name and a 3.6.0 report already binds omarchy-capture-screenshot, so the rename happened around 3.6 and an old binding silently runs a command that does not exist. See custom keybindings lost after Quattro.

3. If you get jq errors and no picker

jq: error (at <stdin>:107): string ("null") cannot be parsed as a number

omarchy-capture-region reads .activeWorkspace.id out of hyprctl monitors -j. On Hyprland builds where that field is gone, the id comes back as null and tonumber fails, so no rectangles are collected and the picker never opens. avillagran hit this on an aarch64 M2 machine running a non-release Hyprland 0.56.0 build (#11903, closed as not planned). The two modes that skip the workspace filter still work:

omarchy capture screenshot region       # freeform selection
omarchy capture screenshot fullscreen save

4. If the screen looks frozen and clicks do nothing

Switch to a TTY with Ctrl + Alt + F2, then:

pkill -x slurp
pkill -x hyprpicker

Go back with Ctrl + Alt + F1. Two separate reports produce this: the hyprpicker freeze layer grabbing keyboard focus so slurp never sees Escape (#5468), and a stale hyprpicker overlay left behind after a killed run (#5506). Pressing Print Screen again only runs pkill slurp, so it cannot clear the overlay.

5. If you have no Print Screen key

Press Super + Ctrl + C. That opens the capture menu, which has Screenshot, Screenrecord, Text, QR Code and Color in it, and it needs no Print key at all.

To add your own binding on 4.x, edit ~/.config/hypr/bindings.lua:

o.bind("SUPER + ALT + GRAVE", "Screenshot", "omarchy-capture-screenshot")

MacBook users in discussion #611 found that friendly names like LBRACKET do not resolve. zailtz reported that the X keysym name works instead, for example bracketleft. Two other commenters found GRAVE worked where the bracket keys did not. That thread is written for the 3.x bindings.conf syntax, so translate its lines into o.bind calls on 4.x.

6. If a screenshot is taken but you never see it

The PNG is written to ~/Pictures and copied to the clipboard before the notification is sent, and the notification call ends in || true so a dead notification daemon cannot fail the capture. Check the folder first:

ls -t ~/Pictures | head

If the file is there but no toast appeared, the bar is your problem, not capture. See Quickshell crashes or bar missing and notifications not showing.

7. If screen recording specifically does nothing

Alt + Print Screen stops a running recording or opens the Screenrecord menu, whose entries run omarchy-capture-screenrecording. Unlike the screenshot directory, the recording directory is not created for you:

Screen recording directory does not exist: /path

Then turn on logging and read the recorder’s own stderr:

OMARCHY_SCREENRECORD_DEBUG=true omarchy capture screenrecording --fullscreen
cat /tmp/omarchy-screenrecord.log

On a hybrid-GPU laptop whose external monitor hangs off the discrete GPU, gpu-screen-recorder enumerates only one DRM card and never sees that connector, so it dies instantly with gsr error: display "HDMI-A-1" not found while the script still exits 0 (#7184). The portal backend is GPU agnostic:

OMARCHY_SCREENRECORD_USE_PORTAL=true omarchy capture screenrecording

Note that per the same report, the --fullscreen branch is evaluated before the portal branch and ignores that variable, so drop --fullscreen when you enable it.

Verify it worked

omarchy capture screenshot fullscreen save

That skips the picker entirely and prints the path it wrote. If you get a path and the file exists, grim and your output directory are fine and the fault is in the picker layer. Then try omarchy capture screenshot and confirm the screen freezes, a selection box follows the pointer, and Return captures the highlighted window.

Check the pieces are installed if anything is missing:

pacman -Q grim slurp hyprpicker wl-clipboard tensaku gpu-screen-recorder

Why it happens

The Print Screen key does not take a screenshot by itself. It runs a shell script that does six things in order: kill any running slurp and exit (so a second press cancels), force cursor:no_hardware_cursors off, start hyprpicker -r -z as a screen freeze, run slurp fed the monitor and window rectangles from hyprctl, capture with grim -g, then copy with wl-copy and send a notification with a thumbnail and an edit action.

Every one of those steps has produced a bug report:

  • The hyprctl JSON parsing breaks when Hyprland changes shape (#11903).
  • Pressing Print Screen has taken the whole compositor down with SIGABRT on Hyprland 0.56.2. jeffsidekick’s stack blames the hyprctl eval that sets cursor mode; a follow-up analysis in the same thread resolves the faulting frame to an expired keybind handle inside Hyprland’s Lua bindings, fixed upstream after 0.56.2, rather than the cursor call itself (#8797).
  • Forcing hardware cursors on makes the pointer vanish during selection on nouveau, exactly the hardware where Omarchy’s own installer turns software cursors on, and on VMware’s vmwgfx (#8240).
  • The freeze layer can swallow the input that would dismiss the picker (#5468).
  • A bare click snaps to the first containing rectangle, and monitors are listed before windows, so clicking a window gives you the whole monitor (#8237).

So “the shortcut is broken” rarely means the key is unbound. Splitting the manual command from the binding tells you which half to chase in one step.

If that did not work

  • The editor opens and will not close. Press Escape. Tensaku saves and copies on Enter but stays open because the wrapper omits --early-exit (#7845). On 3.x the editor was Satty; the reporter describes the change as a regression from it. Set OMARCHY_SCREENSHOT_EDITOR to something else if you prefer.
  • The stop-recording indicator is stuck on. The bar can show the recording state at boot with no recorder running (#10311), and stopping twice can post two toasts with a broken thumbnail (#11508). Confirm with pgrep -af gpu-screen-recorder before believing the indicator.
  • The notification icon is a block of purple and black squares. Cosmetic. The script sends no app icon (#11506).
  • You want the file somewhere else. OMARCHY_SCREENSHOT_DIR and OMARCHY_SCREENRECORD_DIR both work, and omarchy capture screenshot smart copy puts the shot on the clipboard only.

Most of these are single-reporter issues that are still open, and none of 4.0.1 through 4.0.4 carries a release note fixing any of them.

Upstream threads about this error

248 issues on the Omarchy tracker match this error cluster. Newest fixes often appear as comments on the most-discussed threads.

IssueStateCommentsOpened
#688 After upgrade to 1.13 and reboot, I am asked for LUKS password, then Hyprland doesn't startclosed732025-08-11
#1150 Blank black screen using new 2.0 ISO - blinking cursor - `libabsl_log_internal_check_op.so.2565.0.0: cannot open shared file`closed322025-08-26
#4 Nvidia Supportclosed342025-06-27
#1684 Slow launches on laptopclosed392025-09-15
#2089 Super + Space and Omarchy Menu button stops working randomly after upgrading to v3.0.2closed282025-09-29
#6475 [Quattro] D-Bus idle inhibits are silently dropped since hypridle was replaced — screensaver fires during video playback (reproduced with Zen browser)open102026-08-01
#1806 Macbook Pro 2020 WIFI Issuesopen342025-09-19
#1818 Bluetooth Audio Devices Doesn't Work · fixed by #5336 #130 closed242025-09-19
#4115 Hyprland config errors in v3.3.0 after updateclosed262026-01-07
#2016 1Password authorization window cut offclosed222025-09-27

Accepted answers upstream

Questions people ask

My laptop has no Print Screen key. How do I take a screenshot?
Press Super + Ctrl + C. That opens the capture menu with Screenshot, Screenrecord, Text, QR Code and Color in it. You can also add your own binding in ~/.config/hypr/bindings.lua on 4.x.
Where do screenshots go?
A PNG in ~/Pictures named screenshot-YYYY-MM-DD_HH-MM-SS.png, plus the clipboard. Set OMARCHY_SCREENSHOT_DIR to change the folder. Omarchy creates that folder for you if it does not exist.
Why does the annotation editor stay open when I press Enter?
Tensaku saves and copies on Enter but does not exit, because Omarchy's wrapper does not pass --early-exit. Press Escape to close it. The file was already written before the editor opened, so nothing is lost. Tracked in issue #7845.
Does pressing Print Screen again cancel the picker?
Yes. The script starts with pkill slurp and exits, so a second press dismisses an open selection. It does not kill a stale hyprpicker overlay, which is why a crashed run can leave the screen looking frozen.

Sources and credit

Fixes on this page were worked out by avillagran (Traced the jq tonumber failure to Hyprland dropping .activeWorkspace.id, and found the region and fullscreen workarounds), jeffsidekick (Reported and captured the stack for the compositor crash that Print Screen can trigger through hyprctl eval), joshualambert (Identified the hyprpicker freeze layer stealing keyboard focus from slurp), dphov (Showed that a stale hyprpicker overlay survives the toggle and looks like a frozen desktop), Chessing234 (Reported the invisible pointer during selection and the bare-click snapping to the wrong rectangle), zailtz (Found that keysym names like bracketleft work where LBRACKET does not). Text here is our own paraphrase; follow the links for the original threads.

Unofficial. Verify against the official manual for your version. Improve this page Markdown version Sources