summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Müllner <fmuellner@gnome.org>2023-03-06 01:43:34 +0100
committerFlorian Müllner <fmuellner@gnome.org>2023-03-06 01:57:27 +0100
commitf90749916a0b4474ed35e881193beb9ddf9f5328 (patch)
tree44aa1d828373027133ebc863b214db9d67dc5b69
parent3ac82a58c51a5c8db6b49e89a1232f99c79644cc (diff)
downloadmutter-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.c16
-rw-r--r--src/meta/prefs.h3
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