temp/gnome-control-center: stop using purism fork
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
andthunderbolt
. 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 forpostmarketos-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
-
debian/patches/forwarded/shell-Mirror-the-main-leaflet-s-folded-property.patch: First commit from https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1044. Included as
0002-shell-Mirror-the-main-leaflet-s-folded-property.patch
-
debian/patches/forwarded/display-Use-ComboBox-when-folded.patch: Second commit from https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1044. Included as
0003-display-Use-ComboBox-when-folded.patch
-
0004-wwan-Fix-enabling-data-after-APN-is-set.patch
: https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1055 -
0005-Wrap-long-labels-on-small-screens.patch
: https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1057 -
0006-wifi-Reduce-width-connection-row.patch
: https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1029
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
pureos_get_is_phone
Patches that execute conditionally on 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 fixcan be fixed by reducing the wide icon size. FIXED
TODO
-
Decide whether to hide functionality not implemented in phosh ( universal-access
andmultitasking
). Lets include these panels completely. Useful forpostmarketos-ui-gnome
. -
Decide whether to hide functionality previously missing not looking good in phones ( universal-access
andmouse
). Lets include these panels completely. Useful forpostmarketos-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 inwifi-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