macOS-style screenshot shortcuts on GNOME (Fedora)

Published 18 July 2026

date
env
linux Fedora 44 / GNOME 48 / Wayland — applies to GNOME 42+ on any distribution, AZERTY and QWERTY macos N/A — bindings mirror macOS Cmd+Shift+3/4/5

Goal

Replicate the macOS screenshot key bindings (Cmd+Shift+3/4/5) on a GNOME desktop, so that muscle memory carries over between a MacBook and a Linux laptop.

Problem

Two obstacles get in the way, and only the first one is obvious:

  1. The old gsettings keys no longer exist. Most guides on the web still reference org.gnome.settings-daemon.plugins.media-keys with keys such as area-screenshot and screenshot-clip. Since GNOME 42 the screenshot stack moved into GNOME Shell, and those keys were removed from the schema — gsettings list-recursively returns nothing for them.

  2. Dash to Dock silently steals Super+Shift+N. The extension registers its own app-shift-hotkey-1..9 bindings, which are not part of org.gnome.shell.keybindings. The Shell binding is set correctly, gsettings confirms it, and yet pressing the combination shows the dock overlay with numbered icons instead of taking a screenshot.

Obstacle 2 is the one that costs the most time, because every diagnostic on the Shell side looks perfectly healthy.


Step 1 — Confirm the available keys

Terminal window
gsettings list-recursively org.gnome.shell.keybindings | grep -i screenshot

Expected output on GNOME 42+ — exactly four keys, nothing more:

org.gnome.shell.keybindings screenshot ['<Shift>Print']
org.gnome.shell.keybindings screenshot-window ['<Alt>Print']
org.gnome.shell.keybindings show-screen-recording-ui ['<Ctrl><Shift><Alt>R']
org.gnome.shell.keybindings show-screenshot-ui ['Print']
KeyBehaviour
screenshotFull screen, immediate capture
screenshot-windowActive window, immediate capture
show-screenshot-uiOpens the interactive capture UI (area / window / screen)
show-screen-recording-uiOpens the screen recorder UI

Note: GNOME 42+ writes every capture to ~/Pictures/Screenshots and copies it to the clipboard at the same time. The macOS Ctrl+Cmd+Shift+* clipboard-only variants therefore have no equivalent and are not needed.

Step 2 — Neutralise the Dash to Dock hotkeys

Check whether the extension is active:

Terminal window
gnome-extensions list --enabled

If dash-to-dock@micxgx.gmail.com appears, its schema is installed in the extension directory, not system-wide. Plain gsettings will report No such schema — the --schemadir flag is mandatory:

Terminal window
DTD=~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas

Inspect the conflicting bindings:

Terminal window
gsettings --schemadir $DTD list-recursively org.gnome.shell.extensions.dash-to-dock | grep -i hotkey

Disable them:

Terminal window
gsettings --schemadir $DTD set org.gnome.shell.extensions.dash-to-dock hot-keys false

This single key disables app-hotkey-*, app-ctrl-hotkey-* and app-shift-hotkey-* at once. The hotkeys-overlay and hotkeys-show-dock keys become irrelevant and do not need to be touched. The change takes effect immediately — no Shell restart required.

GUI equivalent: Extension Manager → Dash to Dock → Behaviour tab → uncheck Use keyboard shortcuts to activate apps.

Step 3 — Apply the mapping

Terminal window
gsettings set org.gnome.shell.keybindings screenshot "['<Super><Shift>3']"
gsettings set org.gnome.shell.keybindings show-screenshot-ui "['Print', '<Super><Shift>4']"
gsettings set org.gnome.shell.keybindings screenshot-window "['<Super><Shift>5']"
gsettings set org.gnome.shell.keybindings show-screen-recording-ui "['<Ctrl><Super><Shift>5']"

The schema accepts a list, so Print is kept alongside Super+Shift+4 during the transition period.

Step 4 — Verify

Terminal window
gsettings list-recursively org.gnome.shell.keybindings | grep -i screenshot
gsettings --schemadir $DTD get org.gnome.shell.extensions.dash-to-dock hot-keys

Then test each combination physically. If the dock overlay still appears, Step 2 did not apply.


Resulting mapping

ShortcutActionmacOS equivalent
Super+Shift+3Full screen, immediateCmd+Shift+3
Super+Shift+4Capture UI (area)Cmd+Shift+4
Super+Shift+5Window, immediateCmd+Shift+4 then Space
Ctrl+Super+Shift+5Screen recording UICmd+Shift+5
PrintCapture UI—

Known divergence: on macOS, Cmd+Shift+5 opens the recording UI. Here it captures the window, keeping the 3/4/5 sequence in increasing order of captured surface. Swap the two if the macOS behaviour matters more.


Rollback

Terminal window
gsettings reset-recursively org.gnome.shell.keybindings
gsettings --schemadir $DTD reset org.gnome.shell.extensions.dash-to-dock hot-keys

Troubleshooting

A shortcut does nothing, yet gsettings shows the correct value. Suspect an extension before suspecting the Shell. Sweep every extension schema for competing bindings:

Terminal window
gsettings list-schemas | grep '^org.gnome.shell.extensions' | while read s; do
gsettings list-recursively "$s" 2>/dev/null | grep -i -E 'hotkey|hot-key|overlay|num-key'
done

This only covers system-wide schemas. Extensions installed from extensions.gnome.org live under ~/.local/share/gnome-shell/extensions/<uuid>/schemas and require --schemadir.

gsettings reports No such schema. The schema is user-installed. Locate it and pass --schemadir:

Terminal window
find ~/.local/share/gnome-shell/extensions -name '*.gschema.xml'

Alternatively, dconf writes straight to the database and bypasses schema resolution entirely:

Terminal window
dconf write /org/gnome/shell/extensions/dash-to-dock/hot-keys false

Conflict with switch-to-application-1..9. Not an issue in practice: Super+N and Super+Shift+N are distinct bindings for the Shell. Once Dash to Dock is out of the way, both coexist. Should a genuine conflict arise:

Terminal window
for i in $(seq 1 9); do
gsettings set org.gnome.shell.keybindings switch-to-application-$i "[]"
done

AZERTY layout. No special handling needed. Declare <Super><Shift>4 as-is — do not substitute the resting keysym (apostrophe, quotedbl, parenleft). GNOME resolves the layout correctly on its own; a failure at this point is an extension conflict, not a keysym issue.


Alternative — non-macOS mapping

If the digit row proves impractical on AZERTY, Super+Shift+S is the Windows reflex and is more comfortable to reach:

Terminal window
gsettings set org.gnome.shell.keybindings show-screenshot-ui "['Print', '<Super><Shift>s']"

Watch out for toggle-quick-settings, bound to <Super>s by default. Move it if the two interfere:

Terminal window
gsettings set org.gnome.shell.keybindings toggle-quick-settings "['<Super>q']"

Annotation tooling

The native GNOME UI has no annotation features. For arrows, boxes, step numbering or blurring sensitive data — Jira tickets, conference slides, sprint dashboards — add Flameshot alongside it:

Terminal window
sudo dnf install flameshot

Flameshot’s internal hotkey does not work under Wayland. Bind it through Settings → Keyboard → Custom Shortcuts, pointing at:

flameshot gui

Ksnip is a solid fallback if Flameshot misbehaves with the portal.


Sources

  • org.gnome.shell.keybindings — GNOME Shell gsettings schema
  • ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas
  • GNOME 42 release notes — screenshot stack migration from gnome-settings-daemon to the Shell