From 7433837df6c936ffaadd6af689a83ba4e9c4f64a Mon Sep 17 00:00:00 2001 From: Victor Kareh Date: Fri, 29 Aug 2025 13:45:48 -0400 Subject: keybindings: Add area screenshot keyboard shortcut Add Shift+Print keybinding to trigger 'mate-screenshot --area' for interactive area selection. This gives users a dedicated keybinding for area screenshots in addition to the existing Print (screen) and Alt+Print (window) shortcuts. Fixes mate-desktop/marco#157 --- src/core/keybindings.c | 2 +- src/core/prefs.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src/core') diff --git a/src/core/keybindings.c b/src/core/keybindings.c index b1b1780a..45be2353 100644 --- a/src/core/keybindings.c +++ b/src/core/keybindings.c @@ -2514,7 +2514,7 @@ handle_run_command (MetaDisplay *display, * input grabbing. This prevents race conditions with applications like * mate-screenshot that need to grab input for area selection. */ - if (which >= SCREENSHOT_COMMAND_IDX && which <= WIN_SCREENSHOT_COMMAND_IDX) + if (which >= SCREENSHOT_COMMAND_IDX && which <= AREA_SCREENSHOT_COMMAND_IDX) { ungrab_keyboard (display, event->xkey.time); } diff --git a/src/core/prefs.c b/src/core/prefs.c index 5299cf81..e1e09153 100644 --- a/src/core/prefs.c +++ b/src/core/prefs.c @@ -2065,6 +2065,10 @@ update_command (const char *name, { i = WIN_SCREENSHOT_COMMAND_IDX; } + else if (strcmp (name, "command-area-screenshot") == 0) + { + i = AREA_SCREENSHOT_COMMAND_IDX; + } else { meta_topic (META_DEBUG_KEYBINDINGS, @@ -2119,6 +2123,9 @@ meta_prefs_get_settings_key_for_command (int i) case WIN_SCREENSHOT_COMMAND_IDX: key = g_strdup (KEY_COMMAND_PREFIX "window-screenshot"); break; + case AREA_SCREENSHOT_COMMAND_IDX: + key = g_strdup (KEY_COMMAND_PREFIX "area-screenshot"); + break; default: key = g_strdup_printf (KEY_COMMAND_PREFIX"%d", i + 1); break; -- cgit v1.2.1