Gunnar Hjalmarsson has proposed merging ~gunnarhj/ubuntu/+source/gnome-settings-daemon:ibus-live-session into ~ubuntu-desktop/ubuntu/+source/gnome-settings-daemon:ubuntu/master.
Requested reviews: Ubuntu Desktop (ubuntu-desktop) Related bugs: Bug #1786344 in gnome-settings-daemon (Ubuntu): "Default IBus input method ignored in live session" https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/1786344 For more details, see: https://code.launchpad.net/~gunnarhj/ubuntu/+source/gnome-settings-daemon/+git/gnome-settings-daemon/+merge/368409 This MP is based on the assumption (untested) that the bug happens because there already is at least one input source in dconf when g-s-d is run. If the assumption is wrong, this MP is basically a no-op. -- Your team Ubuntu Desktop is requested to review the proposed merge of ~gunnarhj/ubuntu/+source/gnome-settings-daemon:ibus-live-session into ~ubuntu-desktop/ubuntu/+source/gnome-settings-daemon:ubuntu/master.
diff --git a/debian/changelog b/debian/changelog index 6a493d0..697ea23 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +gnome-settings-daemon (3.32.0-1ubuntu2) UNRELEASED; urgency=medium + + * debian/patches/ubuntu_ibus_configs.patch: + - Run add_ibus_sources_from_locale() even if dconf already contains + one or more sources. This will hopefully make an IBus method be + included when applicable also in "live sessions" (LP: #1786344). + + -- Gunnar Hjalmarsson <[email protected]> Wed, 05 Jun 2019 21:41:00 +0200 + gnome-settings-daemon (3.32.0-1ubuntu1) disco; urgency=medium * Merge with Debian. Remaining changes: diff --git a/debian/patches/ubuntu_ibus_configs.patch b/debian/patches/ubuntu_ibus_configs.patch index f69330f..afdf270 100644 --- a/debian/patches/ubuntu_ibus_configs.patch +++ b/debian/patches/ubuntu_ibus_configs.patch @@ -6,14 +6,14 @@ the locale, upstream removed it because they use an intial setup but we don't Bug: https://bugs.launchpad.net/bugs/1719938 Forwarded: not-needed --- - plugins/keyboard/gsd-keyboard-manager.c | 56 ++++++++++++++++++++++++++++++++- - 1 file changed, 55 insertions(+), 1 deletion(-) + plugins/keyboard/gsd-keyboard-manager.c | 70 ++++++++++++++++++++++++ + 1 file changed, 70 insertions(+) diff --git a/plugins/keyboard/gsd-keyboard-manager.c b/plugins/keyboard/gsd-keyboard-manager.c -index fadde34..3b35c69 100644 +index fadde34..930d788 100644 --- a/plugins/keyboard/gsd-keyboard-manager.c +++ b/plugins/keyboard/gsd-keyboard-manager.c -@@ -168,6 +168,58 @@ check_xkb_extension (GsdKeyboardManager *manager) +@@ -168,6 +168,73 @@ check_xkb_extension (GsdKeyboardManager *manager) return have_xkb; } @@ -69,18 +69,31 @@ index fadde34..3b35c69 100644 + g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder)); +} + ++static gboolean ++is_initial_done (void) { ++ g_autofree gchar *initial_file = NULL; ++ g_autofree gchar *contents = NULL; ++ ++ initial_file = g_build_filename (g_get_user_config_dir (), "gnome-initial-setup-done", NULL); ++ ++ if (g_file_test (initial_file, G_FILE_TEST_EXISTS) && ++ g_file_get_contents (initial_file, &contents, NULL, NULL)) ++ if (g_strcmp0 (g_strchomp (contents), "yes") == 0) ++ return TRUE; ++ ++ return FALSE; ++} ++ static void xkb_init (GsdKeyboardManager *manager) { -@@ -762,8 +814,10 @@ maybe_create_initial_settings (GsdKeyboardManager *manager) - - /* 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) -+ if (g_variant_n_children (sources) < 1) { +@@ -766,6 +833,9 @@ maybe_create_initial_settings (GsdKeyboardManager *manager) get_sources_from_xkb_config (manager); -+ add_ibus_sources_from_locale (settings); -+ } g_variant_unref (sources); ++ if (! is_initial_done ()) ++ add_ibus_sources_from_locale (settings); ++ options = g_settings_get_strv (settings, KEY_KEYBOARD_OPTIONS); + if (g_strv_length (options) < 1) + get_options_from_xkb_config (manager);
-- ubuntu-desktop mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop
