diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:47:04 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:47:04 +0000 |
commit | 70dcd40a48b34179ec7a6cdf5d2ade5e7f2038f5 (patch) | |
tree | 3eec7b12c2fb81157d19bb8dc4b3fe278bbb0f28 /debian/patches | |
parent | Adding upstream version 43.2. (diff) | |
download | gnome-initial-setup-debian.tar.xz gnome-initial-setup-debian.zip |
Adding debian version 43.2-6.debian/43.2-6debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches')
9 files changed, 579 insertions, 0 deletions
diff --git a/debian/patches/Add-StartupWMClass-to-.desktop-file.patch b/debian/patches/Add-StartupWMClass-to-.desktop-file.patch new file mode 100644 index 0000000..c09abb8 --- /dev/null +++ b/debian/patches/Add-StartupWMClass-to-.desktop-file.patch @@ -0,0 +1,29 @@ +From: Will Thompson <wjt@endlessos.org> +Date: Fri, 3 Mar 2023 11:04:52 +0000 +Subject: Add StartupWMClass to .desktop file + +Initial Setup's application ID is org.gnome.InitialSetup. This does not +match the desktop file name. It is too late in the current development +cycle to rename the desktop file to match. + +Instead, allow the shell to associate the initial setup window with its +desktop file by specifying StartupWMClass. + +See https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/179 and +https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/186 +for more background. + +Origin: upstream, 44~rc, commit:87e81b9c80dfb05f43fe62bb5dad62f707f3b824 +--- + data/gnome-initial-setup.desktop.in.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/data/gnome-initial-setup.desktop.in.in b/data/gnome-initial-setup.desktop.in.in +index e7aa666..c15fd6e 100644 +--- a/data/gnome-initial-setup.desktop.in.in ++++ b/data/gnome-initial-setup.desktop.in.in +@@ -10,3 +10,4 @@ Categories=GNOME;GTK;System; + OnlyShowIn=GNOME; + NoDisplay=true + X-GNOME-HiddenUnderSystemd=@systemd_hidden@ ++StartupWMClass=org.gnome.InitialSetup diff --git a/debian/patches/Update-for-removal-of-WebKitGTK-sandbox-API.patch b/debian/patches/Update-for-removal-of-WebKitGTK-sandbox-API.patch new file mode 100644 index 0000000..a9e150b --- /dev/null +++ b/debian/patches/Update-for-removal-of-WebKitGTK-sandbox-API.patch @@ -0,0 +1,26 @@ +From: Michael Catanzaro <mcatanzaro@redhat.com> +Date: Thu, 19 Jan 2023 20:07:40 -0600 +Subject: Update for removal of WebKitGTK sandbox API + +WebKitGTK 2.39.5 contains an ABI break. The sandbox is now mandatory, so +the API to enable/disable it is gone. + +(cherry picked from commit 1a8f9ecfceb2e3106910b7bf7987f0fc75886670) +--- + gnome-initial-setup/gis-driver.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gnome-initial-setup/gis-driver.c b/gnome-initial-setup/gis-driver.c +index 8459efa..574887c 100644 +--- a/gnome-initial-setup/gis-driver.c ++++ b/gnome-initial-setup/gis-driver.c +@@ -788,7 +788,9 @@ gis_driver_startup (GApplication *app) + + G_APPLICATION_CLASS (gis_driver_parent_class)->startup (app); + ++#if !WEBKIT_CHECK_VERSION(2, 39, 5) + webkit_web_context_set_sandbox_enabled (context, TRUE); ++#endif + + if (driver->mode == GIS_DRIVER_MODE_NEW_USER) + connect_to_gdm (driver); diff --git a/debian/patches/driver-Set-a-non-trivial-window-title.patch b/debian/patches/driver-Set-a-non-trivial-window-title.patch new file mode 100644 index 0000000..586d0aa --- /dev/null +++ b/debian/patches/driver-Set-a-non-trivial-window-title.patch @@ -0,0 +1,28 @@ +From: Simon McVittie <smcv@debian.org> +Date: Mon, 6 Mar 2023 23:34:50 +0000 +Subject: driver: Set a non-trivial window title + +When running in "existing user" mode (which isn't done upstream, but +Debian and Ubuntu re-enable it because they don't have GNOME Tour), +the window title is visible in Alt+[key above Tab] and the Overview. +It defaults to "gnome-initial-setup", but looks better if we reuse the +translated name from the .desktop file. + +Signed-off-by: Simon McVittie <smcv@debian.org> +Forwarded: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/191 +--- + gnome-initial-setup/gis-driver.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gnome-initial-setup/gis-driver.c b/gnome-initial-setup/gis-driver.c +index 1ddf3c6..8459efa 100644 +--- a/gnome-initial-setup/gis-driver.c ++++ b/gnome-initial-setup/gis-driver.c +@@ -797,6 +797,7 @@ gis_driver_startup (GApplication *app) + "application", app, + "icon-name", "preferences-system", + "deletable", FALSE, ++ "title", _("Initial Setup"), + NULL); + + g_signal_connect (driver->main_window, diff --git a/debian/patches/keyboard-Correctly-update-labels-for-IBus-engines.patch b/debian/patches/keyboard-Correctly-update-labels-for-IBus-engines.patch new file mode 100644 index 0000000..3019576 --- /dev/null +++ b/debian/patches/keyboard-Correctly-update-labels-for-IBus-engines.patch @@ -0,0 +1,189 @@ +From: Simon McVittie <smcv@debian.org> +Date: Mon, 6 Mar 2023 22:23:28 +0000 +Subject: keyboard: Correctly update labels for IBus engines + +After the port from GTK 3 to 4, in general there's an additional level +of indirection: the children of priv->input_list are GtkListBoxRow +objects containing the widget whose user-data is the InputWidget. This +means we didn't find the InputWidget and therefore couldn't update its +display name. + +Unfortunately, there is one exception to the rule that every child +of a GtkListBox is a GtkListBoxRow: the placeholder object, in our +case priv->no_results, is not wrapped in a GtkListBoxRow (see also +GNOME/gtk#4523). This means that walking the GtkWidget tree seems rather +fragile: it's difficult to tell whether each child of the GtkListBox +is a GtkListBoxRow, or the placeholder object priv->no_results, or +some third type of object that could be added by a future GTK version +(particularly since there is no particular type-safety here). + +Instead of walking the widget tree, maintain our own parallel list of +known keyboard layouts and other input methods. For this list, we can +safely assert that every item is something that we put there, with the +invariant that it's a GtkBox with an InputWidget attached. + +This means that we can reliably find the InputWidget, and update its +associated display name. + +Fixes: ad500afc "keyboard: Port to GTK4" +Bug: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/180 +Signed-off-by: Simon McVittie <smcv@debian.org> +Bug-Debian: https://bugs.debian.org/1032382 +Forwarded: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/180 +--- + .../pages/keyboard/cc-input-chooser.c | 56 ++++++++++++---------- + 1 file changed, 31 insertions(+), 25 deletions(-) + +diff --git a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c +index 2dd58e9..ae8f2d7 100644 +--- a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c ++++ b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c +@@ -50,6 +50,7 @@ struct _CcInputChooserPrivate + { + GtkWidget *filter_entry; + GtkWidget *input_list; ++ GPtrArray *input_widget_boxes; + GHashTable *inputs; + + GtkWidget *no_results; +@@ -96,6 +97,11 @@ typedef struct { + gboolean is_extra; + } InputWidget; + ++/* ++ * Invariant: for each box in priv->input_widget_boxes, ++ * get_input_widget (row) is non-null and ++ * get_input_widget (row)->box == box ++ */ + static InputWidget * + get_input_widget (GtkWidget *widget) + { +@@ -258,21 +264,20 @@ static void + sync_all_checkmarks (CcInputChooser *chooser) + { + CcInputChooserPrivate *priv; +- GtkWidget *row; + gboolean invalidate = FALSE; ++ gsize i; + + priv = cc_input_chooser_get_instance_private (chooser); +- row = gtk_widget_get_first_child (priv->input_list); +- while (row) { ++ ++ for (i = 0; i < priv->input_widget_boxes->len; i++) { + InputWidget *widget; + GtkWidget *child; + gboolean should_be_visible; + +- child = gtk_list_box_row_get_child (GTK_LIST_BOX_ROW (row)); ++ child = g_ptr_array_index (priv->input_widget_boxes, i); + widget = get_input_widget (child); +- +- if (widget == NULL) +- break; ++ g_assert (widget != NULL); ++ g_assert (widget->box == child); + + if (priv->id == NULL || priv->type == NULL) + should_be_visible = FALSE; +@@ -287,8 +292,6 @@ sync_all_checkmarks (CcInputChooser *chooser) + widget->is_extra = FALSE; + invalidate = TRUE; + } +- +- row = gtk_widget_get_next_sibling (row); + } + + if (invalidate) { +@@ -335,28 +338,26 @@ static void + choose_non_extras (CcInputChooser *chooser) + { + CcInputChooserPrivate *priv; +- GtkWidget *row; + guint count = 0; ++ gsize i; + + priv = cc_input_chooser_get_instance_private (chooser); +- row = gtk_widget_get_first_child (priv->input_list); +- while (row) { ++ ++ for (i = 0; i < priv->input_widget_boxes->len; i++) { + InputWidget *widget; + GtkWidget *child; + + if (++count > MIN_ROWS) + break; + +- child = gtk_list_box_row_get_child (GTK_LIST_BOX_ROW (row)); ++ child = g_ptr_array_index (priv->input_widget_boxes, i); + widget = get_input_widget (child); +- if (widget == NULL) +- break; ++ g_assert (widget != NULL); ++ g_assert (widget->box == child); + + g_debug ("Picking %s (%s:%s) as non-extra", + widget->name, widget->type, widget->id); + widget->is_extra = FALSE; +- +- row = gtk_widget_get_next_sibling (row); + } + + /* Changing is_extra above affects the ordering and the visibility +@@ -391,6 +392,7 @@ add_rows_to_list (CcInputChooser *chooser, + g_hash_table_add (priv->inputs, key); + + widget = input_widget_new (chooser, type, id, TRUE); ++ g_ptr_array_add (priv->input_widget_boxes, g_object_ref_sink (widget)); + gtk_list_box_append (GTK_LIST_BOX (priv->input_list), widget); + } + } +@@ -588,21 +590,21 @@ update_ibus_active_sources (CcInputChooser *chooser) + { + CcInputChooserPrivate *priv; + IBusEngineDesc *engine_desc; +- GtkWidget *child; + const gchar *type; + const gchar *id; + gchar *name; ++ gsize i; + + priv = cc_input_chooser_get_instance_private (chooser); +- child = gtk_widget_get_first_child (priv->input_list); +- while (child) { +- InputWidget *row; + +- row = get_input_widget (child); +- child = gtk_widget_get_next_sibling (child); ++ for (i = 0; i < priv->input_widget_boxes->len; i++) { ++ GtkWidget *child; ++ InputWidget *row; + +- if (row == NULL) +- continue; ++ child = g_ptr_array_index (priv->input_widget_boxes, i); ++ row = get_input_widget (child); ++ g_assert (row != NULL); ++ g_assert (row->box == child); + + type = row->type; + id = row->id; +@@ -774,6 +776,7 @@ cc_input_chooser_finalize (GObject *object) + + g_clear_object (&priv->xkb_info); + g_hash_table_unref (priv->inputs); ++ g_clear_pointer (&priv->input_widget_boxes, g_ptr_array_unref); + #ifdef HAVE_IBUS + g_clear_object (&priv->ibus); + if (priv->ibus_cancellable) +@@ -844,7 +847,10 @@ cc_input_chooser_class_init (CcInputChooserClass *klass) + static void + cc_input_chooser_init (CcInputChooser *chooser) + { ++ CcInputChooserPrivate *priv = cc_input_chooser_get_instance_private (chooser); ++ + gtk_widget_init_template (GTK_WIDGET (chooser)); ++ priv->input_widget_boxes = g_ptr_array_new_with_free_func (g_object_unref); + } + + void diff --git a/debian/patches/keyboard-Resort-refilter-list-when-picking-shortlist.patch b/debian/patches/keyboard-Resort-refilter-list-when-picking-shortlist.patch new file mode 100644 index 0000000..0378ab0 --- /dev/null +++ b/debian/patches/keyboard-Resort-refilter-list-when-picking-shortlist.patch @@ -0,0 +1,96 @@ +From: Will Thompson <wjt@endlessos.org> +Date: Fri, 3 Mar 2023 13:17:18 +0000 +Subject: keyboard: Resort & refilter list when picking shortlist + +Each row of the keyboard layout/input method list has a flag for whether +it is an "extra" layout, hidden by default, or not. All rows are added +with the is_extra flag set to TRUE; later, they can be marked as +non-extra in a few ways: + +- The currently-selected layout is (indirectly) marked as non-extra +- Selecting a layout marks it as non-extra +- 5 semi-arbitrary layouts are marked as non-extra + +To make the list work, the GtkListBox has sort and filter functions set: + +- The sort function sorts extra layouts after non-extra layouts +- The filter function hides extra layouts, unless the user is searching + or has clicked the vertical ellipsis to see all layouts + +But previously, the sort and filter of the list were not always +invalidated when one or more layouts' is_extra flags were changed. As a +result, the list always showed no layouts by default, just the vertical +ellipsis to see all layouts. + +Fix this by invalidating both sort and filter when a layout is marked +non-extra. + +Bug: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/165 +Origin: upstream, 44.rc, commit:151688f670e8c6f5ecc8a7bac686ddcc815cdf11 +--- + .../pages/keyboard/cc-input-chooser.c | 22 +++++++++++++++++++--- + 1 file changed, 19 insertions(+), 3 deletions(-) + +diff --git a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c +index efba249..2dd58e9 100644 +--- a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c ++++ b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c +@@ -259,6 +259,7 @@ sync_all_checkmarks (CcInputChooser *chooser) + { + CcInputChooserPrivate *priv; + GtkWidget *row; ++ gboolean invalidate = FALSE; + + priv = cc_input_chooser_get_instance_private (chooser); + row = gtk_widget_get_first_child (priv->input_list); +@@ -271,7 +272,7 @@ sync_all_checkmarks (CcInputChooser *chooser) + widget = get_input_widget (child); + + if (widget == NULL) +- return; ++ break; + + if (priv->id == NULL || priv->type == NULL) + should_be_visible = FALSE; +@@ -280,13 +281,20 @@ sync_all_checkmarks (CcInputChooser *chooser) + g_strcmp0 (widget->type, priv->type) == 0; + gtk_widget_set_opacity (widget->checkmark, should_be_visible ? 1.0 : 0.0); + +- if (widget->is_extra && should_be_visible) ++ if (widget->is_extra && should_be_visible) { ++ g_debug ("Marking selected layout %s (%s:%s) as non-extra", ++ widget->name, widget->type, widget->id); + widget->is_extra = FALSE; ++ invalidate = TRUE; ++ } + + row = gtk_widget_get_next_sibling (row); + } + +- gtk_list_box_invalidate_filter (GTK_LIST_BOX (priv->input_list)); ++ if (invalidate) { ++ gtk_list_box_invalidate_sort (GTK_LIST_BOX (priv->input_list)); ++ gtk_list_box_invalidate_filter (GTK_LIST_BOX (priv->input_list)); ++ } + } + + static GtkWidget * +@@ -344,10 +352,18 @@ choose_non_extras (CcInputChooser *chooser) + if (widget == NULL) + break; + ++ g_debug ("Picking %s (%s:%s) as non-extra", ++ widget->name, widget->type, widget->id); + widget->is_extra = FALSE; + + row = gtk_widget_get_next_sibling (row); + } ++ ++ /* Changing is_extra above affects the ordering and the visibility ++ * of the newly non-extra rows. ++ */ ++ gtk_list_box_invalidate_sort (GTK_LIST_BOX (priv->input_list)); ++ gtk_list_box_invalidate_filter (GTK_LIST_BOX (priv->input_list)); + } + + static void diff --git a/debian/patches/keyboard-Update-filter-and-sort-when-the-display-name-cha.patch b/debian/patches/keyboard-Update-filter-and-sort-when-the-display-name-cha.patch new file mode 100644 index 0000000..ba8d296 --- /dev/null +++ b/debian/patches/keyboard-Update-filter-and-sort-when-the-display-name-cha.patch @@ -0,0 +1,46 @@ +From: Simon McVittie <smcv@debian.org> +Date: Sun, 5 Mar 2023 16:16:12 +0000 +Subject: keyboard: Update filter and sort when the display name changes + +The display name in `InputWidget.name` can affect `sort_inputs()` +and `input_visible()`, so we should update it when we replace the +placeholder display name with the real one, and tell GTK to update its +state accordingly. + +Signed-off-by: Simon McVittie <smcv@debian.org> +Bug-Debian: https://bugs.debian.org/1032382 +Forwarded: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/180 +--- + gnome-initial-setup/pages/keyboard/cc-input-chooser.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c +index ae8f2d7..b851ec6 100644 +--- a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c ++++ b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c +@@ -589,6 +589,7 @@ static void + update_ibus_active_sources (CcInputChooser *chooser) + { + CcInputChooserPrivate *priv; ++ gboolean invalidate = FALSE; + IBusEngineDesc *engine_desc; + const gchar *type; + const gchar *id; +@@ -615,9 +616,16 @@ update_ibus_active_sources (CcInputChooser *chooser) + if (engine_desc) { + name = engine_get_display_name (engine_desc); + gtk_label_set_text (GTK_LABEL (row->label), name); +- g_free (name); ++ g_clear_pointer (&row->name, g_free); ++ row->name = g_steal_pointer (&name); ++ invalidate = TRUE; + } + } ++ ++ if (invalidate) { ++ gtk_list_box_invalidate_sort (GTK_LIST_BOX (priv->input_list)); ++ gtk_list_box_invalidate_filter (GTK_LIST_BOX (priv->input_list)); ++ } + } + + static void diff --git a/debian/patches/privacy-Move-subtitles-to-separate-labels.patch b/debian/patches/privacy-Move-subtitles-to-separate-labels.patch new file mode 100644 index 0000000..275aa23 --- /dev/null +++ b/debian/patches/privacy-Move-subtitles-to-separate-labels.patch @@ -0,0 +1,121 @@ +From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com> +Date: Tue, 14 Mar 2023 15:29:45 -0300 +Subject: privacy: Move subtitles to separate labels + +Prior to 71e3e2b4, the subtitles were contained into separate +GtkLabels connected to the the 'activate-link' signal. That commit +moved these labels to inside the corresponding AdwActionRows, but +did not account for the 'activate-link' signal. + +To the best of my knowledgethere is currently no way to properly +support this with libadwaita rows. In addition to that, the latest +mockup [1] suggest placing these labels beneath the listbox anyway. + +Move the subtitle labels to outside the action row, into a separate +labels beneath the listbox. Connect to the 'activate-link' signal +again. + +[1] https://gitlab.gnome.org/Teams/Design/os-mockups/-/raw/master/initial-setup/initial-setup.png + +(cherry picked from commit d230f18dc50bc40977b613845c8d50d1327cacf4) + +Bug: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/181 +Bug-Debian: https://bugs.debian.org/1033228 +Forwarded: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/196 +--- + .../pages/privacy/gis-privacy-page.c | 6 ++--- + .../pages/privacy/gis-privacy-page.ui | 31 +++++++++++++++++++++- + 2 files changed, 33 insertions(+), 4 deletions(-) + +diff --git a/gnome-initial-setup/pages/privacy/gis-privacy-page.c b/gnome-initial-setup/pages/privacy/gis-privacy-page.c +index 3632142..21e5d48 100644 +--- a/gnome-initial-setup/pages/privacy/gis-privacy-page.c ++++ b/gnome-initial-setup/pages/privacy/gis-privacy-page.c +@@ -42,7 +42,7 @@ struct _GisPrivacyPagePrivate + { + GtkWidget *location_switch; + GtkWidget *reporting_group; +- GtkWidget *reporting_row; ++ GtkWidget *reporting_label; + GtkWidget *reporting_switch; + GSettings *location_settings; + GSettings *privacy_settings; +@@ -82,7 +82,7 @@ update_os_data (GisPrivacyPage *page) + subtitle = g_strdup_printf (_("Sends technical reports that have personal information automatically " + "removed. Data is collected by %s."), name); + } +- adw_action_row_set_subtitle (ADW_ACTION_ROW (priv->reporting_row), subtitle); ++ gtk_label_set_markup (GTK_LABEL (priv->reporting_label), subtitle); + } + + static void +@@ -244,7 +244,7 @@ gis_privacy_page_class_init (GisPrivacyPageClass *klass) + gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/initial-setup/gis-privacy-page.ui"); + gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, location_switch); + gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, reporting_group); +- gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, reporting_row); ++ gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, reporting_label); + gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, reporting_switch); + gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (klass), activate_link); + +diff --git a/gnome-initial-setup/pages/privacy/gis-privacy-page.ui b/gnome-initial-setup/pages/privacy/gis-privacy-page.ui +index 84ea8e3..6c48d5f 100644 +--- a/gnome-initial-setup/pages/privacy/gis-privacy-page.ui ++++ b/gnome-initial-setup/pages/privacy/gis-privacy-page.ui +@@ -25,7 +25,6 @@ + <object class="AdwActionRow"> + <property name="use-markup">True</property> + <property name="title" translatable="yes">Location Services</property> +- <property name="subtitle" translatable="yes">Allows applications to determine your geographical location. Uses the Mozilla Location Service (<a href='https://location.services.mozilla.com/privacy'>privacy policy</a>).</property> + <property name="activatable-widget">location_switch</property> + <child> + <object class="GtkSwitch" id="location_switch"> +@@ -34,11 +33,27 @@ + </child> + </object> + </child> ++ <child> ++ <object class="GtkLabel"> ++ <property name="margin-top">12</property> ++ <property name="wrap">True</property> ++ <property name="wrap-mode">word-char</property> ++ <property name="use-markup">True</property> ++ <property name="ellipsize">none</property> ++ <property name="xalign">0.0</property> ++ <property name="label" translatable="yes">Allows applications to determine your geographical location. Uses the Mozilla Location Service (<a href='https://location.services.mozilla.com/privacy'>privacy policy</a>).</property> ++ <signal name="activate-link" handler="activate_link" object="GisPrivacyPage" swapped="no" /> ++ <style> ++ <class name="caption" /> ++ </style> ++ </object> ++ </child> + </object> + </child> + + <child> + <object class="AdwPreferencesGroup" id="reporting_group"> ++ <property name="margin-top">12</property> + <child> + <object class="AdwActionRow" id="reporting_row"> + <property name="title" translatable="yes">Automatic Problem Reporting</property> +@@ -50,6 +65,20 @@ + </child> + </object> + </child> ++ <child> ++ <object class="GtkLabel" id="reporting_label"> ++ <property name="margin-top">12</property> ++ <property name="wrap">True</property> ++ <property name="wrap-mode">word-char</property> ++ <property name="use-markup">True</property> ++ <property name="ellipsize">none</property> ++ <property name="xalign">0.0</property> ++ <signal name="activate-link" handler="activate_link" object="GisPrivacyPage" swapped="no" /> ++ <style> ++ <class name="caption" /> ++ </style> ++ </object> ++ </child> + </object> + </child> + diff --git a/debian/patches/reenable-existing-user-mode.patch b/debian/patches/reenable-existing-user-mode.patch new file mode 100644 index 0000000..d149d39 --- /dev/null +++ b/debian/patches/reenable-existing-user-mode.patch @@ -0,0 +1,36 @@ +From: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Date: Thu, 17 Feb 2022 08:17:17 -0500 +Subject: Re-enable existing users mode since gnome-tour isn't in Debian + +This reverts commit 43f1870c "Disable existing-user mode". + +Forwarded: not-needed +--- + gnome-initial-setup/gnome-initial-setup.c | 14 -------------- + 1 file changed, 14 deletions(-) + +diff --git a/gnome-initial-setup/gnome-initial-setup.c b/gnome-initial-setup/gnome-initial-setup.c +index 113ded3..4d14fea 100644 +--- a/gnome-initial-setup/gnome-initial-setup.c ++++ b/gnome-initial-setup/gnome-initial-setup.c +@@ -323,20 +323,6 @@ main (int argc, char *argv[]) + adw_style_manager_set_color_scheme (adw_style_manager_get_default (), + ADW_COLOR_SCHEME_PREFER_LIGHT); + +- /* On first login, GNOME Shell offers to run a tour. If we also run Initial +- * Setup, the two immovable, centred windows will sit atop one another. +- * Until we have the ability to run Initial Setup in the "kiosk" mode, like +- * it does in new-user mode, disable Initial Setup for existing users. +- * +- * https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/120#note_1019004 +- * https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/12 +- */ +- if (mode == GIS_DRIVER_MODE_EXISTING_USER) { +- g_message ("Skipping gnome-initial-setup for existing user"); +- gis_ensure_stamp_files (driver); +- exit (EXIT_SUCCESS); +- } +- + /* We only do this in existing-user mode, because if gdm launches us + * in new-user mode and we just exit, gdm's special g-i-s session + * never terminates. */ diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..5af2d46 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,8 @@ +Add-StartupWMClass-to-.desktop-file.patch +keyboard-Resort-refilter-list-when-picking-shortlist.patch +keyboard-Correctly-update-labels-for-IBus-engines.patch +keyboard-Update-filter-and-sort-when-the-display-name-cha.patch +driver-Set-a-non-trivial-window-title.patch +reenable-existing-user-mode.patch +Update-for-removal-of-WebKitGTK-sandbox-API.patch +privacy-Move-subtitles-to-separate-labels.patch |