Skip to content

temp/gnome-control-center: stop using purism fork

Pablo Correa Gomez requested to merge (removed):upstream-g-c-c into master

This is an effort to incorporate purism's adaptability patches to new GNOME 41 to replace their old 3.38 version.

Related to #1247 (closed)

This below is a summary of all the patches in their fork and some additional useful ones. There are still some tasks to be done, but I think this is ready for some testing. I would specially appreciate input regarding the first two TODOs.

@Newbyte

Patches ignored

Upstreamed / Fixed

  • debian/patches/upstream/*
  • debian/patches/forwarded/wwan-Add-new-panel-for-modem-management.patch
  • debian/patches/power-Label-the-PENDING_CHARGING-state-as-Not-Charging.patch
  • debian/patches/pureos/Add-form-factors-to-desktop-and-appdata-files.patch
  • debian/patches/pureos/UserAccount-Allow-stack-to-have-different-size.patch. Unnecessary with 0009-Users-Adapt-panel-to-make-it-usablle-in-small-screens.patch
  • debian/patches/pureos/power-show-brightness-slider-in-a-separate-row.patch: Tested with gnome-settings-daemon-41.0-r0.

Debian/PureOS specific

  • debian/patches/Debian-s-adduser-doesn-t-allow-uppercase-letters-by-defau.patch
  • debian/patches/distro-logo.patch
  • debian/patches/Revert-build-Bump-build-dependency-on-polkit.patch
  • debian/patches/Expose-touchpad-settings-if-synaptics-is-in-use.patch: I do not think this applies to us. Could get some review by somebody else.

Patches that hide functionality

  • debian/patches/pureos/Add-patches-to-check-if-phone.patch
  • debian/patches/pureos/cc-panel-Add-helper-that-makes-it-simple-to-check-if-we-r.patch
  • debian/patches/pureos/shell-Hide-some-panels-on-phones.patch Purism disables application, color, removable-media and thunderbolt. They all look alright in my tests, so I have ignored this patch.
  • debian/patches/pureos/universal-access-Enable-panel-by-default.patch Enables universal panel but disables some sections: row_large_text row_cursor_size row_zoom row_screen_reader row_sound_keys section_hearing section_typing section_pointing. Some of this look terrible in phones. Some just look like they have not been implemented in phosh. We do not hide them anyway, as they are useful for postmarketos-ui-gnome.
  • debian/patches/pureos/mouse-panel-Adapt-to-fit-in-smaller-screens.patch: Hide test buttons, as test screen is way too big for phone. Ignore this patch for the same reason as previous one.
  • debian/patches/pureos/notification-Hide-lockscreen-notification-option-on-.patch: This option binds to org.gnome.desktop.notifications -> show-in-lock-screen. My guess is that phosh in pureos is too old and does not have lockscreen notification support. This option is actually useful and tested working in phosh 13.1.
  • debian/patches/pureos/user-panel-hide-add-user-unlock-buttons.patch This hides the permission bar in user panel. The bar has been made adaptive in 0009-Users-Adapt-panel-to-make-it-usable-in-small-screens.patch and this is no longer needed.

Other reasons

  • debian/patches/pureos/region-Remove-preview-button-from-input-row-on-phone.patch: Totally changed upstream, does not apply. Alternative is Wrap-long-labels-on-small-screens.patch
  • debian/patches/pureos/display-Let-button-box-have-vertical-orientation-on-.patch: If multiple displays exist, this patch allows the configurations (Single, Join, Mirror) to be shown vertically. I have not found a usecase for this, but could reconsider it if someone proposes one.
  • debian/patches/pureos/user-accounts-Constrain-passwords-to-digits-on-phone.patch: The logic has been ignored and ui changes for adaptability are the inspiration for 0009-Users-Adapt-panel-to-make-it-usable-in-small-screens.patch.
  • debian/patches/pureos/Add-helper-for-new-connection-editor.patch: Drop in favor of 0008-Wifi-User-Purism-connection-editor.patch.
  • debian/patches/pureos/wifi-Use-new-connection-editor.patch: Drop in favor of 0008-Wifi-User-Purism-connection-editor.patch.

Patches included

Upstream MR pending merge / Fixed after GNOME 41

Useful simple patches

  • debian/patches/pureos/avatar-chooser-Adapt-to-work-on-librem5.patch
  • debian/patches/pureos/datetime-Fix-timezone-selection-map.patch
  • debian/patches/pureos/display-Request-a-smaller-size-for-arrangment-widget.patch
  • debian/patches/pureos/online-accounts-Make-edit-account-dialog-resizable.patch
  • debian/patches/pureos/wifi-Fix-a-crash-when-wifi-device-is-removed.patch: No clue why is this one not upstreamed.

non-upstreamable changes

  • assets/* : Replace multitasking images with smaller icons to fit phone screens.
  • debian/patches/pureos/sound-fix-test-dialog-on-small-screen.patch: Most likely not upstreamable. I believe still worth to include it here. Related: https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/679
  • debian/patches/pureos/Add-new-connection-editor.patch: Included as 0007-Add-new-connection-editor.patch. Necessary to avoid a big regression for the WiFi panel. Slightly edited from Purism to make it apply.
  • 0008-Wifi-User-Purism-connection-editor.patch
  • 0009-Users-Adapt-panel-to-make-it-usablle-in-small-screens.patch: Parts of this patch could easily make it upstream, but most likely needs to be split in multiple changes and UI design input.

Patches pending assessment

Patches that execute conditionally on pureos_get_is_phone

Purism included in its fork a function/hack to identify whether they are running on a phone and hide or modify some behavior based on the results. Although it works well, this is never going to make it upstream and I believe we should not include such patches. Still, some of the functionality they provide can be useful, so we might consider porting some of the functionality.

Issues

  • Segmentation fault in printers. Fixed by hiding printer panel.
  • Segmentation fault in region and language -> formats
  • multitasking panel is new and not fully adaptive, neither probably very useful for phosh. Adaptiveness seems easy to fix can be fixed by reducing the wide icon size. FIXED

TODO

  • Decide whether to hide functionality not implemented in phosh (universal-access and multitasking). Lets include these panels completely. Useful for postmarketos-ui-gnome.
  • Decide whether to hide functionality previously missing not looking good in phones (universal-access and mouse). Lets include these panels completely. Useful for postmarketos-ui-gnome and not critical so that make g-c-c unusable in phones. Maybe also a driver for people to go upstream and improve them.
  • Make the user panel usable again.
  • Use redesigned Purism's wifi configuration panel instead of upstream unusable one. This MR has been included and adapted in wifi-Reduce-width-connection-row.patch.
  • Wait for Alpine's GNOME 41 and test power panel.
  • Investigate segmentation fault in region and language -> formats. If not easily fixable, just hide it.
  • Reduce size of icons in multitasking panel and open issue upstream: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1473
Edited by Pablo Correa Gomez

Merge request reports