diff options
author | Přemysl Eric Janouch <p@janouch.name> | 2022-08-03 23:33:13 +0200 |
---|---|---|
committer | Přemysl Eric Janouch <p@janouch.name> | 2022-08-04 00:34:05 +0200 |
commit | d1d9caaa5e36e8c9205e85640123874af4dc925b (patch) | |
tree | 00eeeb0bfd28b888721a045c82927818b7bc0521 | |
parent | 5bae7c1bd2ee1843c32cb6e44954e8c5e5904456 (diff) | |
download | fiv-d1d9caaa5e36e8c9205e85640123874af4dc925b.tar.gz fiv-d1d9caaa5e36e8c9205e85640123874af4dc925b.tar.xz fiv-d1d9caaa5e36e8c9205e85640123874af4dc925b.zip |
Capitalize modifier names, prefer Command on macOS
So far, the macOS special casing is only partial.
Also, GtkShortcutsWindow confusingly labels Command as Meta.
-rw-r--r-- | fiv-view.c | 20 | ||||
-rw-r--r-- | fiv.c | 44 |
2 files changed, 34 insertions, 30 deletions
@@ -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("<Primary>", 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); @@ -82,23 +82,23 @@ struct key_section { static struct key help_keys_general[] = { {"F1", "Show help"}, {"F10", "Open menu"}, - {"<control>question", "Keyboard shortcuts"}, - {"q <control>q", "Quit"}, - {"<control>w", "Quit"}, + {"<Control>question", "Keyboard shortcuts"}, + {"q <Control>q", "Quit"}, + {"<Control>w", "Quit"}, {} }; static struct key help_keys_navigation[] = { - {"<control>l", "Open location..."}, - {"<control>n", "Open a new window"}, - {"<alt>Left", "Go back in history"}, - {"<alt>Right", "Go forward in history"}, + {"<Control>l", "Open location..."}, + {"<Control>n", "Open a new window"}, + {"<Alt>Left", "Go back in history"}, + {"<Alt>Right", "Go forward in history"}, {} }; static struct key help_keys_view[] = { {"F11 f", "Toggle fullscreen"}, - {"<alt><shift>d", "Toggle dark theme variant"}, + {"<Alt><Shift>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[]) { - {"<alt>Up", "Go to parent directory"}, - {"<alt>Home", "Go home"}, + {"<Alt>Up", "Go to parent directory"}, + {"<Alt>Home", "Go home"}, {"Return", "Open selected item"}, {} }}, {"View", (struct key[]) { {"F9", "Toggle navigation sidebar"}, - {"F5 r <control>r", "Reload"}, - {"h <control>h", "Toggle hiding unsupported files"}, - {"<control>plus", "Larger thumbnails"}, - {"<control>minus", "Smaller thumbnails"}, + {"F5 r <Control>r", "Reload"}, + {"h <Control>h", "Toggle hiding unsupported files"}, + {"<Control>plus", "Larger thumbnails"}, + {"<Control>minus", "Smaller thumbnails"}, {} }}, {} @@ -135,14 +135,14 @@ static struct key_group help_keys_viewer[] = { }}, {"View", (struct key[]) { {"F8", "Toggle toolbar"}, - {"F5 r <control>r", "Reload"}, + {"F5 r <Primary>r", "Reload"}, {} }}, {"Zoom", (struct key[]) { - {"<control>0", "Set zoom to 100%"}, + {"<Primary>0", "Set zoom to 100%"}, {"1...9", "Set zoom to N:1"}, - {"plus <control>plus", "Zoom in"}, - {"minus <control>minus", "Zoom out"}, + {"plus <Primary>plus", "Zoom in"}, + {"minus <Primary>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[]) { - {"<control>p", "Print..."}, - {"<control>s", "Save page as..."}, - {"<control><shift>s", "Save frame as..."}, - {"<alt>Return", "Show file information"}, + {"<Primary>p", "Print..."}, + {"<Primary>s", "Save page as..."}, + {"<Primary><Shift>s", "Save frame as..."}, + {"<Alt>Return", "Show file information"}, {} }}, {} |