screenshot: Allow some shortcuts on lock screen

We will expose the screenshot UI from quick settings, including
on the lock screen. It would be odd to restrict keyboard shortcuts
more than the more accessible UI, so relax the modes for the
screenshot-ui and screen-screenshot shortcuts.

We still disable all screenshot shortcuts on the login screen, as
users don't have an obvious way to retrieve the screenshot files.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2439>
This commit is contained in:
Florian Müllner 2022-08-21 21:17:18 +02:00 committed by Marge Bot
parent f9135cdc86
commit 6db6db8a6b

View File

@ -1285,10 +1285,10 @@ var ScreenshotUI = GObject.registerClass({
});
const uiModes =
Shell.ActionMode.ALL &
~(Shell.ActionMode.LOCK_SCREEN |
Shell.ActionMode.UNLOCK_SCREEN |
Shell.ActionMode.LOGIN_SCREEN);
Shell.ActionMode.ALL & ~Shell.ActionMode.LOGIN_SCREEN;
const restrictedModes =
uiModes &
~(Shell.ActionMode.LOCK_SCREEN | Shell.ActionMode.UNLOCK_SCREEN);
Main.wm.addKeybinding(
'show-screenshot-ui',
@ -1302,7 +1302,7 @@ var ScreenshotUI = GObject.registerClass({
'show-screen-recording-ui',
new Gio.Settings({ schema_id: 'org.gnome.shell.keybindings' }),
Meta.KeyBindingFlags.IGNORE_AUTOREPEAT,
uiModes,
restrictedModes,
showScreenRecordingUI
);
@ -1310,7 +1310,7 @@ var ScreenshotUI = GObject.registerClass({
'screenshot-window',
new Gio.Settings({ schema_id: 'org.gnome.shell.keybindings' }),
Meta.KeyBindingFlags.IGNORE_AUTOREPEAT | Meta.KeyBindingFlags.PER_WINDOW,
uiModes,
restrictedModes,
async (_display, window, _binding) => {
try {
const actor = window.get_compositor_private();