Update to use slightly tweaked default input sources api from gnome-desktop
This commit is contained in:
parent
92466bbe4b
commit
10dec1d365
@ -1,4 +1,4 @@
|
|||||||
From 02dbaf7ffc27804325573b6e2ccf732696c2a7f0 Mon Sep 17 00:00:00 2001
|
From 810635287685db53ab320be75c992265370ff215 Mon Sep 17 00:00:00 2001
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
Date: Thu, 24 Aug 2023 21:19:40 -0400
|
Date: Thu, 24 Aug 2023 21:19:40 -0400
|
||||||
Subject: [PATCH 01/10] keyboard: Get default input sources from gnome-desktop
|
Subject: [PATCH 01/10] keyboard: Get default input sources from gnome-desktop
|
||||||
@ -16,14 +16,22 @@ The same time if leverages a gnome-desktop API to fix a bug
|
|||||||
where cyrillic layouts were getting added without a latin
|
where cyrillic layouts were getting added without a latin
|
||||||
counterpart.
|
counterpart.
|
||||||
---
|
---
|
||||||
.../pages/keyboard/gis-keyboard-page.c | 304 ++++++------------
|
.../pages/keyboard/gis-keyboard-page.c | 313 ++++++------------
|
||||||
1 file changed, 104 insertions(+), 200 deletions(-)
|
1 file changed, 105 insertions(+), 208 deletions(-)
|
||||||
|
|
||||||
diff --git a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
diff --git a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
index fa41230f..2583c447 100644
|
index fa41230f..61556b99 100644
|
||||||
--- a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
--- a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
+++ b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
+++ b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
@@ -25,495 +25,399 @@
|
@@ -17,503 +17,400 @@
|
||||||
|
* Author: Sergey Udaltsov <svu@gnome.org>
|
||||||
|
* Michael Wood <michael.g.wood@intel.com>
|
||||||
|
*
|
||||||
|
* Based on gnome-control-center cc-region-panel.c
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define PAGE_ID "keyboard"
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
@ -46,6 +54,7 @@ index fa41230f..2583c447 100644
|
|||||||
#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.gnome.desktop.input-sources"
|
#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.gnome.desktop.input-sources"
|
||||||
#define KEY_CURRENT_INPUT_SOURCE "current"
|
#define KEY_CURRENT_INPUT_SOURCE "current"
|
||||||
#define KEY_INPUT_SOURCES "sources"
|
#define KEY_INPUT_SOURCES "sources"
|
||||||
|
+#define KEY_INPUT_OPTIONS "xkb-options"
|
||||||
|
|
||||||
struct _GisKeyboardPagePrivate {
|
struct _GisKeyboardPagePrivate {
|
||||||
GtkWidget *input_chooser;
|
GtkWidget *input_chooser;
|
||||||
@ -56,6 +65,7 @@ index fa41230f..2583c447 100644
|
|||||||
GSettings *input_settings;
|
GSettings *input_settings;
|
||||||
+ char **default_input_source_ids;
|
+ char **default_input_source_ids;
|
||||||
+ char **default_input_source_types;
|
+ char **default_input_source_types;
|
||||||
|
+ char **default_input_options;
|
||||||
|
|
||||||
- GSList *system_sources;
|
- GSList *system_sources;
|
||||||
+ gboolean should_skip;
|
+ gboolean should_skip;
|
||||||
@ -81,6 +91,7 @@ index fa41230f..2583c447 100644
|
|||||||
- g_slist_free_full (priv->system_sources, g_free);
|
- g_slist_free_full (priv->system_sources, g_free);
|
||||||
+ g_clear_pointer (&priv->default_input_source_ids, g_strfreev);
|
+ g_clear_pointer (&priv->default_input_source_ids, g_strfreev);
|
||||||
+ g_clear_pointer (&priv->default_input_source_types, g_strfreev);
|
+ g_clear_pointer (&priv->default_input_source_types, g_strfreev);
|
||||||
|
+ g_clear_pointer (&priv->default_input_options, g_strfreev);
|
||||||
|
|
||||||
G_OBJECT_CLASS (gis_keyboard_page_parent_class)->finalize (object);
|
G_OBJECT_CLASS (gis_keyboard_page_parent_class)->finalize (object);
|
||||||
}
|
}
|
||||||
@ -94,40 +105,43 @@ index fa41230f..2583c447 100644
|
|||||||
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
- const gchar *type;
|
- const gchar *type;
|
||||||
- const gchar *id;
|
- const gchar *id;
|
||||||
+
|
- GVariantBuilder builder;
|
||||||
GVariantBuilder builder;
|
|
||||||
- GSList *l;
|
- GSList *l;
|
||||||
|
+
|
||||||
|
+ GVariantBuilder input_source_builder;
|
||||||
|
+ GVariantBuilder input_options_builder;
|
||||||
+ size_t i;
|
+ size_t i;
|
||||||
+ gboolean has_latin_layout = FALSE;
|
+ gboolean has_latin_layout = FALSE;
|
||||||
gboolean is_xkb_source = FALSE;
|
gboolean is_xkb_source = FALSE;
|
||||||
|
|
||||||
- type = cc_input_chooser_get_input_type (CC_INPUT_CHOOSER (priv->input_chooser));
|
- type = cc_input_chooser_get_input_type (CC_INPUT_CHOOSER (priv->input_chooser));
|
||||||
- id = cc_input_chooser_get_input_id (CC_INPUT_CHOOSER (priv->input_chooser));
|
- id = cc_input_chooser_get_input_id (CC_INPUT_CHOOSER (priv->input_chooser));
|
||||||
-
|
+ g_variant_builder_init (&input_source_builder, G_VARIANT_TYPE ("a(ss)"));
|
||||||
g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)"));
|
+ g_variant_builder_init (&input_options_builder, G_VARIANT_TYPE ("as"));
|
||||||
|
|
||||||
|
- g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)"));
|
||||||
|
+ if (type != NULL && id != NULL) {
|
||||||
|
+ has_latin_layout = !gnome_input_source_is_non_latin (type, id);
|
||||||
|
+ if (g_str_equal (type, "xkb")) {
|
||||||
|
+ g_variant_builder_add (&input_source_builder, "(ss)", type, id);
|
||||||
|
|
||||||
- if (g_str_equal (type, "xkb")) {
|
- if (g_str_equal (type, "xkb")) {
|
||||||
- g_variant_builder_add (&builder, "(ss)", type, id);
|
- g_variant_builder_add (&builder, "(ss)", type, id);
|
||||||
- is_xkb_source = TRUE;
|
- is_xkb_source = TRUE;
|
||||||
- }
|
+ is_xkb_source = TRUE;
|
||||||
+ if (type != NULL && id != NULL) {
|
+ }
|
||||||
+ has_latin_layout = !gnome_input_source_is_non_latin (type, id);
|
}
|
||||||
+ if (g_str_equal (type, "xkb")) {
|
|
||||||
+ g_variant_builder_add (&builder, "(ss)", type, id);
|
|
||||||
|
|
||||||
- for (l = priv->system_sources; l; l = l->next) {
|
- for (l = priv->system_sources; l; l = l->next) {
|
||||||
- const gchar *sid = l->data;
|
- const gchar *sid = l->data;
|
||||||
+ is_xkb_source = TRUE;
|
-
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- if (g_str_equal (id, sid) && g_str_equal (type, "xkb"))
|
- if (g_str_equal (id, sid) && g_str_equal (type, "xkb"))
|
||||||
+ for (i = 0; priv->default_input_source_ids && priv->default_input_source_ids[i] != NULL; i++) {
|
+ for (i = 0; priv->default_input_source_ids && priv->default_input_source_ids[i] != NULL; i++) {
|
||||||
+ if (g_str_equal (id, priv->default_input_source_ids[i]) && g_str_equal (type, priv->default_input_source_types[i]))
|
+ if (g_str_equal (id, priv->default_input_source_ids[i]) && g_str_equal (type, priv->default_input_source_types[i]))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
- g_variant_builder_add (&builder, "(ss)", "xkb", sid);
|
- g_variant_builder_add (&builder, "(ss)", "xkb", sid);
|
||||||
+ g_variant_builder_add (&builder, "(ss)", priv->default_input_source_types[i], priv->default_input_source_ids[i]);
|
+ g_variant_builder_add (&input_source_builder, "(ss)", priv->default_input_source_types[i], priv->default_input_source_ids[i]);
|
||||||
+
|
+
|
||||||
+ if (!gnome_input_source_is_non_latin (priv->default_input_source_types[i], priv->default_input_source_ids[i]))
|
+ if (!gnome_input_source_is_non_latin (priv->default_input_source_types[i], priv->default_input_source_ids[i]))
|
||||||
+ has_latin_layout = TRUE;
|
+ has_latin_layout = TRUE;
|
||||||
@ -137,18 +151,23 @@ index fa41230f..2583c447 100644
|
|||||||
- g_variant_builder_add (&builder, "(ss)", type, id);
|
- g_variant_builder_add (&builder, "(ss)", type, id);
|
||||||
+ if (type != NULL && id != NULL) {
|
+ if (type != NULL && id != NULL) {
|
||||||
+ if (!is_xkb_source) {
|
+ if (!is_xkb_source) {
|
||||||
+ g_variant_builder_add (&builder, "(ss)", type, id);
|
+ g_variant_builder_add (&input_source_builder, "(ss)", type, id);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
- g_settings_set_value (priv->input_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
|
- g_settings_set_value (priv->input_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
|
||||||
- g_settings_set_uint (priv->input_settings, KEY_CURRENT_INPUT_SOURCE, 0);
|
- g_settings_set_uint (priv->input_settings, KEY_CURRENT_INPUT_SOURCE, 0);
|
||||||
+ if (!has_latin_layout) {
|
+ if (!has_latin_layout) {
|
||||||
+ g_variant_builder_add (&builder, "(ss)", "xkb", "us");
|
+ g_variant_builder_add (&input_source_builder, "(ss)", "xkb", "us");
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
- g_settings_apply (priv->input_settings);
|
- g_settings_apply (priv->input_settings);
|
||||||
+ g_settings_set_value (priv->input_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
|
+ for (i = 0; priv->default_input_options[i] != NULL; i++) {
|
||||||
|
+ g_variant_builder_add (&input_options_builder, "s", priv->default_input_options[i]);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ g_settings_set_value (priv->input_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&input_source_builder));
|
||||||
|
+ g_settings_set_value (priv->input_settings, KEY_INPUT_OPTIONS, g_variant_builder_end (&input_options_builder));
|
||||||
+ g_settings_set_uint (priv->input_settings, KEY_CURRENT_INPUT_SOURCE, 0);
|
+ g_settings_set_uint (priv->input_settings, KEY_CURRENT_INPUT_SOURCE, 0);
|
||||||
+ g_settings_apply (priv->input_settings);
|
+ g_settings_apply (priv->input_settings);
|
||||||
}
|
}
|
||||||
@ -240,11 +259,11 @@ index fa41230f..2583c447 100644
|
|||||||
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
+ const gchar *type;
|
+ const gchar *type;
|
||||||
+ const gchar *id;
|
+ const gchar *id;
|
||||||
+
|
|
||||||
+ type = cc_input_chooser_get_input_type (CC_INPUT_CHOOSER (priv->input_chooser));
|
|
||||||
+ id = cc_input_chooser_get_input_id (CC_INPUT_CHOOSER (priv->input_chooser));
|
|
||||||
|
|
||||||
- set_input_settings (self);
|
- set_input_settings (self);
|
||||||
|
+ type = cc_input_chooser_get_input_type (CC_INPUT_CHOOSER (priv->input_chooser));
|
||||||
|
+ id = cc_input_chooser_get_input_id (CC_INPUT_CHOOSER (priv->input_chooser));
|
||||||
|
+
|
||||||
+ set_input_settings (self, type, id);
|
+ set_input_settings (self, type, id);
|
||||||
|
|
||||||
if (gis_driver_get_mode (GIS_PAGE (self)->driver) == GIS_DRIVER_MODE_NEW_USER) {
|
if (gis_driver_get_mode (GIS_PAGE (self)->driver) == GIS_DRIVER_MODE_NEW_USER) {
|
||||||
@ -314,10 +333,11 @@ index fa41230f..2583c447 100644
|
|||||||
- return sources;
|
- return sources;
|
||||||
-}
|
-}
|
||||||
-
|
-
|
||||||
-static void
|
static void
|
||||||
-add_default_keyboard_layout (GDBusProxy *proxy,
|
-add_default_keyboard_layout (GDBusProxy *proxy,
|
||||||
- GVariantBuilder *builder)
|
- GVariantBuilder *builder)
|
||||||
-{
|
+add_default_input_sources (GisKeyboardPage *self)
|
||||||
|
{
|
||||||
- GSList *sources = get_localed_input (proxy);
|
- GSList *sources = get_localed_input (proxy);
|
||||||
- sources = g_slist_reverse (sources);
|
- sources = g_slist_reverse (sources);
|
||||||
-
|
-
|
||||||
@ -328,23 +348,19 @@ index fa41230f..2583c447 100644
|
|||||||
- g_slist_free_full (sources, g_free);
|
- g_slist_free_full (sources, g_free);
|
||||||
-}
|
-}
|
||||||
-
|
-
|
||||||
static void
|
-static void
|
||||||
-add_default_input_sources (GisKeyboardPage *self,
|
-add_default_input_sources (GisKeyboardPage *self,
|
||||||
- GDBusProxy *proxy)
|
- GDBusProxy *proxy)
|
||||||
+add_default_input_sources (GisKeyboardPage *self)
|
-{
|
||||||
{
|
|
||||||
- const gchar *type;
|
- const gchar *type;
|
||||||
- const gchar *id;
|
- const gchar *id;
|
||||||
- gchar *language;
|
- gchar *language;
|
||||||
+ GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
- GVariantBuilder builder;
|
||||||
GVariantBuilder builder;
|
|
||||||
- GSettings *input_settings;
|
- GSettings *input_settings;
|
||||||
+ gboolean defaults_have_latin = FALSE;
|
-
|
||||||
+ size_t i;
|
|
||||||
|
|
||||||
- input_settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR);
|
- input_settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR);
|
||||||
g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)"));
|
- g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)"));
|
||||||
|
-
|
||||||
- add_default_keyboard_layout (proxy, &builder);
|
- add_default_keyboard_layout (proxy, &builder);
|
||||||
-
|
-
|
||||||
- /* add other input sources */
|
- /* add other input sources */
|
||||||
@ -352,13 +368,9 @@ index fa41230f..2583c447 100644
|
|||||||
- if (gnome_get_input_source_from_locale (language, &type, &id)) {
|
- if (gnome_get_input_source_from_locale (language, &type, &id)) {
|
||||||
- if (!g_str_equal (type, "xkb"))
|
- if (!g_str_equal (type, "xkb"))
|
||||||
- g_variant_builder_add (&builder, "(ss)", type, id);
|
- g_variant_builder_add (&builder, "(ss)", type, id);
|
||||||
+ for (i = 0; priv->default_input_source_ids[i] != NULL; i++) {
|
- }
|
||||||
+ g_variant_builder_add (&builder, "(ss)", priv->default_input_source_types[i], priv->default_input_source_ids[i]);
|
|
||||||
+ if (!gnome_input_source_is_non_latin (priv->default_input_source_types[i], priv->default_input_source_ids[i]))
|
|
||||||
+ defaults_have_latin = TRUE;
|
|
||||||
}
|
|
||||||
- g_free (language);
|
- g_free (language);
|
||||||
|
-
|
||||||
- g_settings_delay (input_settings);
|
- g_settings_delay (input_settings);
|
||||||
- g_settings_set_value (input_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
|
- g_settings_set_value (input_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
|
||||||
- g_settings_set_uint (input_settings, KEY_CURRENT_INPUT_SOURCE, 0);
|
- g_settings_set_uint (input_settings, KEY_CURRENT_INPUT_SOURCE, 0);
|
||||||
@ -386,14 +398,9 @@ index fa41230f..2583c447 100644
|
|||||||
- }
|
- }
|
||||||
-
|
-
|
||||||
- add_default_input_sources (self, proxy);
|
- add_default_input_sources (self, proxy);
|
||||||
+ if (!defaults_have_latin) {
|
-
|
||||||
+ g_variant_builder_add (&builder, "(ss)", "xkb", "us");
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- g_object_unref (proxy);
|
- g_object_unref (proxy);
|
||||||
+ g_settings_set_value (priv->input_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
|
+ set_input_settings (self, NULL, NULL);
|
||||||
+ g_settings_set_uint (priv->input_settings, KEY_CURRENT_INPUT_SOURCE, 0);
|
|
||||||
+ g_settings_apply (priv->input_settings);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -542,8 +549,9 @@ index fa41230f..2583c447 100644
|
|||||||
+ g_autoptr (GError) error = NULL;
|
+ g_autoptr (GError) error = NULL;
|
||||||
+ g_auto (GStrv) ids = NULL;
|
+ g_auto (GStrv) ids = NULL;
|
||||||
+ g_auto (GStrv) types = NULL;
|
+ g_auto (GStrv) types = NULL;
|
||||||
|
+ g_auto (GStrv) options = NULL;
|
||||||
+
|
+
|
||||||
+ ids = gnome_get_default_input_sources_finish (res, &types, &error);
|
+ ids = gnome_get_default_input_sources_finish (res, &types, &options, &error);
|
||||||
+
|
+
|
||||||
+ if (!ids) {
|
+ if (!ids) {
|
||||||
+ if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
|
+ if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
|
||||||
@ -553,6 +561,7 @@ index fa41230f..2583c447 100644
|
|||||||
+
|
+
|
||||||
+ priv->default_input_source_ids = g_steal_pointer (&ids);
|
+ priv->default_input_source_ids = g_steal_pointer (&ids);
|
||||||
+ priv->default_input_source_types = g_steal_pointer (&types);
|
+ priv->default_input_source_types = g_steal_pointer (&types);
|
||||||
|
+ priv->default_input_options = g_steal_pointer (&options);
|
||||||
+
|
+
|
||||||
+ if (priv->should_skip) {
|
+ if (priv->should_skip) {
|
||||||
+ add_default_input_sources (self);
|
+ add_default_input_sources (self);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 5efa8fe5b0abbe7cb951f0581a5511c0d682f290 Mon Sep 17 00:00:00 2001
|
From c8246d78f920af9bc2b2971616ca4e199301a2b6 Mon Sep 17 00:00:00 2001
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
Date: Tue, 15 Aug 2023 10:53:41 -0400
|
Date: Tue, 15 Aug 2023 10:53:41 -0400
|
||||||
Subject: [PATCH 02/10] gnome-initial-setup: Bump GLib required version to 2.70
|
Subject: [PATCH 02/10] gnome-initial-setup: Bump GLib required version to 2.70
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From b511ec8b34d3120fc4a9dbf2202f40f335a2802f Mon Sep 17 00:00:00 2001
|
From 658a673feac93493a74a83434abce93e39bff170 Mon Sep 17 00:00:00 2001
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
Date: Sun, 13 Aug 2023 09:09:56 -0400
|
Date: Sun, 13 Aug 2023 09:09:56 -0400
|
||||||
Subject: [PATCH 03/10] driver: Specify mode via flags instead of boolean
|
Subject: [PATCH 03/10] driver: Specify mode via flags instead of boolean
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From dc25c47c1300e6b31dd0c9d5723f026a23e57ac3 Mon Sep 17 00:00:00 2001
|
From 97433b89c94c39c9059344a0e4a562b6ef251675 Mon Sep 17 00:00:00 2001
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
Date: Wed, 16 Aug 2023 10:47:13 -0400
|
Date: Wed, 16 Aug 2023 10:47:13 -0400
|
||||||
Subject: [PATCH 04/10] initial-setup: Don't show duplicated pages between
|
Subject: [PATCH 04/10] initial-setup: Don't show duplicated pages between
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 42d8bdfc0d37460cedf6fb3fe59bdfc0769c48ec Mon Sep 17 00:00:00 2001
|
From 43db755e9027bde74626b9d2f15ee9013c8f7dc6 Mon Sep 17 00:00:00 2001
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
Date: Fri, 25 Aug 2023 21:30:42 -0400
|
Date: Fri, 25 Aug 2023 21:30:42 -0400
|
||||||
Subject: [PATCH 05/10] summary: Write uid file with other state files
|
Subject: [PATCH 05/10] summary: Write uid file with other state files
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From a7112122b3f1c68ab96e644e4c62715f02d5af69 Mon Sep 17 00:00:00 2001
|
From 64e82b502c7ed692f360c82478dc35dad55ed051 Mon Sep 17 00:00:00 2001
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
Date: Sun, 13 Aug 2023 09:39:07 -0400
|
Date: Sun, 13 Aug 2023 09:39:07 -0400
|
||||||
Subject: [PATCH 06/10] gnome-initial-setup: Add live user mode
|
Subject: [PATCH 06/10] gnome-initial-setup: Add live user mode
|
||||||
@ -1288,10 +1288,10 @@ index 00000000..e5084e5e
|
|||||||
+ 'gis-install-page.h'
|
+ 'gis-install-page.h'
|
||||||
+)
|
+)
|
||||||
diff --git a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
diff --git a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
index 2583c447..cb4f68d8 100644
|
index 61556b99..44d48fd0 100644
|
||||||
--- a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
--- a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
+++ b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
+++ b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
@@ -189,61 +189,61 @@ change_locale_permission_acquired (GObject *source,
|
@@ -199,61 +199,61 @@ change_locale_permission_acquired (GObject *source,
|
||||||
{
|
{
|
||||||
GisKeyboardPage *page = GIS_KEYBOARD_PAGE (data);
|
GisKeyboardPage *page = GIS_KEYBOARD_PAGE (data);
|
||||||
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (page);
|
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (page);
|
||||||
@ -1346,15 +1346,15 @@ index 2583c447..cb4f68d8 100644
|
|||||||
static void
|
static void
|
||||||
add_default_input_sources (GisKeyboardPage *self)
|
add_default_input_sources (GisKeyboardPage *self)
|
||||||
{
|
{
|
||||||
|
set_input_settings (self, NULL, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gis_keyboard_page_skip (GisPage *page)
|
||||||
|
{
|
||||||
|
GisKeyboardPage *self = GIS_KEYBOARD_PAGE (page);
|
||||||
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
GVariantBuilder builder;
|
@@ -358,61 +358,61 @@ static void
|
||||||
gboolean defaults_have_latin = FALSE;
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)"));
|
|
||||||
|
|
||||||
for (i = 0; priv->default_input_source_ids[i] != NULL; i++) {
|
|
||||||
@@ -365,61 +365,61 @@ static void
|
|
||||||
gis_keyboard_page_constructed (GObject *object)
|
gis_keyboard_page_constructed (GObject *object)
|
||||||
{
|
{
|
||||||
GisKeyboardPage *self = GIS_KEYBOARD_PAGE (object);
|
GisKeyboardPage *self = GIS_KEYBOARD_PAGE (object);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 893ecb7194306ce1fb3637454849e3183a58f742 Mon Sep 17 00:00:00 2001
|
From 29fbe5dda08df05b193c0a064a58e5f0d9a66a4a Mon Sep 17 00:00:00 2001
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
Date: Sat, 19 Aug 2023 15:31:03 -0400
|
Date: Sat, 19 Aug 2023 15:31:03 -0400
|
||||||
Subject: [PATCH 07/10] keyboard: Don't add default input sources if input
|
Subject: [PATCH 07/10] keyboard: Don't add default input sources if input
|
||||||
@ -12,14 +12,16 @@ That is all fine and good, but may stomp on existiing site or distro configurati
|
|||||||
This commit checks for that kind of thing first, and skips adding the
|
This commit checks for that kind of thing first, and skips adding the
|
||||||
default in that case.
|
default in that case.
|
||||||
---
|
---
|
||||||
.../pages/keyboard/gis-keyboard-page.c | 11 +++++++++++
|
gnome-initial-setup/pages/keyboard/gis-keyboard-page.c | 10 ++++++++++
|
||||||
1 file changed, 11 insertions(+)
|
1 file changed, 10 insertions(+)
|
||||||
|
|
||||||
diff --git a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
diff --git a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
index cb4f68d8..febd1483 100644
|
index 44d48fd0..a3be7287 100644
|
||||||
--- a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
--- a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
+++ b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
+++ b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
@@ -214,63 +214,74 @@ update_input (GisKeyboardPage *self)
|
@@ -222,60 +222,70 @@ update_input (GisKeyboardPage *self)
|
||||||
|
const gchar *id;
|
||||||
|
|
||||||
type = cc_input_chooser_get_input_type (CC_INPUT_CHOOSER (priv->input_chooser));
|
type = cc_input_chooser_get_input_type (CC_INPUT_CHOOSER (priv->input_chooser));
|
||||||
id = cc_input_chooser_get_input_id (CC_INPUT_CHOOSER (priv->input_chooser));
|
id = cc_input_chooser_get_input_id (CC_INPUT_CHOOSER (priv->input_chooser));
|
||||||
|
|
||||||
@ -48,37 +50,17 @@ index cb4f68d8..febd1483 100644
|
|||||||
static void
|
static void
|
||||||
add_default_input_sources (GisKeyboardPage *self)
|
add_default_input_sources (GisKeyboardPage *self)
|
||||||
{
|
{
|
||||||
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
+ GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
GVariantBuilder builder;
|
+ g_autoptr(GVariant) default_value = NULL;
|
||||||
+ GSettings *input_settings;
|
+ g_autoptr(GVariant) value = NULL;
|
||||||
+ g_autoptr(GVariant) default_value = NULL;
|
|
||||||
+ g_autoptr(GVariant) value = NULL;
|
|
||||||
gboolean defaults_have_latin = FALSE;
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
+ input_settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR);
|
|
||||||
+
|
+
|
||||||
+ default_value = g_settings_get_default_value (input_settings, KEY_INPUT_SOURCES);
|
+ default_value = g_settings_get_default_value (priv->input_settings, KEY_INPUT_SOURCES);
|
||||||
+ value = g_settings_get_value (input_settings, KEY_INPUT_SOURCES);
|
+ value = g_settings_get_value (priv->input_settings, KEY_INPUT_SOURCES);
|
||||||
+
|
+
|
||||||
+ if (!g_variant_equal (default_value, value))
|
+ if (!g_variant_equal (default_value, value))
|
||||||
+ return;
|
+ return;
|
||||||
+
|
+
|
||||||
g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)"));
|
set_input_settings (self, NULL, NULL);
|
||||||
|
|
||||||
for (i = 0; priv->default_input_source_ids[i] != NULL; i++) {
|
|
||||||
g_variant_builder_add (&builder, "(ss)", priv->default_input_source_types[i], priv->default_input_source_ids[i]);
|
|
||||||
if (!gnome_input_source_is_non_latin (priv->default_input_source_types[i], priv->default_input_source_ids[i]))
|
|
||||||
defaults_have_latin = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!defaults_have_latin) {
|
|
||||||
g_variant_builder_add (&builder, "(ss)", "xkb", "us");
|
|
||||||
}
|
|
||||||
|
|
||||||
g_settings_set_value (priv->input_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
|
|
||||||
g_settings_set_uint (priv->input_settings, KEY_CURRENT_INPUT_SOURCE, 0);
|
|
||||||
g_settings_apply (priv->input_settings);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -94,6 +76,20 @@ index cb4f68d8..febd1483 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
preselect_input_source (GisKeyboardPage *self)
|
||||||
|
{
|
||||||
|
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
|
|
||||||
|
cc_input_chooser_set_input (CC_INPUT_CHOOSER (priv->input_chooser),
|
||||||
|
priv->default_input_source_ids[0],
|
||||||
|
priv->default_input_source_types[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
update_page_complete (GisKeyboardPage *self)
|
||||||
|
{
|
||||||
|
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
|
gboolean complete;
|
||||||
--
|
--
|
||||||
2.41.0.rc2
|
2.41.0.rc2
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 79e3d56cf0670854cb32e1884cb9c4e14664aad1 Mon Sep 17 00:00:00 2001
|
From e5a05979db85f7a76b1292efb466b3d49e1e0564 Mon Sep 17 00:00:00 2001
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
Date: Sun, 13 Aug 2023 10:30:11 -0400
|
Date: Sun, 13 Aug 2023 10:30:11 -0400
|
||||||
Subject: [PATCH 08/10] gnome-initial-setup: Add OEM mode
|
Subject: [PATCH 08/10] gnome-initial-setup: Add OEM mode
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 58a26e35a2d367dd501faf8dcecac3569fab274d Mon Sep 17 00:00:00 2001
|
From 87950841dceb637f6f6da001e283b53527bf5312 Mon Sep 17 00:00:00 2001
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
Date: Sun, 13 Aug 2023 16:33:49 -0400
|
Date: Sun, 13 Aug 2023 16:33:49 -0400
|
||||||
Subject: [PATCH 09/10] polkit: Add fedora specfic rules
|
Subject: [PATCH 09/10] polkit: Add fedora specfic rules
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 26543a5a3a9e54c88f72b6d4cd0fe019933765ae Mon Sep 17 00:00:00 2001
|
From 4c263eb0ab00dbdcea4589fca4dc3a82f18de5eb Mon Sep 17 00:00:00 2001
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
Date: Tue, 22 Aug 2023 13:51:40 -0400
|
Date: Tue, 22 Aug 2023 13:51:40 -0400
|
||||||
Subject: [PATCH 10/10] gnome-initial-setup: Read /etc/sysconfig/anaconda
|
Subject: [PATCH 10/10] gnome-initial-setup: Read /etc/sysconfig/anaconda
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
%global glib_required_version 2.63.1
|
%global glib_required_version 2.63.1
|
||||||
%global gtk_required_version 4.6
|
%global gtk_required_version 4.6
|
||||||
%global geoclue_version 2.3.1
|
%global geoclue_version 2.3.1
|
||||||
%global gnome_desktop_version 44.0-5
|
%global gnome_desktop_version 44.0-6
|
||||||
|
|
||||||
%global tarball_version %%(echo %{version} | tr '~' '.')
|
%global tarball_version %%(echo %{version} | tr '~' '.')
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user