diff options
author | Florian Müllner <fmuellner@gnome.org> | 2023-03-06 01:43:34 +0100 |
---|---|---|
committer | Florian Müllner <fmuellner@gnome.org> | 2023-03-06 01:57:27 +0100 |
commit | f90749916a0b4474ed35e881193beb9ddf9f5328 (patch) | |
tree | 44aa1d828373027133ebc863b214db9d67dc5b69 | |
parent | 3ac82a58c51a5c8db6b49e89a1232f99c79644cc (diff) | |
download | mutter-f90749916a0b4474ed35e881193beb9ddf9f5328.tar.gz |
prefs: Add get_keybinding_label() method
Commit 7e9d9c7eb91 added new API to replace GTK for accelerator
parsing.
Unfortunately there is another case in gnome-shell, where we have
to get the label from the logical binding name rather than the
modifier+keysym combination.
Add another small method to cover that use case.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2899>
-rw-r--r-- | src/core/prefs.c | 16 | ||||
-rw-r--r-- | src/meta/prefs.h | 3 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/core/prefs.c b/src/core/prefs.c index 82bf58d8c..25a1524af 100644 --- a/src/core/prefs.c +++ b/src/core/prefs.c @@ -2186,6 +2186,22 @@ meta_prefs_get_keybinding_action (const char *name) : META_KEYBINDING_ACTION_NONE; } +/** + * meta_prefs_get_keybinding_label: + * Returns: (transfer full) (nullable) + */ +char * +meta_prefs_get_keybinding_label (const char *name) +{ + MetaKeyPref *pref = g_hash_table_lookup (key_bindings, name); + MetaKeyCombo *combo = NULL; + + if (pref && pref->combos) + combo = pref->combos->data; + + return combo ? meta_accelerator_name (combo->modifiers, combo->keysym) : NULL; +} + gint meta_prefs_get_mouse_button_resize (void) { diff --git a/src/meta/prefs.h b/src/meta/prefs.h index f1c9e5805..d6dd93d74 100644 --- a/src/meta/prefs.h +++ b/src/meta/prefs.h @@ -469,6 +469,9 @@ META_EXPORT MetaKeyBindingAction meta_prefs_get_keybinding_action (const char *name); META_EXPORT +char * meta_prefs_get_keybinding_label (const char *name); + +META_EXPORT gboolean meta_prefs_get_visual_bell (void); META_EXPORT |