From d1d9caaa5e36e8c9205e85640123874af4dc925b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= 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