diff --git a/data/icons/hicolor/scalable/actions/zoom-in-symbolic.svg b/data/icons/hicolor/scalable/actions/zoom-in-symbolic.svg
deleted file mode 100644
index fb747764..00000000
--- a/data/icons/hicolor/scalable/actions/zoom-in-symbolic.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/data/icons/hicolor/scalable/actions/zoom-out-symbolic.svg b/data/icons/hicolor/scalable/actions/zoom-out-symbolic.svg
deleted file mode 100644
index afa1c3aa..00000000
--- a/data/icons/hicolor/scalable/actions/zoom-out-symbolic.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/src/exm-help-overlay.blp b/src/exm-help-overlay.blp
new file mode 100644
index 00000000..f2d9824f
--- /dev/null
+++ b/src/exm-help-overlay.blp
@@ -0,0 +1,68 @@
+using Gtk 4.0;
+
+ShortcutsWindow help_overlay {
+ modal: true;
+
+ ShortcutsSection {
+ section-name: "shortcuts";
+ max-height: 12;
+
+ ShortcutsGroup {
+ title: C_("shortcut window", "General");
+
+ ShortcutsShortcut {
+ title: C_("shortcut window", "Show Installed Page");
+ accelerator: "1";
+ }
+
+ ShortcutsShortcut {
+ title: C_("shortcut window", "Show Browse Page");
+ accelerator: "2";
+ }
+
+ ShortcutsShortcut {
+ title: C_("shortcut window", "Show Keyboard Shortcuts");
+ action-name: "win.show-help-overlay";
+ }
+
+ ShortcutsShortcut {
+ title: C_("shortcut window", "Close Window");
+ action-name: "window.close";
+ }
+
+ ShortcutsShortcut {
+ title: C_("shortcut window", "Quit");
+ action-name: "app.quit";
+ }
+ }
+
+ ShortcutsGroup {
+ title: C_("shortcut window", "Screenshot View");
+
+ ShortcutsShortcut {
+ title: C_("shortcut window", "Zoom In");
+ accelerator: "plus";
+ }
+
+ ShortcutsShortcut {
+ title: C_("shortcut window", "Zoom Out");
+ accelerator: "minus";
+ }
+
+ ShortcutsShortcut {
+ title: C_("shortcut window", "Reset Zoom");
+ accelerator: "0";
+ }
+
+ ShortcutsShortcut {
+ title: C_("shortcut window", "Zoom In");
+ shortcut-type: gesture_stretch;
+ }
+
+ ShortcutsShortcut {
+ title: C_("shortcut window", "Zoom Out");
+ shortcut-type: gesture_pinch;
+ }
+ }
+ }
+}
diff --git a/src/exm-window.blp b/src/exm-window.blp
index 0798e620..d21700c0 100644
--- a/src/exm-window.blp
+++ b/src/exm-window.blp
@@ -108,6 +108,7 @@ menu primary_menu {
}
section {
item (_("_Upgrade Assistant"), "win.show-upgrade-assistant")
+ item (_("_Keyboard Shortcuts"), "win.show-help-overlay")
item (_("_About Extension Manager"), "app.about")
}
}
diff --git a/src/exm.gresource.xml.in b/src/exm.gresource.xml.in
index 31b0c28a..42ea7832 100644
--- a/src/exm.gresource.xml.in
+++ b/src/exm.gresource.xml.in
@@ -16,11 +16,16 @@
exm-info-bar.ui
exm-info-bar-item.ui
exm-screenshot-view.ui
+ exm-help-overlay.ui
res/suggestions.txt
../data/@appstream_file@
style.css
+
+ exm-help-overlay.ui
+
+
../data/icons/hicolor/scalable/actions/clock-alt-symbolic.svg
../data/icons/hicolor/scalable/actions/dialog-error-symbolic.svg
diff --git a/src/meson.build b/src/meson.build
index 61237d97..b6732b05 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -70,7 +70,8 @@ blueprints = custom_target('blueprints',
'exm-error-dialog.blp',
'exm-info-bar.blp',
'exm-info-bar-item.blp',
- 'exm-screenshot-view.blp'
+ 'exm-screenshot-view.blp',
+ 'exm-help-overlay.blp'
),
output: '.',
command: [find_program('blueprint-compiler'), 'batch-compile', '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@'],