Debian

Available patches from Ubuntu

To see Ubuntu differences wrt. to Debian, write down a grep-dctrl query identifying the packages you're interested in:
grep-dctrl -n -sPackage Sources.Debian
(e.g. -FPackage linux-ntfs or linux-ntfs)

Modified packages are listed below:

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: gnome-control-center

gnome-control-center (1:3.34.1-1ubuntu2) eoan; urgency=medium * debian/patches/gitlab_background_segfault.patch: - patch from Robert Ancell to fix a segfault in the background panel (lp: #1847103) -- Sebastien Bacher <seb128@ubuntu.com> Tue, 15 Oct 2019 17:52:51 +0200 gnome-control-center (1:3.34.1-1ubuntu1) eoan; urgency=medium * Merge with debian unstable. Remaining changes: + debian/control.in: - Depend on language-selector-gnome and whoopsie-preferences - Depend on instead of Recommend system-config-printer - Recommend ibus and ubuntu-system-service - Suggest instead of Recommend gnome-user-share, realmd and rygel - Build-Depend on dh-migrations and libwhoopsie-preferences-dev - Don't recommend libnss-myhostname since systemd-resolved handles this functionality - Bump dep on g-s-d and schema + Split gnome-control-center-faces to a separate package so that it can be used by unity-control-center & recommend this + Install apport hook + debian/gnome-control-center-data.install: - Don't install gnome-control-center.pkla since we use policykit-desktop-privileges instead - Install additional assets used by unity-control-center + debian/ubuntu-logo-icon.png, debian/source/include-binaries, debian/gnome-control-center-data.install: Include an Ubuntu logo + debian/gnome-control-center-data.links: - Link audio-speaker-center* to audio-speaker-mono* so that an icon is shown in the test speaker panel. + debian/rules: Enable whoospie integration + Add migration script to transition from old user settings to new one. + debian/patches: - 52_region_language.patch: Adapt region panel to use Ubuntu style regions - 64_restore_terminal_keyboard_shortcut.patch Bring back terminal shortcut - 70_allow_sound_above_100.patch: Allow setting volume above 100% in the Ubuntu session - 71_ubuntu_dock_settings.patch Add Dock panel for Ubuntu session - 99_add_lock-on-suspend.patch Add option to lock on suspend - auto_quit_after_goa_add.patch Hide window after adding an online account from another app. - connectivity-switch.patch Add Connectivity Checking switch to Privacy panel - privacy-panel-whoopsie.patch Support Ubuntu's whoopsie service in the Privacy panel - ubuntu-default-height.patch: Ensure all items fit in sidebar without scrolling with Yaru theme - ubuntu-language-support.patch Add Language Support button to Region & Language panel to work around - ubuntu-legacy-notifications.patch Ubuntu ships compatibility names for .desktop that got renamed upstream, those use NoDisplay but the panel doesn't respect that key, skip known buggy entries for file-roller and nautilus - ubuntu-printer-support.patch Add Advanced Printer Settings button to work around missing printer sharing feature - ubuntu-region-langpack-install.patch: Check for missing language packs when loading region panel to pull in packs that aren't included with the installer - ubuntu-region-packagekit.patch Fix detection of installed language packs * debian/patches/online_accounts_segfault.patch: - removed, the issue is fixed in the new version -- Sebastien Bacher <seb128@ubuntu.com> Mon, 07 Oct 2019 17:26:09 +0200

Modifications :
  1. Download patch debian/patches/71_ubuntu_dock_settings.patch
  2. Download patch debian/patches/64_restore_terminal_keyboard_shortcut.patch

    --- 1:3.34.1-1/debian/patches/64_restore_terminal_keyboard_shortcut.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/64_restore_terminal_keyboard_shortcut.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,22 @@ +From: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Date: Tue, 31 Jul 2018 04:44:12 +0100 +Subject: _restore_terminal_keyboard_shortcut + +=================================================================== +--- + panels/keyboard/01-launchers.xml.in | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/panels/keyboard/01-launchers.xml.in b/panels/keyboard/01-launchers.xml.in +index 67c8325..dd0292d 100644 +--- a/panels/keyboard/01-launchers.xml.in ++++ b/panels/keyboard/01-launchers.xml.in +@@ -9,6 +9,8 @@ + + <KeyListEntry name="email" description="Launch email client"/> + ++ <KeyListEntry name="terminal" description="Launch terminal"/> ++ + <KeyListEntry name="www" description="Launch web browser"/> + + <KeyListEntry name="home" description="Home folder"/>
  3. Download patch debian/patches/70_allow_sound_above_100.patch

    --- 1:3.34.1-1/debian/patches/70_allow_sound_above_100.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/70_allow_sound_above_100.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,192 @@ +From: Jeremy Bicha <jbicha@debian.org> +Date: Sat, 9 Feb 2019 16:32:03 -0500 +Subject: Allow volume to be set above 100%. + +Some systems have low maximum volume set (like x220), allow, from an option +in gnome-control-center to set it above that 100% limit from g-s-d +(keyboard) and gnome-shell. +Only show the above 100% volume option if: +1. you are in an ubuntu session +2. the selected output supports amplified volume. If so: + present the settings to google that on and off. It will enable + GNOME Shell and media keys to set the sound above 100%. If not + enabled, volume and sliders are all capped to 100%. (LP: #1706524) +Modified from original patch in unity-control-center from Lars Uebernickel. +Adapted for Ubuntu gnome-control-center by Didier Roche +Updated for GNOME 3.32 by Jeremy Bicha +Origin: ubuntu +Bug-Ubuntu: https://launchpad.net/bugs/1706524 +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=710424 +--- + panels/sound/cc-sound-panel.c | 20 +++++++++ + panels/sound/cc-sound-panel.ui | 92 ++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 112 insertions(+) + +diff --git a/panels/sound/cc-sound-panel.c b/panels/sound/cc-sound-panel.c +index b73e173..6804d0b 100644 +--- a/panels/sound/cc-sound-panel.c ++++ b/panels/sound/cc-sound-panel.c +@@ -66,6 +66,9 @@ struct _CcSoundPanel + CcProfileComboBox *output_profile_combo_box; + GtkListBoxRow *output_profile_row; + CcVolumeSlider *output_volume_slider; ++ CcVolumeSlider *output_volume_slider_ubuntu; ++ GtkWidget *allow_amplify_switch; ++ GtkWidget *ubuntu_output_frame; + CcStreamListBox *stream_list_box; + GtkListBoxRow *subwoofer_row; + CcSubwooferSlider *subwoofer_slider; +@@ -89,6 +92,8 @@ allow_amplified_changed_cb (CcSoundPanel *self) + { + cc_volume_slider_set_is_amplified (self->output_volume_slider, + g_settings_get_boolean (self->sound_settings, "allow-volume-above-100-percent")); ++ cc_volume_slider_set_is_amplified (self->output_volume_slider_ubuntu, ++ g_settings_get_boolean (self->sound_settings, "allow-volume-above-100-percent")); + } + + static void +@@ -108,6 +113,7 @@ output_device_changed_cb (CcSoundPanel *self) + stream = gvc_mixer_control_get_stream_from_device (self->mixer_control, device); + + cc_volume_slider_set_stream (self->output_volume_slider, stream, CC_STREAM_TYPE_OUTPUT); ++ cc_volume_slider_set_stream (self->output_volume_slider_ubuntu, stream, CC_STREAM_TYPE_OUTPUT); + cc_level_bar_set_stream (self->output_level_bar, stream, CC_STREAM_TYPE_OUTPUT); + + if (stream != NULL) +@@ -212,6 +218,9 @@ cc_sound_panel_class_init (CcSoundPanelClass *klass) + gtk_widget_class_bind_template_child (widget_class, CcSoundPanel, output_profile_combo_box); + gtk_widget_class_bind_template_child (widget_class, CcSoundPanel, output_profile_row); + gtk_widget_class_bind_template_child (widget_class, CcSoundPanel, output_volume_slider); ++ gtk_widget_class_bind_template_child (widget_class, CcSoundPanel, output_volume_slider_ubuntu); ++ gtk_widget_class_bind_template_child (widget_class, CcSoundPanel, allow_amplify_switch); ++ gtk_widget_class_bind_template_child (widget_class, CcSoundPanel, ubuntu_output_frame); + gtk_widget_class_bind_template_child (widget_class, CcSoundPanel, stream_list_box); + gtk_widget_class_bind_template_child (widget_class, CcSoundPanel, subwoofer_row); + gtk_widget_class_bind_template_child (widget_class, CcSoundPanel, subwoofer_slider); +@@ -256,12 +265,23 @@ cc_sound_panel_init (CcSoundPanel *self) + G_CONNECT_SWAPPED); + allow_amplified_changed_cb (self); + ++ if (strstr (g_getenv("XDG_CURRENT_DESKTOP"), "ubuntu") != NULL) { ++ gtk_widget_set_visible(self->ubuntu_output_frame, TRUE); ++ gtk_widget_set_visible(GTK_WIDGET (self->output_volume_slider), FALSE); ++ g_settings_bind (self->sound_settings, "allow-volume-above-100-percent", ++ self->allow_amplify_switch, "active", G_SETTINGS_BIND_DEFAULT); ++ } else { ++ gtk_widget_set_visible(self->ubuntu_output_frame, FALSE); ++ gtk_widget_set_visible(GTK_WIDGET (self->output_volume_slider), TRUE); ++ } ++ + self->mixer_control = gvc_mixer_control_new ("GNOME Settings"); + gvc_mixer_control_open (self->mixer_control); + + cc_stream_list_box_set_mixer_control (self->stream_list_box, self->mixer_control); + cc_volume_slider_set_mixer_control (self->input_volume_slider, self->mixer_control); + cc_volume_slider_set_mixer_control (self->output_volume_slider, self->mixer_control); ++ cc_volume_slider_set_mixer_control (self->output_volume_slider_ubuntu, self->mixer_control); + cc_subwoofer_slider_set_mixer_control (self->subwoofer_slider, self->mixer_control); + cc_device_combo_box_set_mixer_control (self->input_device_combo_box, self->mixer_control, FALSE); + cc_device_combo_box_set_mixer_control (self->output_device_combo_box, self->mixer_control, TRUE); +diff --git a/panels/sound/cc-sound-panel.ui b/panels/sound/cc-sound-panel.ui +index 31175cf..960f0c6 100644 +--- a/panels/sound/cc-sound-panel.ui ++++ b/panels/sound/cc-sound-panel.ui +@@ -37,6 +37,98 @@ + <property name="visible">True</property> + </object> + </child> ++ <child> ++ <object class="GtkFrame" id="ubuntu_output_frame"> ++ <property name="visible">False</property> ++ <child> ++ <object class="GtkListBox" id="ubuntu_output_box"> ++ <property name="visible">True</property> ++ <property name="selection_mode">none</property> ++ <child> ++ <object class="GtkListBoxRow"> ++ <property name="width_request">100</property> ++ <property name="height_request">80</property> ++ <property name="visible">True</property> ++ <property name="can_focus">True</property> ++ <child> ++ <object class="CcVolumeSlider" id="output_volume_slider_ubuntu"> ++ <property name="visible">True</property> ++ </object> ++ </child> ++ </object> ++ </child> ++ <child> ++ <object class="GtkListBoxRow"> ++ <property name="width_request">100</property> ++ <property name="height_request">80</property> ++ <property name="visible">True</property> ++ <property name="can_focus">True</property> ++ <child> ++ <object class="GtkGrid"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="margin_left">20</property> ++ <property name="margin_right">20</property> ++ <property name="margin_top">10</property> ++ <property name="margin_bottom">10</property> ++ <property name="row_spacing">2</property> ++ <property name="column_spacing">16</property> ++ <child> ++ <object class="GtkLabel" id="allow_amplify_label"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="halign">start</property> ++ <property name="valign">center</property> ++ <property name="label" translatable="yes">Over-Amplification</property> ++ <property name="mnemonic-widget">allow_amplify_switch</property> ++ <attributes> ++ <attribute name="weight" value="bold"/> ++ </attributes> ++ </object> ++ <packing> ++ <property name="left_attach">0</property> ++ <property name="top_attach">0</property> ++ </packing> ++ </child> ++ <child> ++ <object class="GtkSwitch" id="allow_amplify_switch"> ++ <property name="visible">True</property> ++ <property name="can_focus">True</property> ++ <property name="halign">end</property> ++ <property name="valign">center</property> ++ </object> ++ <packing> ++ <property name="left_attach">1</property> ++ <property name="top_attach">0</property> ++ <property name="height">2</property> ++ </packing> ++ </child> ++ <child> ++ <object class="GtkLabel" id="allow_amplify_desc"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="label" translatable="yes">Allows raising the volume above 100%. This can result in a loss of audio quality; it is better to increase application volume settings, if possible.</property> ++ <property name="wrap">True</property> ++ <attributes> ++ <attribute name="scale" value="0.9"/> ++ </attributes> ++ <style> ++ <class name="dim-label"/> ++ </style> ++ </object> ++ <packing> ++ <property name="left_attach">0</property> ++ <property name="top_attach">1</property> ++ </packing> ++ </child> ++ </object> ++ </child> ++ </object> ++ </child> ++ </object> ++ </child> ++ </object> ++ </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property>
  4. Download patch debian/rules

    --- 1:3.34.1-1/debian/rules 2019-10-07 15:10:37.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/rules 2019-10-15 15:54:41.000000000 +0000 @@ -5,13 +5,18 @@ export DEB_CPPFLAGS_MAINT_APPEND = -DSSH export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O1 -Wl,-z,defs -Wl,--as-needed %: - dh $@ --with gnome + dh $@ --with gnome,migrations override_dh_auto_configure: dh_auto_configure -- \ --libexecdir=/usr/lib/gnome-control-center \ -Dgnome_session_libexecdir=/usr/lib/gnome-session \ - -Ddocumentation=true + -Ddocumentation=true \ + -Dsnap=true \ + -Dwhoopsie=true override_dh_missing: dh_missing --fail-missing + +override_dh_translations: + dh_translations --domain=gnome-control-center-2.0
  5. Download patch debian/patches/ubuntu-legacy-notifications.patch

    --- 1:3.34.1-1/debian/patches/ubuntu-legacy-notifications.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/ubuntu-legacy-notifications.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,32 @@ +From: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Date: Tue, 31 Jul 2018 04:44:12 +0100 +Subject: Ubuntu ships compatibility names for .desktop that got renamed + +upstream, those use NoDisplay but the panel doesn't respect that key, +skip known buggy entries for file-roller and nautilus +Origin: ubuntu +Bug-Ubuntu: https://launchpad.net/bugs/1716267 +Forwarded: not-needed +--- + panels/notifications/cc-notifications-panel.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/panels/notifications/cc-notifications-panel.c b/panels/notifications/cc-notifications-panel.c +index da38f6a..b3814d3 100644 +--- a/panels/notifications/cc-notifications-panel.c ++++ b/panels/notifications/cc-notifications-panel.c +@@ -449,6 +449,14 @@ process_app_info (CcNotificationsPanel *panel, + guint i; + + app_id = app_info_get_id (app_info); ++ ++ /* Ignore compatibility desktops (lp: #1716267) */ ++ if (g_strcmp0 (app_id, "file-roller") == 0) ++ return; ++ ++ if (g_strcmp0 (app_id, "nautilus") == 0) ++ return; ++ + g_strcanon (app_id, + "0123456789" + "abcdefghijklmnopqrstuvwxyz"
  6. Download patch debian/patches/0006-applications-Show-snap-app-sizes.patch

    --- 1:3.34.1-1/debian/patches/0006-applications-Show-snap-app-sizes.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/0006-applications-Show-snap-app-sizes.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,168 @@ +From: Robert Ancell <robert.ancell@canonical.com> +Date: Tue, 12 Mar 2019 16:59:56 +1300 +Subject: [PATCH 6/7] applications: Show snap app sizes + +--- + meson.build | 11 +++++++++++ + meson_options.txt | 1 + + panels/applications/cc-applications-panel.c | 10 ++++++---- + panels/applications/meson.build | 8 +++++++- + panels/applications/utils.c | 25 +++++++++++++++++++++++++ + panels/applications/utils.h | 2 ++ + 6 files changed, 52 insertions(+), 5 deletions(-) + +diff --git a/meson.build b/meson.build +index 530ae1b..f533c6a 100644 +--- a/meson.build ++++ b/meson.build +@@ -197,6 +197,16 @@ endif + config_h.set('HAVE_WHOOPSIE', enable_whoopsie, + description: 'Define to 1 if Whoopsie is enabled') + ++# Snap support ++enable_snap = get_option('snap') ++if enable_snap ++ snapd_glib_deps = [ ++ dependency('snapd-glib', version: '>= 1.42') ++ ] ++endif ++config_h.set('HAVE_SNAP', enable_snap, ++ description: 'Define to 1 if Snap support is enabled') ++ + if host_is_linux + # network manager + network_manager_deps = [ +@@ -292,5 +302,6 @@ output += ' IBus (Region panel IBus support) ........... ' + enable_ibus.to_ + output += ' NetworkManager (Network panel) ............. ' + host_is_linux.to_string() + '\n' + output += ' Wacom (Wacom tablet panel) ................. ' + host_is_linux_not_s390.to_string() + '\n' + output += ' Whoopsie .................................. ' + enable_whoopsie.to_string() + '\n' ++output += ' Snap support ............................... ' + enable_snap.to_string() + '\n' + + message(output) +diff --git a/meson_options.txt b/meson_options.txt +index ce462a7..52b2655 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -2,6 +2,7 @@ option('cheese', type: 'boolean', value: true, description: 'build with cheese w + option('documentation', type: 'boolean', value: false, description: 'build documentation') + option('gnome_session_libexecdir', type: 'string', value: '', description: 'Directory for gnome-session\'s libexecdir') + option('ibus', type: 'boolean', value: true, description: 'build with IBus support') ++option('snap', type: 'boolean', value: false, description: 'build with Snap support') + option('tracing', type: 'boolean', value: false, description: 'add extra debugging information') + option('wayland', type: 'boolean', value: true, description: 'build with Wayland support') + option('whoopsie', type: 'boolean', value: false, description: 'build with Whoopsie support') +diff --git a/panels/applications/cc-applications-panel.c b/panels/applications/cc-applications-panel.c +index 0d38047..b824ae6 100644 +--- a/panels/applications/cc-applications-panel.c ++++ b/panels/applications/cc-applications-panel.c +@@ -1336,7 +1336,9 @@ update_app_row (CcApplicationsPanel *self, + { + g_autofree gchar *formatted_size = NULL; + +- if (!g_str_has_prefix (app_id, PORTAL_SNAP_PREFIX)) ++ if (g_str_has_prefix (app_id, PORTAL_SNAP_PREFIX)) ++ self->app_size = get_snap_app_size (app_id + strlen (PORTAL_SNAP_PREFIX)); ++ else + self->app_size = get_flatpak_app_size (app_id); + formatted_size = g_format_size (self->app_size); + g_object_set (self->app, "info", formatted_size, NULL); +@@ -1344,8 +1346,8 @@ update_app_row (CcApplicationsPanel *self, + } + + static void +-update_flatpak_sizes (CcApplicationsPanel *self, +- const gchar *app_id) ++update_app_sizes (CcApplicationsPanel *self, ++ const gchar *app_id) + { + gtk_widget_set_sensitive (self->clear_cache_button, FALSE); + +@@ -1365,7 +1367,7 @@ update_usage_section (CcApplicationsPanel *self, + if (portal_app_id != NULL) + { + gtk_widget_show (self->usage_section); +- update_flatpak_sizes (self, portal_app_id); ++ update_app_sizes (self, portal_app_id); + } + else + { +diff --git a/panels/applications/meson.build b/panels/applications/meson.build +index 49796a3..b405fc2 100644 +--- a/panels/applications/meson.build ++++ b/panels/applications/meson.build +@@ -38,12 +38,18 @@ sources += gnome.compile_resources( + export : true + ) + ++deps = common_deps ++ ++if enable_snap ++ deps += snapd_glib_deps ++endif ++ + cflags += '-DGNOMELOCALEDIR="@0@"'.format(control_center_localedir) + + panels_libs += static_library( + cappletname, + sources : sources, + include_directories : [ top_inc, common_inc ], +- dependencies : common_deps, ++ dependencies : deps, + c_args : cflags + ) +diff --git a/panels/applications/utils.c b/panels/applications/utils.c +index 622a943..a47e458 100644 +--- a/panels/applications/utils.c ++++ b/panels/applications/utils.c +@@ -24,6 +24,9 @@ + + #include <config.h> + #include <glib/gi18n.h> ++#ifdef HAVE_SNAP ++#include <snapd-glib/snapd-glib.h> ++#endif + #include <sys/types.h> + #include <sys/stat.h> + +@@ -231,6 +234,28 @@ get_flatpak_app_size (const gchar *app_id) + return (guint64)(val * factor); + } + ++guint64 ++get_snap_app_size (const gchar *snap_name) ++{ ++#ifdef HAVE_SNAP ++ g_autoptr(SnapdClient) client = NULL; ++ g_autoptr(SnapdSnap) snap = NULL; ++ g_autoptr(GError) error = NULL; ++ ++ client = snapd_client_new (); ++ snap = snapd_client_get_snap_sync (client, snap_name, NULL, &error); ++ if (snap == NULL) ++ { ++ g_warning ("Failed to get snap size: %s\n", error->message); ++ return 0; ++ } ++ ++ return snapd_snap_get_installed_size (snap); ++#else ++ return 0; ++#endif ++} ++ + char * + get_app_id (GAppInfo *info) + { +diff --git a/panels/applications/utils.h b/panels/applications/utils.h +index a2e3922..5f899d7 100644 +--- a/panels/applications/utils.h ++++ b/panels/applications/utils.h +@@ -50,6 +50,8 @@ GKeyFile* get_flatpak_metadata (const gchar *app_id); + + guint64 get_flatpak_app_size (const gchar *app_id); + ++guint64 get_snap_app_size (const gchar *snap_name); ++ + gchar* get_app_id (GAppInfo *info); + + G_END_DECLS
  7. Download patch debian/source_gnome-control-center.py

    --- 1:3.34.1-1/debian/source_gnome-control-center.py 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/source_gnome-control-center.py 2019-10-15 15:54:41.000000000 +0000 @@ -0,0 +1,32 @@ +import os, apport.packaging, re +import glob +from apport.hookutils import * + +def add_info(report): + # the issue is not in the gnome-control-center code so reassign + if "Stacktrace" in report and "/control-center-1/" in report["Stacktrace"]: + for words in report["Stacktrace"].split(): + if words.startswith("/usr/lib/") and "/control-center-1/" in words: + if apport.packaging.get_file_package(words) != 'gnome-control-center': + report.add_package_info(apport.packaging.get_file_package(words)) + return + component = re.compile("lib(\w*).so").search(words).groups(1)[0] + report['Title'] = '[%s]: %s' % (component, report.get('Title', report.standard_title())) + report['Tags'] = '%s %s' % (report.get('Tags', ""), component) + break # Stop on the first .so that's the interesting one + + # collect informations on the /usr/lib/control-center-1 components + plugin_packages = set() + for paneldir in (['/usr/lib/control-center-1'] + glob.glob('/usr/lib/*/control-center-1')): + for dirpath, dirnames, filenames in os.walk(paneldir): + for filename in filenames: + path = os.path.join(dirpath, filename) + package = apport.packaging.get_file_package(path) + if package == 'gnome-control-center': + continue + if not package: + continue + + plugin_packages.add(package) + if plugin_packages: + report["usr_lib_gnome-control-center"] = package_versions(*sorted(plugin_packages)) Binary files 1:3.34.1-1/debian/ubuntu-logo-icon.png and 1:3.34.1-1ubuntu2/debian/ubuntu-logo-icon.png differ Binary files 1:3.34.1-1/debian/ubuntu-panel-assets/16x16/apps/preferences-ubuntu-panel.png and 1:3.34.1-1ubuntu2/debian/ubuntu-panel-assets/16x16/apps/preferences-ubuntu-panel.png differ Binary files 1:3.34.1-1/debian/ubuntu-panel-assets/22x22/apps/preferences-ubuntu-panel.png and 1:3.34.1-1ubuntu2/debian/ubuntu-panel-assets/22x22/apps/preferences-ubuntu-panel.png differ Binary files 1:3.34.1-1/debian/ubuntu-panel-assets/24x24/apps/preferences-ubuntu-panel.png and 1:3.34.1-1ubuntu2/debian/ubuntu-panel-assets/24x24/apps/preferences-ubuntu-panel.png differ Binary files 1:3.34.1-1/debian/ubuntu-panel-assets/32x32/apps/preferences-ubuntu-panel.png and 1:3.34.1-1ubuntu2/debian/ubuntu-panel-assets/32x32/apps/preferences-ubuntu-panel.png differ
  8. Download patch debian/patches/ubuntu-printer-support.patch

    --- 1:3.34.1-1/debian/patches/ubuntu-printer-support.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/ubuntu-printer-support.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,144 @@ +From: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Date: Tue, 31 Jul 2018 04:44:12 +0100 +Subject: Temporary add an additional advanced printer button. + +g-c-c printers panel doesn't support printer sharing and other +features. +Workaround it for now by adding in multiple places an advanced printer +button starting system-config-printer to avoid doubling the panel in Settings. +Origin: ubuntu +Bug-Ubuntu: https://launchpad.net/bugs/1706524a +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=692532 +--- + panels/printers/cc-printers-panel.c | 35 ++++++++++++++++++++++++++++++ + panels/printers/printers.ui | 43 +++++++++++++++++++++++++++++++++++++ + 2 files changed, 78 insertions(+) + +diff --git a/panels/printers/cc-printers-panel.c b/panels/printers/cc-printers-panel.c +index 9fc0c79..d87a19e 100644 +--- a/panels/printers/cc-printers-panel.c ++++ b/panels/printers/cc-printers-panel.c +@@ -25,6 +25,7 @@ + #include "pp-printer.h" + + #include <string.h> ++#include <gio/gdesktopappinfo.h> + #include <glib/gi18n-lib.h> + #include <glib/gstdio.h> + #include <polkit/polkit.h> +@@ -985,6 +986,32 @@ printer_add_cb (GtkToolButton *toolbutton, + self); + } + ++static void ++show_system_config_printer (void) ++{ ++ GAppInfo *app_info; ++ GdkAppLaunchContext *ctx; ++ GError *error = NULL; ++ ++ app_info = G_APP_INFO (g_desktop_app_info_new ("system-config-printer.desktop")); ++ ++ if (app_info) { ++ ctx = gdk_display_get_app_launch_context (gdk_display_get_default ()); ++ g_app_info_launch (app_info, NULL, G_APP_LAUNCH_CONTEXT (ctx), &error); ++ } else { ++ g_warning ("Failed to launch system-config-printer: couldn't create GDesktopAppInfo"); ++ return; ++ } ++ ++ if (error) { ++ g_warning ("Failed to launch system-config-printer: %s", error->message); ++ g_error_free (error); ++ } ++ ++ g_object_unref (app_info); ++ g_object_unref (ctx); ++} ++ + static void + update_sensitivity (gpointer user_data) + { +@@ -1271,6 +1298,14 @@ cc_printers_panel_init (CcPrintersPanel *self) + gtk_builder_get_object (self->builder, "printer-add-button2"); + g_signal_connect (widget, "clicked", G_CALLBACK (printer_add_cb), self); + ++ widget = (GtkWidget*) gtk_builder_get_object (self->builder, "system-config-printer-button1"); ++ g_signal_connect_swapped (widget, "clicked", ++ G_CALLBACK (show_system_config_printer), NULL); ++ ++ widget = (GtkWidget*) gtk_builder_get_object (self->builder, "system-config-printer-button2"); ++ g_signal_connect_swapped (widget, "clicked", ++ G_CALLBACK (show_system_config_printer), NULL); ++ + widget = (GtkWidget*) + gtk_builder_get_object (self->builder, "content"); + gtk_list_box_set_filter_func (GTK_LIST_BOX (widget), +diff --git a/panels/printers/printers.ui b/panels/printers/printers.ui +index 2894b7e..d0584f4 100644 +--- a/panels/printers/printers.ui ++++ b/panels/printers/printers.ui +@@ -134,6 +134,7 @@ + <child> + <object class="GtkBox"> + <property name="visible">True</property> ++ <property name="orientation">vertical</property> + <child> + <object class="GtkListBox" id="content"> + <property name="visible">True</property> +@@ -146,6 +147,32 @@ + </style> + </object> + </child> ++ <child> ++ <object class="GtkBox"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="orientation">horizontal</property> ++ <child> ++ <object class="GtkButton" id="system-config-printer-button1"> ++ <property name="label" translatable="yes">Additional Printer Settings…</property> ++ <property name="visible">True</property> ++ <property name="can_focus">True</property> ++ <property name="receives_default">True</property> ++ <property name="margin-start">60</property> ++ <property name="margin-end">60</property> ++ </object> ++ <packing> ++ <property name="expand">False</property> ++ <property name="fill">True</property> ++ <property name="pack_type">end</property> ++ </packing> ++ </child> ++ </object> ++ <packing> ++ <property name="expand">False</property> ++ <property name="fill">True</property> ++ </packing> ++ </child> + </object> + </child> + </object> +@@ -213,6 +240,22 @@ + <property name="position">2</property> + </packing> + </child> ++ <child> ++ <object class="GtkButton" id="system-config-printer-button2"> ++ <property name="label" translatable="yes">Additional Printer Settings…</property> ++ <property name="visible">True</property> ++ <property name="can_focus">True</property> ++ <property name="receives_default">False</property> ++ <property name="halign">center</property> ++ <property name="relief">normal</property> ++ <property name="margin-top">30</property> ++ </object> ++ <packing> ++ <property name="expand">False</property> ++ <property name="fill">False</property> ++ <property name="position">3</property> ++ </packing> ++ </child> + </object> + <packing> + <property name="name">empty-state</property>
  9. Download patch debian/gnome-control-center-faces.install

    --- 1:3.34.1-1/debian/gnome-control-center-faces.install 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/gnome-control-center-faces.install 2019-10-15 15:54:41.000000000 +0000 @@ -0,0 +1 @@ +usr/share/pixmaps/faces
  10. Download patch debian/control

    --- 1:3.34.1-1/debian/control 2019-10-07 15:10:37.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/control 2019-10-15 15:54:41.000000000 +0000 @@ -5,13 +5,15 @@ Source: gnome-control-center Section: gnome Priority: optional -Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> -Uploaders: Iain Lane <laney@debian.org>, Jeremy Bicha <jbicha@debian.org>, Michael Biebl <biebl@debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> +Uploaders: Iain Lane <laney@debian.org>, Jeremy Bicha <jbicha@debian.org> Build-Depends: debhelper (>= 11.1.3), + dh-migrations, libaccountsservice-dev (>= 0.6.39), desktop-file-utils, gnome-pkg-tools (>= 0.10), - gnome-settings-daemon-dev (>= 3.27.90), + gnome-settings-daemon-dev (>= 3.29.90.1), gsettings-desktop-schemas-dev (>= 3.31.0), gtk-doc-tools, libcanberra-gtk3-dev, @@ -23,7 +25,8 @@ Build-Depends: debhelper (>= 11.1.3), libgdk-pixbuf2.0-dev (>= 2.23.0), libgirepository1.0-dev, libglib2.0-dev (>= 2.53.0), - libgnome-desktop-3-dev (>= 3.27.90), + libgnome-desktop-3-dev (>= 3.32.2-2ubuntu2), + libgnomekbd-dev (>= 2.91.91), libgnome-bluetooth-dev (>= 3.18.0) [linux-any], libibus-1.0-dev (>= 1.5.2), libgoa-1.0-dev (>= 3.25.3), @@ -41,9 +44,11 @@ Build-Depends: debhelper (>= 11.1.3), libpwquality-dev, libsecret-1-dev, libsmbclient-dev (>= 2:3.6.12-1~), + libsnapd-glib-dev (>= 1.42), libudisks2-dev, libupower-glib-dev (>= 0.99.8), libwacom-dev (>= 0.7) [linux-any], + libwhoopsie-preferences-dev, libxi-dev (>= 2:1.2), libx11-dev, libxft-dev (>= 2.1.2), @@ -59,8 +64,10 @@ Build-Depends: debhelper (>= 11.1.3), at-spi2-core Standards-Version: 4.3.0 Rules-Requires-Root: no -Vcs-Git: https://salsa.debian.org/gnome-team/gnome-control-center.git -Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-control-center +XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/gnome-control-center.git +XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-control-center +Vcs-Browser: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-control-center +Vcs-Git: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-control-center Package: gnome-control-center Architecture: any @@ -69,30 +76,34 @@ Depends: ${misc:Depends}, accountsservice, apg, colord (>= 0.1.30), - desktop-base (>= 10.0.0), +# desktop-base (>= 10.0.0), desktop-file-utils, gnome-control-center-data (<< ${gnome:NextVersion}), gnome-control-center-data (>= ${source:Version}), gnome-desktop3-data, gnome-settings-daemon (>= 3.29), gsettings-desktop-schemas (>= 3.31.0), + language-selector-gnome (>= 0.179~), + system-config-printer (>= 1.4), + whoopsie-preferences, Recommends: cups-pk-helper, gnome-online-accounts (>= 3.25.3), gnome-user-docs, - gnome-user-share, gkbd-capplet, + ibus, iso-codes, libcanberra-pulse, mousetweaks, policykit-1, - rygel | rygel-tracker, - system-config-printer-common (>= 1.4), network-manager-gnome (>= 0.9.8), - libnss-myhostname, cracklib-runtime, pulseaudio-module-bluetooth, - realmd + ubuntu-system-service, + gnome-control-center-faces, + rygel | rygel-tracker, Suggests: gnome-software | gnome-packagekit, + gnome-user-share, + realmd, gstreamer1.0-pulseaudio, libcanberra-gtk-module, libcanberra-gtk3-module, @@ -106,6 +117,16 @@ Description: utilities to configure the It also contains a front end to these applets, which can also be accessed with the GNOME panel or the Nautilus file manager. +Package: gnome-control-center-faces +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends} +Conflicts: unity-control-center-faces +Replaces: unity-control-center-faces +Provides: unity-control-center-faces +Description: utilities to configure the GNOME desktop - faces images + This package contains images that can be used for user profile's icon + Package: gnome-control-center-dev Architecture: all Multi-Arch: foreign
  11. Download patch debian/patches/52_region_language.patch
  12. Download patch debian/patches/distro-logo.patch

    --- 1:3.34.1-1/debian/patches/distro-logo.patch 2019-10-07 15:10:37.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/distro-logo.patch 2019-10-15 15:54:46.000000000 +0000 @@ -17,7 +17,7 @@ and drop the "Version" string from the G 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/panels/info/cc-info-overview-panel.c b/panels/info/cc-info-overview-panel.c -index 0d0a17f..c902f97 100644 +index 7fce869..d4906e8 100644 --- a/panels/info/cc-info-overview-panel.c +++ b/panels/info/cc-info-overview-panel.c @@ -707,7 +707,7 @@ info_overview_panel_setup_overview (CcInfoOverviewPanel *self) @@ -30,7 +30,7 @@ index 0d0a17f..c902f97 100644 } diff --git a/panels/info/cc-info-overview-panel.ui b/panels/info/cc-info-overview-panel.ui -index ce675d3..444cac0 100644 +index ce675d3..a200bc4 100644 --- a/panels/info/cc-info-overview-panel.ui +++ b/panels/info/cc-info-overview-panel.ui @@ -24,13 +24,14 @@ @@ -46,7 +46,7 @@ index ce675d3..444cac0 100644 <property name="can_focus">False</property> - <property name="resource">/org/gnome/control-center/info/GnomeLogoVerticalMedium.svg</property> + <property name="pixel_size">128</property> -+ <property name="pixbuf">/usr/share/icons/vendor/scalable/emblems/emblem-vendor.svg</property> ++ <property name="icon_name">ubuntu-logo-icon</property> </object> <packing> <property name="expand">False</property>
  13. Download patch debian/patches/auto_quit_after_goa_add.patch

    --- 1:3.34.1-1/debian/patches/auto_quit_after_goa_add.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/auto_quit_after_goa_add.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,36 @@ +From: Andrea Azzarone <andrea.azzarone@canonical.com> +Date: Tue, 31 Jul 2018 04:44:12 +0100 +Subject: hide window after adding an online account from another app + +Some applications (e.g. gnome-calendar, gnome-todo, etc.) use gnome-control-center +to allow the user to add online accounts. This patch makes sure that g-c-c main window +is closed after the user interacted with the new-account dialog. +Bug-Ubuntu: https://launchpad.net/bugs/1754651 +Forwarded: no +Last-Update: 2018-03-09 +https://gitlab.gnome.org/GNOME/gnome-control-center/issues/16 +--- + panels/online-accounts/cc-online-accounts-panel.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/panels/online-accounts/cc-online-accounts-panel.c b/panels/online-accounts/cc-online-accounts-panel.c +index 731bd7f..5df56ad 100644 +--- a/panels/online-accounts/cc-online-accounts-panel.c ++++ b/panels/online-accounts/cc-online-accounts-panel.c +@@ -382,9 +382,14 @@ cc_goa_panel_set_property (GObject *object, + } + + if (g_strcmp0 (first_arg, "add") == 0) +- command_add (CC_GOA_PANEL (object), parameters); ++ { ++ command_add (CC_GOA_PANEL (object), parameters); ++ g_application_quit (g_application_get_default ()); ++ } + else if (first_arg != NULL) +- select_account_by_id (CC_GOA_PANEL (object), first_arg); ++ { ++ select_account_by_id (CC_GOA_PANEL (object), first_arg); ++ } + + return; + }
  14. Download patch debian/control.in

    --- 1:3.34.1-1/debian/control.in 2019-10-07 15:10:37.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/control.in 2019-10-15 15:54:41.000000000 +0000 @@ -1,13 +1,15 @@ Source: gnome-control-center Section: gnome Priority: optional -Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> Uploaders: @GNOME_TEAM@ Build-Depends: debhelper (>= 11.1.3), + dh-migrations, libaccountsservice-dev (>= 0.6.39), desktop-file-utils, gnome-pkg-tools (>= 0.10), - gnome-settings-daemon-dev (>= 3.27.90), + gnome-settings-daemon-dev (>= 3.29.90.1), gsettings-desktop-schemas-dev (>= 3.31.0), gtk-doc-tools, libcanberra-gtk3-dev, @@ -19,7 +21,8 @@ Build-Depends: debhelper (>= 11.1.3), libgdk-pixbuf2.0-dev (>= 2.23.0), libgirepository1.0-dev, libglib2.0-dev (>= 2.53.0), - libgnome-desktop-3-dev (>= 3.27.90), + libgnome-desktop-3-dev (>= 3.32.2-2ubuntu2), + libgnomekbd-dev (>= 2.91.91), libgnome-bluetooth-dev (>= 3.18.0) [linux-any], libibus-1.0-dev (>= 1.5.2), libgoa-1.0-dev (>= 3.25.3), @@ -37,9 +40,11 @@ Build-Depends: debhelper (>= 11.1.3), libpwquality-dev, libsecret-1-dev, libsmbclient-dev (>= 2:3.6.12-1~), + libsnapd-glib-dev (>= 1.42), libudisks2-dev, libupower-glib-dev (>= 0.99.8), libwacom-dev (>= 0.7) [linux-any], + libwhoopsie-preferences-dev, libxi-dev (>= 2:1.2), libx11-dev, libxft-dev (>= 2.1.2), @@ -55,8 +60,10 @@ Build-Depends: debhelper (>= 11.1.3), at-spi2-core Standards-Version: 4.3.0 Rules-Requires-Root: no -Vcs-Git: https://salsa.debian.org/gnome-team/gnome-control-center.git -Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-control-center +XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/gnome-control-center.git +XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-control-center +Vcs-Browser: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-control-center +Vcs-Git: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-control-center Package: gnome-control-center Architecture: any @@ -65,30 +72,34 @@ Depends: ${misc:Depends}, accountsservice, apg, colord (>= 0.1.30), - desktop-base (>= 10.0.0), +# desktop-base (>= 10.0.0), desktop-file-utils, gnome-control-center-data (<< ${gnome:NextVersion}), gnome-control-center-data (>= ${source:Version}), gnome-desktop3-data, gnome-settings-daemon (>= 3.29), gsettings-desktop-schemas (>= 3.31.0), + language-selector-gnome (>= 0.179~), + system-config-printer (>= 1.4), + whoopsie-preferences, Recommends: cups-pk-helper, gnome-online-accounts (>= 3.25.3), gnome-user-docs, - gnome-user-share, gkbd-capplet, + ibus, iso-codes, libcanberra-pulse, mousetweaks, policykit-1, - rygel | rygel-tracker, - system-config-printer-common (>= 1.4), network-manager-gnome (>= 0.9.8), - libnss-myhostname, cracklib-runtime, pulseaudio-module-bluetooth, - realmd + ubuntu-system-service, + gnome-control-center-faces, + rygel | rygel-tracker, Suggests: gnome-software | gnome-packagekit, + gnome-user-share, + realmd, gstreamer1.0-pulseaudio, libcanberra-gtk-module, libcanberra-gtk3-module, @@ -102,6 +113,16 @@ Description: utilities to configure the It also contains a front end to these applets, which can also be accessed with the GNOME panel or the Nautilus file manager. +Package: gnome-control-center-faces +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends} +Conflicts: unity-control-center-faces +Replaces: unity-control-center-faces +Provides: unity-control-center-faces +Description: utilities to configure the GNOME desktop - faces images + This package contains images that can be used for user profile's icon + Package: gnome-control-center-dev Architecture: all Multi-Arch: foreign
  15. Download patch debian/gnome-control-center-data.install

    --- 1:3.34.1-1/debian/gnome-control-center-data.install 2019-10-07 15:10:37.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/gnome-control-center-data.install 2019-10-15 15:54:41.000000000 +0000 @@ -4,6 +4,7 @@ usr/share/sounds usr/share/locale usr/share/gettext/its usr/share/icons -usr/share/pixmaps/faces usr/share/polkit-1 -debian/gnome-control-center.pkla /var/lib/polkit-1/localauthority/10-vendor.d/ +debian/source_gnome-control-center.py /usr/share/apport/package-hooks +debian/ubuntu-logo-icon.png /usr/share/icons/hicolor/256x256/apps/ +debian/ubuntu-panel-assets/* /usr/share/icons/hicolor/
  16. Download patch debian/patches/privacy-panel-whoopsie.patch
  17. Download patch debian/patches/0007-applications-Show-snap-interface-controls.patch
  18. Download patch debian/gnome-control-center-data.links
  19. Download patch debian/patches/display-Support-UI-scaled-logical-monitor-mode.patch
  20. Download patch debian/patches/0005-applications-Show-portal-permissions-for-snaps.patch

    --- 1:3.34.1-1/debian/patches/0005-applications-Show-portal-permissions-for-snaps.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/0005-applications-Show-portal-permissions-for-snaps.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,158 @@ +From: Robert Ancell <robert.ancell@canonical.com> +Date: Tue, 12 Mar 2019 16:51:42 +1300 +Subject: [PATCH 5/7] applications: Show portal permissions for snaps + +--- + panels/applications/cc-applications-panel.c | 51 +++++++++++++++++++---------- + 1 file changed, 33 insertions(+), 18 deletions(-) + +diff --git a/panels/applications/cc-applications-panel.c b/panels/applications/cc-applications-panel.c +index eac2623..0d38047 100644 +--- a/panels/applications/cc-applications-panel.c ++++ b/panels/applications/cc-applications-panel.c +@@ -41,6 +41,8 @@ + #define APP_SCHEMA MASTER_SCHEMA ".application" + #define APP_PREFIX "/org/gnome/desktop/notifications/application/" + ++#define PORTAL_SNAP_PREFIX "snap." ++ + struct _CcApplicationsPanel + { + CcPanel parent; +@@ -213,11 +215,23 @@ set_portal_permissions (CcApplicationsPanel *self, + g_warning ("Error setting portal permissions: %s", error->message); + } + +-static char * +-get_flatpak_id (GAppInfo *info) ++static gchar * ++get_portal_app_id (GAppInfo *info) + { + if (G_IS_DESKTOP_APP_INFO (info)) +- return g_desktop_app_info_get_string (G_DESKTOP_APP_INFO (info), "X-Flatpak"); ++ { ++ gchar *flatpak_id, *snap_name; ++ g_autofree gchar *executable = NULL; ++ ++ flatpak_id = g_desktop_app_info_get_string (G_DESKTOP_APP_INFO (info), "X-Flatpak"); ++ if (flatpak_id != NULL) ++ return flatpak_id; ++ ++ snap_name = g_desktop_app_info_get_string (G_DESKTOP_APP_INFO (info), "X-SnapInstanceName"); ++ if (snap_name != NULL) ++ return snap_name; ++ ++ } + + return NULL; + } +@@ -607,39 +621,39 @@ static void + update_permission_section (CcApplicationsPanel *self, + GAppInfo *info) + { +- g_autofree gchar *flatpak_id = get_flatpak_id (info); ++ g_autofree gchar *portal_app_id = get_portal_app_id (info); + gboolean disabled, allowed, set; + gboolean has_any = FALSE, has_builtin = FALSE; + +- if (flatpak_id == NULL) ++ if (portal_app_id == NULL) + { + gtk_widget_hide (self->permission_section); + return; + } + + disabled = g_settings_get_boolean (self->privacy_settings, "disable-camera"); +- get_device_allowed (self, "camera", flatpak_id, &set, &allowed); ++ get_device_allowed (self, "camera", portal_app_id, &set, &allowed); + cc_toggle_row_set_allowed (CC_TOGGLE_ROW (self->camera), allowed); + gtk_widget_set_visible (self->camera, set && !disabled); + gtk_widget_set_visible (self->no_camera, set && disabled); + has_any |= set; + + disabled = g_settings_get_boolean (self->privacy_settings, "disable-microphone"); +- get_device_allowed (self, "microphone", flatpak_id, &set, &allowed); ++ get_device_allowed (self, "microphone", portal_app_id, &set, &allowed); + cc_toggle_row_set_allowed (CC_TOGGLE_ROW (self->microphone), allowed); + gtk_widget_set_visible (self->microphone, set && !disabled); + gtk_widget_set_visible (self->no_microphone, set && disabled); + has_any |= set; + + disabled = !g_settings_get_boolean (self->location_settings, "enabled"); +- get_location_allowed (self, flatpak_id, &set, &allowed); ++ get_location_allowed (self, portal_app_id, &set, &allowed); + cc_toggle_row_set_allowed (CC_TOGGLE_ROW (self->location), allowed); + gtk_widget_set_visible (self->location, set && !disabled); + gtk_widget_set_visible (self->no_location, set && disabled); + has_any |= set; + + remove_static_permissions (self); +- has_builtin = add_static_permissions (self, info, flatpak_id); ++ has_builtin = add_static_permissions (self, info, portal_app_id); + gtk_widget_set_visible (self->builtin, has_builtin); + has_any |= has_builtin; + +@@ -653,7 +667,7 @@ update_integration_section (CcApplicationsPanel *self, + GAppInfo *info) + { + g_autofree gchar *app_id = get_app_id (info); +- g_autofree gchar *flatpak_id = get_flatpak_id (info); ++ g_autofree gchar *portal_app_id = get_portal_app_id (info); + gboolean set, allowed, disabled; + gboolean has_any = FALSE; + +@@ -663,16 +677,16 @@ update_integration_section (CcApplicationsPanel *self, + gtk_widget_set_visible (self->search, set && !disabled); + gtk_widget_set_visible (self->no_search, set && disabled); + +- if (flatpak_id != NULL) ++ if (portal_app_id != NULL) + { + g_clear_object (&self->notification_settings); +- get_notification_allowed (self, flatpak_id, &set, &allowed); ++ get_notification_allowed (self, portal_app_id, &set, &allowed); + cc_toggle_row_set_allowed (CC_TOGGLE_ROW (self->notification), allowed); + gtk_widget_set_visible (self->notification, set); + has_any |= set; + + disabled = g_settings_get_boolean (self->privacy_settings, "disable-sound-output"); +- get_device_allowed (self, "speakers", flatpak_id, &set, &allowed); ++ get_device_allowed (self, "speakers", portal_app_id, &set, &allowed); + cc_toggle_row_set_allowed (CC_TOGGLE_ROW (self->sound), allowed); + gtk_widget_set_visible (self->sound, set && !disabled); + gtk_widget_set_visible (self->no_sound, set && disabled); +@@ -1322,7 +1336,8 @@ update_app_row (CcApplicationsPanel *self, + { + g_autofree gchar *formatted_size = NULL; + +- self->app_size = get_flatpak_app_size (app_id); ++ if (!g_str_has_prefix (app_id, PORTAL_SNAP_PREFIX)) ++ self->app_size = get_flatpak_app_size (app_id); + formatted_size = g_format_size (self->app_size); + g_object_set (self->app, "info", formatted_size, NULL); + update_total_size (self); +@@ -1345,12 +1360,12 @@ static void + update_usage_section (CcApplicationsPanel *self, + GAppInfo *info) + { +- g_autofree gchar *flatpak_id = get_flatpak_id (info); ++ g_autofree gchar *portal_app_id = get_portal_app_id (info); + +- if (flatpak_id != NULL) ++ if (portal_app_id != NULL) + { + gtk_widget_show (self->usage_section); +- update_flatpak_sizes (self, flatpak_id); ++ update_flatpak_sizes (self, portal_app_id); + } + else + { +@@ -1395,7 +1410,7 @@ update_panel (CcApplicationsPanel *self, + update_usage_section (self, info); + + self->current_app_id = get_app_id (info); +- self->current_flatpak_id = get_flatpak_id (info); ++ self->current_flatpak_id = get_portal_app_id (info); + } + + static void
  21. Download patch debian/patches/ubuntu-region-packagekit.patch
  22. Download patch debian/patches/git_locale_modifiers.patch

    --- 1:3.34.1-1/debian/patches/git_locale_modifiers.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/git_locale_modifiers.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,65 @@ +From: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Date: Mon, 19 Aug 2019 16:17:20 +0100 +Subject: Display locale @modifiers properly + +Make items in the UI represented by locale modifiers distinguishable from +items without modifiers. + This is a diff generated from the upstream merge request + gnome-control-center!507, which has not been merged yet but will likely + be before the 3.34 release. + +Author: Gunnar Hjalmarsson <gunnarhj@ubuntu.com> +Forwarded: https://gitlab.gnome.org/GNOME/gnome-desktop/issues/50 +--- + panels/common/cc-language-chooser.c | 24 +++++++++++++++++++++--- + 1 file changed, 21 insertions(+), 3 deletions(-) + +diff --git a/panels/common/cc-language-chooser.c b/panels/common/cc-language-chooser.c +index 1c15b43..386978d 100644 +--- a/panels/common/cc-language-chooser.c ++++ b/panels/common/cc-language-chooser.c +@@ -52,6 +52,23 @@ struct _CcLanguageChooser { + + G_DEFINE_TYPE (CcLanguageChooser, cc_language_chooser, GTK_TYPE_DIALOG) + ++static gchar * ++get_language_label (const gchar *language_code, ++ const gchar *modifier, ++ const gchar *locale_id) ++{ ++ g_autofree gchar *language = NULL; ++ ++ language = gnome_get_language_from_code (language_code, locale_id); ++ ++ if (modifier == NULL) ++ return g_steal_pointer (&language); ++ else { ++ g_autofree gchar *t_mod = gnome_get_translated_modifier (modifier, locale_id); ++ return g_strdup_printf ("%s — %s", language, t_mod); ++ } ++} ++ + static GtkWidget * + language_widget_new (const gchar *locale_id, + gboolean is_extra) +@@ -62,16 +79,17 @@ language_widget_new (const gchar *locale_id, + g_autofree gchar *country = NULL; + g_autofree gchar *language_local = NULL; + g_autofree gchar *country_local = NULL; ++ g_autofree gchar *modifier = NULL; + GtkWidget *row; + GtkWidget *box; + GtkWidget *language_label; + GtkWidget *check; + GtkWidget *country_label; + +- gnome_parse_locale (locale_id, &language_code, &country_code, NULL, NULL); +- language = gnome_get_language_from_code (language_code, locale_id); ++ gnome_parse_locale (locale_id, &language_code, &country_code, NULL, &modifier); ++ language = get_language_label (language_code, modifier, locale_id); + country = gnome_get_country_from_code (country_code, locale_id); +- language_local = gnome_get_language_from_code (language_code, NULL); ++ language_local = get_language_label (language_code, modifier, NULL); + country_local = gnome_get_country_from_code (country_code, NULL); + + row = gtk_list_box_row_new ();
  23. Download patch debian/ubuntu-volume-amplification-to-gnome

    --- 1:3.34.1-1/debian/ubuntu-volume-amplification-to-gnome 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/ubuntu-volume-amplification-to-gnome 2019-10-15 15:54:41.000000000 +0000 @@ -0,0 +1,29 @@ +#!/usr/bin/python3 + +from gi.repository import Gio +import sys + +UBUNTU_VOLUME_SETTINGS = "com.ubuntu.sound" +UBUNTU_VOLUME_AMPLIFIED_KEY = "allow-amplified-volume" + +GNOME_VOLUME_SETTINGS = "org.gnome.desktop.sound" +GNOME_VOLUME_AMPLIFIED_KEY = "allow-volume-above-100-percent" + + +if __name__ == "__main__": + source = Gio.SettingsSchemaSource.get_default() + # Old and new keys installed + if (source.lookup(UBUNTU_VOLUME_SETTINGS, True) is None or + source.lookup(GNOME_VOLUME_SETTINGS, True) is None): + print("Missing ubuntu or gnome volume key: no migration needed") + sys.exit(0) + + src_settings = Gio.Settings.new(UBUNTU_VOLUME_SETTINGS) + dst_settings = Gio.Settings.new(GNOME_VOLUME_SETTINGS) + if not dst_settings.is_writable(GNOME_VOLUME_AMPLIFIED_KEY): + print("Can't migrate amplification key to GNOME one as they are not writable") + sys.exit(0) + + volume_is_amplified = src_settings.get_boolean(UBUNTU_VOLUME_AMPLIFIED_KEY) + dst_settings.set_boolean(GNOME_VOLUME_AMPLIFIED_KEY, volume_is_amplified) + dst_settings.sync()
  24. Download patch debian/patches/ubuntu_privacy_hide_buggy_controls.patch

    --- 1:3.34.1-1/debian/patches/ubuntu_privacy_hide_buggy_controls.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/ubuntu_privacy_hide_buggy_controls.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,31 @@ +From: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Date: Mon, 19 Aug 2019 16:17:20 +0100 +Subject: ubuntu_privacy_hide_buggy_controls + +# Description: don't list non working camera/microphones items in + +# Description: don't list non working camera/microphones items in +# the privacy settings +# Upstream: https://gitlab.gnome.org/GNOME/gnome-control-center/issues/381 +--- + panels/privacy/cc-privacy-panel.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/panels/privacy/cc-privacy-panel.c b/panels/privacy/cc-privacy-panel.c +index 6256745..4deba02 100644 +--- a/panels/privacy/cc-privacy-panel.c ++++ b/panels/privacy/cc-privacy-panel.c +@@ -1641,8 +1641,13 @@ cc_privacy_panel_init (CcPrivacyPanel *self) + + add_screen_lock (self); + add_location (self); ++ /* Hide buggy camera/microphone controls, ++ https://gitlab.gnome.org/GNOME/gnome-control-center/issues/381 ++ + add_camera (self); + add_microphone (self); ++ */ ++ + add_usage_history (self); + add_trash_temp (self); + add_software (self);
  25. Download patch debian/patches/series

    --- 1:3.34.1-1/debian/patches/series 2019-10-07 15:10:37.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/series 2019-10-15 15:54:46.000000000 +0000 @@ -3,3 +3,26 @@ Expose-touchpad-settings-if-synaptics-is-in-use.patch Debian-s-adduser-doesn-t-allow-uppercase-letters-by-defau.patch distro-logo.patch +git_locale_modifiers.patch +52_region_language.patch +64_restore_terminal_keyboard_shortcut.patch +70_allow_sound_above_100.patch +71_ubuntu_dock_settings.patch +99_add_lock-on-suspend.patch +ubuntu-region-packagekit.patch +ubuntu-language-support.patch +ubuntu-printer-support.patch +ubuntu-legacy-notifications.patch +ubuntu-default-height.patch +connectivity-switch.patch +privacy-panel-whoopsie.patch +auto_quit_after_goa_add.patch +0002-applications-Add-missing-whitespace.patch +0003-applications-Fix-builtin-permissions-showing-when-no.patch +0005-applications-Show-portal-permissions-for-snaps.patch +0006-applications-Show-snap-app-sizes.patch +0007-applications-Show-snap-interface-controls.patch +0008-applications-Add-hack-detect-snaps-before-X-SnapInst.patch +display-Support-UI-scaled-logical-monitor-mode.patch +ubuntu_privacy_hide_buggy_controls.patch +gitlab_background_segfault.patch
  26. Download patch debian/patches/connectivity-switch.patch
  27. Download patch debian/patches/99_add_lock-on-suspend.patch

    --- 1:3.34.1-1/debian/patches/99_add_lock-on-suspend.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/99_add_lock-on-suspend.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,100 @@ +From: Tim Lunn <tim@feathertop.org> +Date: Mon, 3 Jun 2013 17:27:45 +1000 +Subject: Add "Lock Screen on Suspend" option + +--- + panels/privacy/cc-privacy-panel.c | 6 ++++++ + panels/privacy/cc-privacy-panel.ui | 35 +++++++++++++++++++++++++++++++++-- + 2 files changed, 39 insertions(+), 2 deletions(-) + +diff --git a/panels/privacy/cc-privacy-panel.c b/panels/privacy/cc-privacy-panel.c +index f30669a..9f9f2ee 100644 +--- a/panels/privacy/cc-privacy-panel.c ++++ b/panels/privacy/cc-privacy-panel.c +@@ -74,6 +74,7 @@ struct _CcPrivacyPanel + GtkLabel *retain_history_label; + GtkDialog *screen_lock_dialog; + GtkGrid *screen_lock_dialog_grid; ++ GtkSwitch *screen_lock_suspend_switch; + GtkSwitch *show_notifications_switch; + GtkDialog *software_dialog; + GtkSwitch *software_usage_switch; +@@ -442,6 +443,10 @@ add_screen_lock (CcPrivacyPanel *self) + g_settings_bind (self->notification_settings, "show-in-lock-screen", + self->show_notifications_switch, "active", + G_SETTINGS_BIND_DEFAULT); ++ ++ g_settings_bind (self->lock_settings, "ubuntu-lock-on-suspend", ++ self->screen_lock_suspend_switch, "active", ++ G_SETTINGS_BIND_DEFAULT); + } + + static void +@@ -1449,6 +1454,7 @@ cc_privacy_panel_class_init (CcPrivacyPanelClass *klass) + gtk_widget_class_bind_template_child (widget_class, CcPrivacyPanel, retain_history_label); + gtk_widget_class_bind_template_child (widget_class, CcPrivacyPanel, screen_lock_dialog); + gtk_widget_class_bind_template_child (widget_class, CcPrivacyPanel, screen_lock_dialog_grid); ++ gtk_widget_class_bind_template_child (widget_class, CcPrivacyPanel, screen_lock_suspend_switch); + gtk_widget_class_bind_template_child (widget_class, CcPrivacyPanel, show_notifications_switch); + gtk_widget_class_bind_template_child (widget_class, CcPrivacyPanel, software_dialog); + gtk_widget_class_bind_template_child (widget_class, CcPrivacyPanel, software_usage_switch); +diff --git a/panels/privacy/cc-privacy-panel.ui b/panels/privacy/cc-privacy-panel.ui +index 696d7bf..b1a47a5 100644 +--- a/panels/privacy/cc-privacy-panel.ui ++++ b/panels/privacy/cc-privacy-panel.ui +@@ -385,6 +385,37 @@ + <property name="height">1</property> + </packing> + </child> ++ <child> ++ <object class="GtkLabel" id="screen_lock_suspend_label"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="xalign">0</property> ++ <property name="hexpand">True</property> ++ <property name="label" translatable="yes">Lock Screen on Suspend</property> ++ <property name="use_underline">True</property> ++ <property name="mnemonic_widget">screen_lock_suspend_switch</property> ++ </object> ++ <packing> ++ <property name="left_attach">0</property> ++ <property name="top_attach">2</property> ++ <property name="width">1</property> ++ <property name="height">1</property> ++ </packing> ++ </child> ++ <child> ++ <object class="GtkSwitch" id="screen_lock_suspend_switch"> ++ <property name="visible">True</property> ++ <property name="can_focus">True</property> ++ <property name="halign">end</property> ++ <property name="valign">center</property> ++ </object> ++ <packing> ++ <property name="left_attach">1</property> ++ <property name="top_attach">2</property> ++ <property name="width">1</property> ++ <property name="height">1</property> ++ </packing> ++ </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> +@@ -397,7 +428,7 @@ + </object> + <packing> + <property name="left_attach">0</property> +- <property name="top_attach">2</property> ++ <property name="top_attach">3</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> +@@ -411,7 +442,7 @@ + </object> + <packing> + <property name="left_attach">1</property> +- <property name="top_attach">2</property> ++ <property name="top_attach">3</property> + <property name="width">1</property> + <property name="height">1</property> + </packing>
  28. Download patch debian/patches/gitlab_background_segfault.patch

    --- 1:3.34.1-1/debian/patches/gitlab_background_segfault.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/gitlab_background_segfault.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,37 @@ +From 1319a67ee4c4fb4ac712e113114587fc59e8eb96 Mon Sep 17 00:00:00 2001 +From: Robert Ancell <robert.ancell@canonical.com> +Date: Tue, 15 Oct 2019 17:03:58 +1300 +Subject: [PATCH] background: Fix crash if a BgRecentSource is unreffed during + an async operation + +The BG_RECENT_SOURCE (user_data) call was done before it was checked if is was +cancelled. At this point user_data is pointing to an object that has been deleted. + +Fixes #729 +--- + panels/background/bg-recent-source.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/panels/background/bg-recent-source.c b/panels/background/bg-recent-source.c +index 44eec5564..13e583fdc 100644 +--- a/panels/background/bg-recent-source.c ++++ b/panels/background/bg-recent-source.c +@@ -264,7 +264,7 @@ enumerate_children_finished_cb (GObject *source, + GAsyncResult *result, + gpointer user_data) + { +- BgRecentSource *self = BG_RECENT_SOURCE (user_data); ++ BgRecentSource *self; + g_autoptr(GFileEnumerator) enumerator = NULL; + g_autoptr(GError) error = NULL; + +@@ -277,6 +277,7 @@ enumerate_children_finished_cb (GObject *source, + return; + } + ++ self = BG_RECENT_SOURCE (user_data); + g_file_enumerator_next_files_async (enumerator, + G_MAXINT, + G_PRIORITY_DEFAULT, +-- +
  29. Download patch debian/patches/0008-applications-Add-hack-detect-snaps-before-X-SnapInst.patch

    --- 1:3.34.1-1/debian/patches/0008-applications-Add-hack-detect-snaps-before-X-SnapInst.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/0008-applications-Add-hack-detect-snaps-before-X-SnapInst.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,30 @@ +From: Robert Ancell <robert.ancell@canonical.com> +Date: Tue, 12 Mar 2019 15:31:38 +1300 +Subject: [PATCH 8/8] applications: Add hack detect snaps before + X-SnapInstanceName works + +--- + panels/applications/cc-applications-panel.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/panels/applications/cc-applications-panel.c b/panels/applications/cc-applications-panel.c +index 232cbee..041a9c3 100644 +--- a/panels/applications/cc-applications-panel.c ++++ b/panels/applications/cc-applications-panel.c +@@ -236,6 +236,16 @@ get_portal_app_id (GAppInfo *info) + snap_name = g_desktop_app_info_get_string (G_DESKTOP_APP_INFO (info), "X-SnapInstanceName"); + if (snap_name != NULL) + return snap_name; ++ ++ // FIXME: Hack until X-SnapInstanceName is ready ++ // https://github.com/snapcore/snapd/pull/6520 ++ executable = g_desktop_app_info_get_string (G_DESKTOP_APP_INFO (info), "Exec"); ++ if (executable != NULL && strstr (executable, "/snap/") != NULL) ++ { ++ const gchar *id = g_app_info_get_id (info); ++ g_auto(GStrv) tokens = g_strsplit (id, "_", 2); ++ return g_strdup_printf ("%s%s", PORTAL_SNAP_PREFIX, tokens[0]); ++ } + } + + return NULL;
  30. Download patch debian/gnome-control-center-data.migrations

    --- 1:3.34.1-1/debian/gnome-control-center-data.migrations 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/gnome-control-center-data.migrations 2019-10-15 15:54:41.000000000 +0000 @@ -0,0 +1 @@ +debian/ubuntu-volume-amplification-to-gnome
  31. Download patch debian/patches/ubuntu-language-support.patch

    --- 1:3.34.1-1/debian/patches/ubuntu-language-support.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/ubuntu-language-support.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,109 @@ +From: Jeremy Bicha <jbicha@ubuntu.com> +Date: Thu, 14 Sep 2017 09:23:42 -0400 +Subject: [PATCH] region: Add Language Selector button + +Workaround for https://launchpad.net/bugs/1631750 +--- + panels/region/cc-region-panel.c | 30 ++++++++++++++++++++++++++++++ + panels/region/cc-region-panel.ui | 26 ++++++++++++++++++++++++++ + 2 files changed, 56 insertions(+) + +Index: gnome-control-center-3.34.1/panels/region/cc-region-panel.c +=================================================================== +--- gnome-control-center-3.34.1.orig/panels/region/cc-region-panel.c ++++ gnome-control-center-3.34.1/panels/region/cc-region-panel.c +@@ -73,6 +73,7 @@ struct _CcRegionPanel { + GtkListBox *language_list; + GtkListBoxRow *language_row; + GtkFrame *language_section_frame; ++ GtkButton *language_support_button; + GtkLabel *next_source; + GtkLabel *next_source_label; + GtkListBoxRow *no_inputs_row; +@@ -1312,6 +1313,33 @@ strip_quotes (const gchar *str) + return g_strdup (str); + } + ++ ++static void ++show_language_support (CcRegionPanel *self) ++{ ++ GAppInfo *app_info; ++ GdkAppLaunchContext *ctx; ++ GError *error = NULL; ++ ++ app_info = G_APP_INFO (g_desktop_app_info_new ("gnome-language-selector.desktop")); ++ ++ if (app_info) { ++ ctx = gdk_display_get_app_launch_context (gdk_display_get_default ()); ++ g_app_info_launch (app_info, NULL, G_APP_LAUNCH_CONTEXT (ctx), &error); ++ } else { ++ g_warning ("Failed to launch language-selector: couldn't create GDesktopAppInfo"); ++ return; ++ } ++ ++ if (error) { ++ g_warning ("Failed to launch language-selector: %s", error->message); ++ g_error_free (error); ++ } ++ ++ g_object_unref (app_info); ++ g_object_unref (ctx); ++} ++ + static void + on_localed_properties_changed (CcRegionPanel *self, + GVariant *changed_properties, +@@ -1637,6 +1665,7 @@ cc_region_panel_class_init (CcRegionPane + gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, language_list); + gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, language_row); + gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, language_section_frame); ++ gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, language_support_button); + gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, next_source); + gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, next_source_label); + gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, no_inputs_row); +@@ -1650,6 +1679,7 @@ cc_region_panel_class_init (CcRegionPane + + gtk_widget_class_bind_template_callback (widget_class, input_row_activated_cb); + gtk_widget_class_bind_template_callback (widget_class, restart_now); ++ gtk_widget_class_bind_template_callback (widget_class, show_language_support); + } + + static void +Index: gnome-control-center-3.34.1/panels/region/cc-region-panel.ui +=================================================================== +--- gnome-control-center-3.34.1.orig/panels/region/cc-region-panel.ui ++++ gnome-control-center-3.34.1/panels/region/cc-region-panel.ui +@@ -304,6 +304,32 @@ + </style> + </object> + </child> ++ <child> ++ <object class="GtkBox"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="orientation">vertical</property> ++ <child> ++ <object class="GtkButton" id="language_support_button"> ++ <property name="label" translatable="yes">Manage Installed Languages</property> ++ <property name="visible">True</property> ++ <property name="can_focus">True</property> ++ <property name="receives_default">True</property> ++ <signal name="clicked" handler="show_language_support" object="CcRegionPanel" swapped="yes"/> ++ </object> ++ <packing> ++ <property name="expand">False</property> ++ <property name="fill">True</property> ++ <property name="pack_type">end</property> ++ </packing> ++ </child> ++ </object> ++ <packing> ++ <property name="expand">False</property> ++ <property name="fill">True</property> ++ <property name="position">3</property> ++ </packing> ++ </child> + </object> + </child> + </object>
  32. Download patch debian/patches/ubuntu-default-height.patch

    --- 1:3.34.1-1/debian/patches/ubuntu-default-height.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/ubuntu-default-height.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,28 @@ +From: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Date: Mon, 19 Aug 2019 16:17:20 +0100 +Subject: ubuntu-default-height + +# Description: change the default height so all category are on screen +# Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/1728450 +# Upstream: https://bugzilla.gnome.org/show_bug.cgi?id=789372 + +# Description: change the default height so all category are on screen +# Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/1728450 +# Upstream: https://bugzilla.gnome.org/show_bug.cgi?id=789372 +--- + shell/cc-window.ui | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/shell/cc-window.ui b/shell/cc-window.ui +index e7b2a5d..9be5152 100644 +--- a/shell/cc-window.ui ++++ b/shell/cc-window.ui +@@ -5,7 +5,7 @@ + <property name="can_focus">False</property> + <property name="window_position">center</property> + <property name="default-width">980</property> +- <property name="default-height">640</property> ++ <property name="default-height">770</property> + <signal name="notify::window" handler="gdk_window_set_cb" object="CcWindow" swapped="no" /> + <signal name="map-event" handler="window_map_event_cb" object="CcWindow" swapped="no" /> + <signal name="key-press-event" handler="window_key_press_event_cb" object="CcWindow" swapped="no" after="yes" />
  33. Download patch debian/ubuntu-panel-assets/scalable/apps/preferences-ubuntu-panel-symbolic.svg

    --- 1:3.34.1-1/debian/ubuntu-panel-assets/scalable/apps/preferences-ubuntu-panel-symbolic.svg 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/ubuntu-panel-assets/scalable/apps/preferences-ubuntu-panel-symbolic.svg 2019-10-07 15:22:21.000000000 +0000 @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="svg7384" + height="16" + width="16" + version="1.1" + sodipodi:docname="preferences-ubuntu-panel-symbolic.svg" + inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"> + <defs + id="defs11" /> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1920" + inkscape:window-height="1052" + id="namedview9" + showgrid="false" + inkscape:zoom="32" + inkscape:cx="0.57477753" + inkscape:cy="10.302777" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="layer11" /> + <metadata + id="metadata90"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title>Gnome Symbolic Icon Theme</dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <title + id="title9167">Gnome Symbolic Icon Theme</title> + <g + id="layer11" + transform="translate(-103 -627)"> + <path + id="rect3773-9" + style="color:#bebebe;fill:#bebebe" + d="m115 628c1.662 0 3 1.338 3 3v6c0 1.662-1.338 3-3 3h-8c-1.662 0-3-1.338-3-3v-6c0-1.662 1.338-3 3-3h8zm0 2h-8c-0.554 0-1 0.446-1 1v6c0 0.554 0.446 1 1 1h8c0.554 0 1-0.446 1-1v-6c0-0.554-0.446-1-1-1z" /> + <path + id="rect3778-4" + style="color:#bebebe;fill:#bebebe" + d="m111 641c-5 0-5 1-5 1 0 1 1 1 1 1h8c1 0 1-1 1-1s0-1-5-1z" /> + <rect + style="fill:#bebebe;fill-opacity:1;stroke-width:1.46613216" + id="rect3706" + width="2.2282839" + height="7.2806649" + x="106.60026" + y="630.93152" /> + <rect + style="fill:#bdbdbd;fill-opacity:0.34901961" + id="rect3728" + width="10.606606" + height="1.0606689" + x="105.77665" + y="629.89801" /> + </g> +</svg>
  34. Download patch debian/patches/0003-applications-Fix-builtin-permissions-showing-when-no.patch

    --- 1:3.34.1-1/debian/patches/0003-applications-Fix-builtin-permissions-showing-when-no.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/0003-applications-Fix-builtin-permissions-showing-when-no.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,43 @@ +From: Robert Ancell <robert.ancell@canonical.com> +Date: Tue, 12 Mar 2019 17:12:12 +1300 +Subject: [PATCH 3/7] applications: Fix builtin-permissions showing when none + are set + +Shows the placeholder text "Yadda Yadda" +--- + panels/applications/cc-applications-panel.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/panels/applications/cc-applications-panel.c b/panels/applications/cc-applications-panel.c +index 204395c..eac2623 100644 +--- a/panels/applications/cc-applications-panel.c ++++ b/panels/applications/cc-applications-panel.c +@@ -591,8 +591,6 @@ add_static_permissions (CcApplicationsPanel *self, + added += add_static_permission_row (self, _("Settings"), _("Can change settings")); + g_free (str); + +- gtk_widget_set_visible (self->builtin, added > 0); +- + text = g_strdup_printf (_("%s has the following permissions built-in. These cannot be altered. If you are concerned about these permissions, consider removing this application."), g_app_info_get_display_name (info)); + gtk_label_set_label (GTK_LABEL (self->builtin_label), text); + +@@ -611,7 +609,7 @@ update_permission_section (CcApplicationsPanel *self, + { + g_autofree gchar *flatpak_id = get_flatpak_id (info); + gboolean disabled, allowed, set; +- gboolean has_any = FALSE; ++ gboolean has_any = FALSE, has_builtin = FALSE; + + if (flatpak_id == NULL) + { +@@ -641,7 +639,9 @@ update_permission_section (CcApplicationsPanel *self, + has_any |= set; + + remove_static_permissions (self); +- has_any |= add_static_permissions (self, info, flatpak_id); ++ has_builtin = add_static_permissions (self, info, flatpak_id); ++ gtk_widget_set_visible (self->builtin, has_builtin); ++ has_any |= has_builtin; + + gtk_widget_set_visible (self->permission_section, has_any); + }
  35. Download patch debian/patches/Debian-s-adduser-doesn-t-allow-uppercase-letters-by-defau.patch

    --- 1:3.34.1-1/debian/patches/Debian-s-adduser-doesn-t-allow-uppercase-letters-by-defau.patch 2019-10-07 15:10:56.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/Debian-s-adduser-doesn-t-allow-uppercase-letters-by-defau.patch 2019-10-15 15:54:46.000000000 +0000 @@ -8,11 +8,11 @@ Bug: https://bugs.debian.org/cgi-bin/bug panels/user-accounts/cc-add-user-dialog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: gnome-control-center-3.34.1/panels/user-accounts/cc-add-user-dialog.c -=================================================================== ---- gnome-control-center-3.34.1.orig/panels/user-accounts/cc-add-user-dialog.c -+++ gnome-control-center-3.34.1/panels/user-accounts/cc-add-user-dialog.c -@@ -234,7 +234,7 @@ local_create_user (CcAddUserDialog *self +diff --git a/panels/user-accounts/cc-add-user-dialog.c b/panels/user-accounts/cc-add-user-dialog.c +index 07c1edf..0ca8122 100644 +--- a/panels/user-accounts/cc-add-user-dialog.c ++++ b/panels/user-accounts/cc-add-user-dialog.c +@@ -234,7 +234,7 @@ local_create_user (CcAddUserDialog *self) manager = act_user_manager_get_default (); act_user_manager_create_user_async (manager,
  36. Download patch debian/gbp.conf

    --- 1:3.34.1-1/debian/gbp.conf 2019-10-07 15:10:37.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/gbp.conf 2019-10-15 15:54:41.000000000 +0000 @@ -1,7 +1,8 @@ [DEFAULT] pristine-tar = True -debian-branch = debian/master -upstream-branch = upstream/latest +debian-branch=ubuntu/master +upstream-branch=upstream/latest +debian-tag=ubuntu/%(version)s upstream-vcs-tag = %(version)s [buildpackage]
  37. Download patch debian/patches/0002-applications-Add-missing-whitespace.patch

    --- 1:3.34.1-1/debian/patches/0002-applications-Add-missing-whitespace.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/patches/0002-applications-Add-missing-whitespace.patch 2019-10-15 15:54:46.000000000 +0000 @@ -0,0 +1,20 @@ +From: Robert Ancell <robert.ancell@canonical.com> +Date: Tue, 12 Mar 2019 17:05:34 +1300 +Subject: [PATCH 2/7] applications: Add missing whitespace + +--- + panels/applications/cc-applications-panel.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/panels/applications/cc-applications-panel.c b/panels/applications/cc-applications-panel.c +index 1cc4760..204395c 100644 +--- a/panels/applications/cc-applications-panel.c ++++ b/panels/applications/cc-applications-panel.c +@@ -1315,6 +1315,7 @@ clear_cache_cb (CcApplicationsPanel *self) + dir = get_flatpak_app_dir (self->current_app_id, "cache"); + file_remove_async (dir, self->cancellable, cache_cleared, self); + } ++ + static void + update_app_row (CcApplicationsPanel *self, + const gchar *app_id)
  38. Download patch debian/source/include-binaries

    --- 1:3.34.1-1/debian/source/include-binaries 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.34.1-1ubuntu2/debian/source/include-binaries 2019-10-07 15:22:21.000000000 +0000 @@ -0,0 +1,5 @@ +debian/ubuntu-logo-icon.png +debian/ubuntu-panel-assets/24x24/apps/preferences-ubuntu-panel.png +debian/ubuntu-panel-assets/22x22/apps/preferences-ubuntu-panel.png +debian/ubuntu-panel-assets/32x32/apps/preferences-ubuntu-panel.png +debian/ubuntu-panel-assets/16x16/apps/preferences-ubuntu-panel.png
  1. gnome-control-center