From d1d9caaa5e36e8c9205e85640123874af4dc925b Mon Sep 17 00:00:00 2001
From: Přemysl Eric Janouch
Date: Wed, 3 Aug 2022 23:33:13 +0200
Subject: Capitalize modifier names, prefer Command on macOS
So far, the macOS special casing is only partial.
Also, GtkShortcutsWindow confusingly labels Command as Meta.
---
fiv-view.c | 20 ++++++++++++--------
fiv.c | 44 ++++++++++++++++++++++----------------------
2 files changed, 34 insertions(+), 30 deletions(-)
diff --git a/fiv-view.c b/fiv-view.c
index 0bd81f9..c276743 100644
--- a/fiv-view.c
+++ b/fiv-view.c
@@ -1419,16 +1419,20 @@ fiv_view_class_init(FivViewClass *klass)
widget_class->scroll_event = fiv_view_scroll_event;
widget_class->key_press_event = fiv_view_key_press_event;
+ // _gtk_get_primary_accel_mod() is private.
+ GdkModifierType primary = GDK_CONTROL_MASK;
+ gtk_accelerator_parse_with_keycode("", NULL, NULL, &primary);
+
GtkBindingSet *bs = gtk_binding_set_by_class(klass);
// First, the standard, intuitive bindings.
- bind(bs, GDK_KEY_0, GDK_CONTROL_MASK, FIV_VIEW_COMMAND_ZOOM_1);
- bind(bs, GDK_KEY_plus, GDK_CONTROL_MASK, FIV_VIEW_COMMAND_ZOOM_IN);
- bind(bs, GDK_KEY_minus, GDK_CONTROL_MASK, FIV_VIEW_COMMAND_ZOOM_OUT);
- bind(bs, GDK_KEY_p, GDK_CONTROL_MASK, FIV_VIEW_COMMAND_PRINT);
- bind(bs, GDK_KEY_r, GDK_CONTROL_MASK, FIV_VIEW_COMMAND_RELOAD);
- bind(bs, GDK_KEY_s, GDK_CONTROL_MASK, FIV_VIEW_COMMAND_SAVE_PAGE);
- bind(bs, GDK_KEY_s, GDK_MOD1_MASK, FIV_VIEW_COMMAND_SAVE_FRAME);
- bind(bs, GDK_KEY_Return, GDK_MOD1_MASK, FIV_VIEW_COMMAND_INFO);
+ bind(bs, GDK_KEY_0, primary, FIV_VIEW_COMMAND_ZOOM_1);
+ bind(bs, GDK_KEY_plus, primary, FIV_VIEW_COMMAND_ZOOM_IN);
+ bind(bs, GDK_KEY_minus, primary, FIV_VIEW_COMMAND_ZOOM_OUT);
+ bind(bs, GDK_KEY_p, primary, FIV_VIEW_COMMAND_PRINT);
+ bind(bs, GDK_KEY_r, primary, FIV_VIEW_COMMAND_RELOAD);
+ bind(bs, GDK_KEY_s, primary, FIV_VIEW_COMMAND_SAVE_PAGE);
+ bind(bs, GDK_KEY_s, GDK_MOD1_MASK, FIV_VIEW_COMMAND_SAVE_FRAME);
+ bind(bs, GDK_KEY_Return, GDK_MOD1_MASK, FIV_VIEW_COMMAND_INFO);
// The scale-to-fit binding is from gThumb, which has more such modes.
bind(bs, GDK_KEY_F5, 0, FIV_VIEW_COMMAND_RELOAD);
diff --git a/fiv.c b/fiv.c
index d694b17..ecf1d9a 100644
--- a/fiv.c
+++ b/fiv.c
@@ -82,23 +82,23 @@ struct key_section {
static struct key help_keys_general[] = {
{"F1", "Show help"},
{"F10", "Open menu"},
- {"question", "Keyboard shortcuts"},
- {"q q", "Quit"},
- {"w", "Quit"},
+ {"question", "Keyboard shortcuts"},
+ {"q q", "Quit"},
+ {"w", "Quit"},
{}
};
static struct key help_keys_navigation[] = {
- {"l", "Open location..."},
- {"n", "Open a new window"},
- {"Left", "Go back in history"},
- {"Right", "Go forward in history"},
+ {"l", "Open location..."},
+ {"n", "Open a new window"},
+ {"Left", "Go back in history"},
+ {"Right", "Go forward in history"},
{}
};
static struct key help_keys_view[] = {
{"F11 f", "Toggle fullscreen"},
- {"d", "Toggle dark theme variant"},
+ {"d", "Toggle dark theme variant"},
{}
};
@@ -107,17 +107,17 @@ static struct key_group help_keys_browser[] = {
{"General: Navigation", help_keys_navigation},
{"General: View", help_keys_view},
{"Navigation", (struct key[]) {
- {"Up", "Go to parent directory"},
- {"Home", "Go home"},
+ {"Up", "Go to parent directory"},
+ {"Home", "Go home"},
{"Return", "Open selected item"},
{}
}},
{"View", (struct key[]) {
{"F9", "Toggle navigation sidebar"},
- {"F5 r r", "Reload"},
- {"h h", "Toggle hiding unsupported files"},
- {"plus", "Larger thumbnails"},
- {"minus", "Smaller thumbnails"},
+ {"F5 r r", "Reload"},
+ {"h h", "Toggle hiding unsupported files"},
+ {"plus", "Larger thumbnails"},
+ {"minus", "Smaller thumbnails"},
{}
}},
{}
@@ -135,14 +135,14 @@ static struct key_group help_keys_viewer[] = {
}},
{"View", (struct key[]) {
{"F8", "Toggle toolbar"},
- {"F5 r r", "Reload"},
+ {"F5 r r", "Reload"},
{}
}},
{"Zoom", (struct key[]) {
- {"0", "Set zoom to 100%"},
+ {"0", "Set zoom to 100%"},
{"1...9", "Set zoom to N:1"},
- {"plus plus", "Zoom in"},
- {"minus minus", "Zoom out"},
+ {"plus plus", "Zoom in"},
+ {"minus minus", "Zoom out"},
{"w", "Zoom to fit width if larger"},
{"h", "Zoom to fit height if larger"},
{}
@@ -175,10 +175,10 @@ static struct key_group help_keys_viewer[] = {
{}
}},
{"Tools", (struct key[]) {
- {"p", "Print..."},
- {"s", "Save page as..."},
- {"s", "Save frame as..."},
- {"Return", "Show file information"},
+ {"p", "Print..."},
+ {"s", "Save page as..."},
+ {"s", "Save frame as..."},
+ {"Return", "Show file information"},
{}
}},
{}
--
cgit v1.2.3-70-g09d2