screenshot-ui: Add two key bindings from g-s-d
These two are moving into gnome-shell to unify screenshot handling and allow for same-frame capturing. While we're at it, move the keybindings .xml file from g-c-c here because it belongs to gnome-shell. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2107>
This commit is contained in:
parent
414592acf9
commit
b0ebbb00b8
17
data/50-gnome-shell-screenshots.xml
Normal file
17
data/50-gnome-shell-screenshots.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<KeyListEntries schema="org.gnome.shell.keybindings"
|
||||||
|
group="system"
|
||||||
|
name="Screenshots"
|
||||||
|
wm_name="GNOME Shell"
|
||||||
|
package="gnome-shell">
|
||||||
|
|
||||||
|
<KeyListEntry name="show-screenshot-ui"
|
||||||
|
description="Take a screenshot interactively"/>
|
||||||
|
|
||||||
|
<KeyListEntry name="screenshot"
|
||||||
|
description="Take a screenshot"/>
|
||||||
|
|
||||||
|
<KeyListEntry name="screenshot-window"
|
||||||
|
description="Take a screenshot of a window"/>
|
||||||
|
|
||||||
|
</KeyListEntries>
|
@ -79,6 +79,7 @@ configure_file(
|
|||||||
|
|
||||||
keybinding_files = [
|
keybinding_files = [
|
||||||
'50-gnome-shell-launchers.xml',
|
'50-gnome-shell-launchers.xml',
|
||||||
|
'50-gnome-shell-screenshots.xml',
|
||||||
'50-gnome-shell-system.xml',
|
'50-gnome-shell-system.xml',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -232,7 +232,15 @@
|
|||||||
</key>
|
</key>
|
||||||
<key name="show-screenshot-ui" type="as">
|
<key name="show-screenshot-ui" type="as">
|
||||||
<default>["Print"]</default>
|
<default>["Print"]</default>
|
||||||
<summary>Show screenshot UI</summary>
|
<summary>Take a screenshot interactively</summary>
|
||||||
|
</key>
|
||||||
|
<key name="screenshot-window" type="as">
|
||||||
|
<default>["<Alt>Print"]</default>
|
||||||
|
<summary>Take a screenshot of a window</summary>
|
||||||
|
</key>
|
||||||
|
<key name="screenshot" type="as">
|
||||||
|
<default>["<Shift>Print"]</default>
|
||||||
|
<summary>Take a screenshot</summary>
|
||||||
</key>
|
</key>
|
||||||
</schema>
|
</schema>
|
||||||
|
|
||||||
|
@ -1288,6 +1288,42 @@ var ScreenshotUI = GObject.registerClass({
|
|||||||
uiModes,
|
uiModes,
|
||||||
showScreenshotUI
|
showScreenshotUI
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Main.wm.addKeybinding(
|
||||||
|
'screenshot-window',
|
||||||
|
new Gio.Settings({ schema_id: 'org.gnome.shell.keybindings' }),
|
||||||
|
Meta.KeyBindingFlags.IGNORE_AUTOREPEAT | Meta.KeyBindingFlags.PER_WINDOW,
|
||||||
|
uiModes,
|
||||||
|
async (_display, window, _binding) => {
|
||||||
|
try {
|
||||||
|
const actor = window.get_compositor_private();
|
||||||
|
const content = actor.paint_to_content(null);
|
||||||
|
const texture = content.get_texture();
|
||||||
|
|
||||||
|
await captureScreenshot(texture, null, 1, null);
|
||||||
|
} catch (e) {
|
||||||
|
logError(e, 'Error capturing screenshot');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
Main.wm.addKeybinding(
|
||||||
|
'screenshot',
|
||||||
|
new Gio.Settings({ schema_id: 'org.gnome.shell.keybindings' }),
|
||||||
|
Meta.KeyBindingFlags.IGNORE_AUTOREPEAT,
|
||||||
|
uiModes,
|
||||||
|
async () => {
|
||||||
|
try {
|
||||||
|
const shooter = new Shell.Screenshot();
|
||||||
|
const [content] = await shooter.to_content();
|
||||||
|
const texture = content.get_texture();
|
||||||
|
|
||||||
|
await captureScreenshot(texture, null, 1, null);
|
||||||
|
} catch (e) {
|
||||||
|
logError(e, 'Error capturing screenshot');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
_refreshButtonLayout() {
|
_refreshButtonLayout() {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# List of source files containing translatable strings.
|
# List of source files containing translatable strings.
|
||||||
# Please keep this file sorted alphabetically.
|
# Please keep this file sorted alphabetically.
|
||||||
data/50-gnome-shell-launchers.xml
|
data/50-gnome-shell-launchers.xml
|
||||||
|
data/50-gnome-shell-screenshots.xml
|
||||||
data/50-gnome-shell-system.xml
|
data/50-gnome-shell-system.xml
|
||||||
data/org.gnome.Shell.desktop.in.in
|
data/org.gnome.Shell.desktop.in.in
|
||||||
data/org.gnome.shell.gschema.xml.in
|
data/org.gnome.shell.gschema.xml.in
|
||||||
|
Loading…
x
Reference in New Issue
Block a user