keybindings: Stop tracking special binding combos
We use them in a single place, there is no need to internally keep track of them. The MetaKeyBindingManager has their resolved key combo (overlay_resolved_key_combo and locate_pointer_resolved_key_combo) which is enough. Get the special binding combos from the preference right away when needed. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4050>
This commit is contained in:
parent
c60285ff76
commit
db81ba4d5b
@ -114,10 +114,8 @@ typedef struct
|
|||||||
xkb_mod_mask_t virtual_super_mask;
|
xkb_mod_mask_t virtual_super_mask;
|
||||||
xkb_mod_mask_t meta_mask;
|
xkb_mod_mask_t meta_mask;
|
||||||
xkb_mod_mask_t virtual_meta_mask;
|
xkb_mod_mask_t virtual_meta_mask;
|
||||||
MetaKeyCombo overlay_key_combo;
|
|
||||||
MetaResolvedKeyCombo overlay_resolved_key_combo;
|
MetaResolvedKeyCombo overlay_resolved_key_combo;
|
||||||
gboolean overlay_key_only_pressed;
|
gboolean overlay_key_only_pressed;
|
||||||
MetaKeyCombo locate_pointer_key_combo;
|
|
||||||
MetaResolvedKeyCombo locate_pointer_resolved_key_combo;
|
MetaResolvedKeyCombo locate_pointer_resolved_key_combo;
|
||||||
gboolean locate_pointer_key_only_pressed;
|
gboolean locate_pointer_key_only_pressed;
|
||||||
MetaResolvedKeyCombo iso_next_group_combo[2];
|
MetaResolvedKeyCombo iso_next_group_combo[2];
|
||||||
|
@ -785,16 +785,20 @@ reload_active_keyboard_layouts (MetaKeyBindingManager *keys)
|
|||||||
static void
|
static void
|
||||||
reload_combos (MetaKeyBindingManager *keys)
|
reload_combos (MetaKeyBindingManager *keys)
|
||||||
{
|
{
|
||||||
|
MetaKeyCombo combo;
|
||||||
|
|
||||||
g_hash_table_remove_all (keys->key_bindings_index);
|
g_hash_table_remove_all (keys->key_bindings_index);
|
||||||
|
|
||||||
reload_active_keyboard_layouts (keys);
|
reload_active_keyboard_layouts (keys);
|
||||||
|
|
||||||
|
meta_prefs_get_overlay_binding (&combo);
|
||||||
resolve_key_combo (keys,
|
resolve_key_combo (keys,
|
||||||
&keys->overlay_key_combo,
|
&combo,
|
||||||
&keys->overlay_resolved_key_combo);
|
&keys->overlay_resolved_key_combo);
|
||||||
|
|
||||||
|
meta_prefs_get_locate_pointer_binding (&combo);
|
||||||
resolve_key_combo (keys,
|
resolve_key_combo (keys,
|
||||||
&keys->locate_pointer_key_combo,
|
&combo,
|
||||||
&keys->locate_pointer_resolved_key_combo);
|
&keys->locate_pointer_resolved_key_combo);
|
||||||
|
|
||||||
reload_iso_next_group_combos (keys);
|
reload_iso_next_group_combos (keys);
|
||||||
@ -881,18 +885,6 @@ rebuild_key_binding_table (MetaKeyBindingManager *keys)
|
|||||||
g_list_free (grabs);
|
g_list_free (grabs);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
rebuild_special_bindings (MetaKeyBindingManager *keys)
|
|
||||||
{
|
|
||||||
MetaKeyCombo combo;
|
|
||||||
|
|
||||||
meta_prefs_get_overlay_binding (&combo);
|
|
||||||
keys->overlay_key_combo = combo;
|
|
||||||
|
|
||||||
meta_prefs_get_locate_pointer_binding (&combo);
|
|
||||||
keys->locate_pointer_key_combo = combo;
|
|
||||||
}
|
|
||||||
|
|
||||||
static MetaKeyBinding *
|
static MetaKeyBinding *
|
||||||
get_keybinding (MetaKeyBindingManager *keys,
|
get_keybinding (MetaKeyBindingManager *keys,
|
||||||
MetaResolvedKeyCombo *resolved_combo)
|
MetaResolvedKeyCombo *resolved_combo)
|
||||||
@ -1180,7 +1172,6 @@ prefs_changed_callback (MetaPreference pref,
|
|||||||
meta_x11_keybindings_ungrab_key_bindings (display);
|
meta_x11_keybindings_ungrab_key_bindings (display);
|
||||||
#endif
|
#endif
|
||||||
rebuild_key_binding_table (keys);
|
rebuild_key_binding_table (keys);
|
||||||
rebuild_special_bindings (keys);
|
|
||||||
reload_combos (keys);
|
reload_combos (keys);
|
||||||
#ifdef HAVE_X11
|
#ifdef HAVE_X11
|
||||||
meta_x11_keybindings_grab_key_bindings (display);
|
meta_x11_keybindings_grab_key_bindings (display);
|
||||||
@ -2859,7 +2850,6 @@ meta_display_init_keys (MetaDisplay *display)
|
|||||||
init_builtin_key_bindings (display);
|
init_builtin_key_bindings (display);
|
||||||
|
|
||||||
rebuild_key_binding_table (keys);
|
rebuild_key_binding_table (keys);
|
||||||
rebuild_special_bindings (keys);
|
|
||||||
|
|
||||||
reload_combos (keys);
|
reload_combos (keys);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user