Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.4:Update
gnome-settings-daemon.16848
gnome-settings-daemon-initial-keyboard.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gnome-settings-daemon-initial-keyboard.patch of Package gnome-settings-daemon.16848
From c2e0c03c03f47da9b117db0ba876732e84dcf0c4 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero <federico@gnome.org> Date: Mon, 16 May 2016 19:18:43 -0500 Subject: [PATCH] Resurrect the code from upstream to set the default keyboard from XKB if there is one. Suse works differently than GNOME here; we set a default keyboard from the system's configuration instead of letting GNOME take care of everything itself. https://bugzilla.suse.com/show_bug.cgi?id=979051 --- plugins/keyboard/gsd-keyboard-manager.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff -urp gnome-settings-daemon-3.33.90.orig/plugins/keyboard/gsd-keyboard-manager.c gnome-settings-daemon-3.33.90/plugins/keyboard/gsd-keyboard-manager.c --- gnome-settings-daemon-3.33.90.orig/plugins/keyboard/gsd-keyboard-manager.c 2019-08-05 18:40:19.000000000 -0500 +++ gnome-settings-daemon-3.33.90/plugins/keyboard/gsd-keyboard-manager.c 2019-08-31 06:29:26.930806593 -0500 @@ -331,7 +331,7 @@ update_gtk_im_module (GsdKeyboardManager } static void -get_sources_from_xkb_config (GsdKeyboardManager *manager) +get_sources_from_xkb_config (GsdKeyboardManager *manager, gboolean running_under_gdm) { GVariantBuilder builder; GVariant *v; @@ -349,7 +349,7 @@ get_sources_from_xkb_config (GsdKeyboard init_builder_with_sources (&builder, manager->input_sources_settings); - if (!layouts) { + if (!layouts && running_under_gdm) { g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_XKB, DEFAULT_LAYOUT); goto out; } @@ -528,15 +528,23 @@ maybe_create_initial_settings (GsdKeyboa settings = manager->input_sources_settings; - if (g_getenv ("RUNNING_UNDER_GDM")) - return; + if (g_getenv ("RUNNING_UNDER_GDM")) { + GVariantBuilder builder; + /* clean the settings and get them from the "system" */ + g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)")); + g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder)); + get_sources_from_xkb_config (manager, TRUE); + + g_settings_set_strv (settings, KEY_KEYBOARD_OPTIONS, NULL); + get_options_from_xkb_config (manager); + } maybe_convert_old_settings (settings); /* if we still don't have anything do some educated guesses */ sources = g_settings_get_value (settings, KEY_INPUT_SOURCES); if (g_variant_n_children (sources) < 1) - get_sources_from_xkb_config (manager); + get_sources_from_xkb_config (manager, FALSE); g_variant_unref (sources); options = g_settings_get_strv (settings, KEY_KEYBOARD_OPTIONS);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor