Summary of changes
- Detect captive portals and allow to open browser
- New quick setting plugin to switch display scales
- Create thumbnails for Screenshots
- Allow to uninstall apps from app-grid
- Close quick setting status pages when action was successful
- WWan enable/disable autoconnect with the connection so e.g.
mobile data doesn't turn on on resume
- Minimize and stabilize libphosh API
- prefs plugins: Remove the last remaining GtkDialog and use
AdwEntryRow
- Respect week number setting in calendar widget
- Avoid crash when fixing between certain combinations of fractional
scales (with e.g. wlr-randr)
- Allow libphosh users to hide the whole overview/bottom bar
- Fade in system modal dialogs
- Several background image related fixes
- Fix crash on unlock with media player widget
- Issues fixed:
- https://gitlab.gnome.org/guidog/meta-phosh/-/issues/16
- https://gitlab.gnome.org/World/Phosh/phosh/-/issues/989
- https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1139
- https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1159
- https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1166
- https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1169
- https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1171
- https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1173
- https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1176
- https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1177
- https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1181
- https://gitlab.gnome.org/guidog/meta-phosh/-/issues/16
- Contributors:
- Adam Honse
- Arun Mani J
- Cédric Bellegarde
- Evangelos Ribeiro Tzaras
- Gotam Gorabh
- Guido Günther
- Sam Day
- Adam Honse
i18n updates
- UI translations:
- Antonio Marin (ro)
- Artur S0 (ru)
- Danial Behzadi (fa)
- Daniel Rusek (cs)
- Ekaterine Papava (ka)
- Emin Tufan Çetin (tr)
- Jordi Mas i Hernandez (ca)
- Martin (sl)
- Rafael Fontenelle (pt_BR)
- Sabri Ünal (tr)
- twlvnn kraftwerk (bg)
- Yuri Chornoivan (uk)
- Antonio Marin (ro)
Detailed changes
phosh (0.45~beta1) experimental; urgency=medium
.
[ Guido Günther ]
* fake-clock: Make WallClockMock available in regular shell
* main: Allow to use fake clock.
Allow to use the fake clock in the regular shell. This eases making
demos and screenshots and it doesn't add much code.
* docs: Document PHOSH_FAKE_CLOCK
* screenshot-manager: Add cancellable.
Always good to cancel async operations on shutdown
* screenshot-manager: Separate hours, minutes and seconds by ':'
Rather than using '-' for date and time, separate the time by ':' to
make it easier to identify.
* screenshot-manager: Create thumbnails of screenshots.
Screenshots are used a lot on mobile so make sure we generate thumbnails
for the cases where the e.g. uploading application doesn't.
We already have all the data so write out a thumbnail per
https://specifications.freedesktop.org/thumbnail-spec/0.8.0/
* wwan-manager: Enable and disable autoconnect.
When we disable a WWan connection we should also disale autoconnect as
otherwise the connection comes back up after resume or reboot.
Hence we need to reenable autoconnect when the connection is activated
again.
Closes: https://gitlab.gnome.org/guidog/meta-phosh/-/issues/16
* wwan-mm: Use swapped signal. Our handler wants `self` first
Fixes 51da91508 ("wwan-mm: Switch to MM objects")
* ci: No need to fetch phoc from sid. The one in trixie is recent enough now
* gitignore: Ignore pycache files
* home: Use g_timeout_add_once() Simpler API
* home: Queue draw instead of committing the surface.
We don't know if GTK already attached a matching buffer and attaching an
incorrectly sized one can lead to the compositor terminating the
connection so let GTK decide when to commit.
* top-panel: Queue draw instead of committing the surface.
We don't know if GTK already attached a matching buffer and attaching an
incorrectly sized one can lead to the compositor terminating the
connection so let GTK decide when to commit.
* packaging: Add pytest. Useful to run the tests
* packaging: Require newer phoc. This ensures we have a recent enough
one in the tests
* packaging: Depend on wlr-randr. We use it in the tests
* tests: Add simple test to check mode changes.
We hade some crashes in that area so make that testable in CI.
This can also be extended to check the binaries on the installed system
at some point thus making it easier for distros to validate their
builds.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1171
* ci: Run integration tests
* ci: Drop phosh startup tests.
With the pytests we spawn a shell too. It served us well up to now.
* layersurface: Drop protocol version check.
We require recent enough phoc anyway.
* treewide: Assume phoc supports alpha layer surfaces.
This is supported by phoc since May 2023
* layersurface: Drop now unused has_alpha()
* layersurface: Simplify map/unmap
map()'s and unmap()'s are impls for virtual methods so
we can't end up with an incorrectly casted type (as e.g.
in signal handlers). This is a left over from:
Fixes 953894a2b ("layersurface: Use class methods instead of signals for map and realize")
* layersurface: Allow to set alpha before the surface is mapped.
Catch up with values set prior to mapping the surface on map.
So far this resulted in errors but allowing it makes things more
flexible as we don't need to bother when the surface gets mapped.
Helps: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/940
* layersurface: Allow to set stacking before the surface is mapped.
Catch up with values set prior to mapping the surface on map.
So far this resulted in errors but allowing it makes things more
flexible as we don't need to bother when the surface gets mapped.
We take a weak ref on the target surface so we can notice when it goes
away. Otherwise we would try to bind a non existent target surface when
the target surface goes away before the surface itself gets ever mapped.
* home: Bind background visibility.
Instead of always showing it, bind it to the visibility of home.
This ensures they stay in sync.
Since `visible` is false in the constructor this is a slight behavior
change as the background will now become visible a bit later.
* top-panel: Bind background visibility.
Instead of always showing it, bind it to the visibility of top panel.
This ensures they stay in sync.
Since `visible` is false in the constructor this is a slight behavior
change as the background will now become visible a bit later.
* system-modal-dialog: Rename obj to object.
We have a mix in the code base but 'object' is more prevalent.
* system-modal-dialog: Fade in system modal dialogs.
This is a bit less surprising and with the cleanups in the layer surface
code we can fade in with a simple PhoshAnimation. Since the compositor
drives the rendering this doesn't cause much CPU (as GTK based blending
would).
* background-manager: Update background when dark uri changes too.
We tracked the regular background but not one for the dark theme.
* background: Fill background with primary color.
This makes sure we have a proper background in the overview in
case the selected image has transparency.
In case of a missing image it ensures we fall back to black so the
overview always gets a non transparent background.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1173
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1169
* background: Use background color for the primary output's background.
The primary output's background determines the color behind the top and
bottom bars when they are folded (since the actual bars are
transparent). So use the @phosh_bg_color CSS value for these areas
rather then the primary-color gsetting.
This ensures the seamless fading from the opened overview to the black
top and bottom panel works even for situations where the primary-color
gsetting is not '#000000'.
* media-player: Don't access `self` when call got cancelled.
The memory has then been free'd already.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1176
Tested-by: Fiona Klute <fiona.klute@gmx.de>
* media-player: Simplify flow.
We first handle the success then the failure path. By basing this on
`var` we avoid `else if`.
Tested-by: Fiona Klute <fiona.klute@gmx.de>
* ci: Pull phoc from Debian unstable.
Should fix the crash we're seeing on phoc shutdown in CI
* osk-button: Drop widget. It's not used anymore.
Fixes: fe308c2ce ("home: Shrink home-bar height and move osk activation to center")
* shell: Allow plugins to get the primary and built-in monitor
* monitor-manager: Allow to set a monitor's scale. This is similar to
setting the transform.
* head: Move scale calculation for video modes to util.
It's not bound to the actual head we use so we can also use it e.g. for
monitors.
* build: Export symbols needed to set monitor scale
* tests/integration: Honor WLR_BACKENDS from environment
* docs: Use full line length. Matches what we do in the code
* docs: Move callbacks one indent level up. Doesn't belong to properties
* docs: Add signal example
* docs: Add since annotations to examples
* docs: Add doc string
* docs: Add GObject introspection docstring example
* manager: Use idle_add_once variant. A bit less code and easier to read.
* notification: Allow for empty do_action. Shell internal notifications
only listen to signals so they don't have `do_action` implemented
* build: Move wifi-manager to tool sources.
We want to add the connectivity manager there and as this will reference
the wifi-manager we need to move things over (which is an improvement
over all as we want to empty `libphosh_sources` in favor of
`libphosh_tool_sources`).
* connectivity-manager: New class to track connectivity information.
This will be used for detecting captive portals and by
connectivity-info.
* connectivity-info: Use connectivity-manager
* connectivity-manager: Only update on state changes
* connectivity-manager: Show notification when we detect a captive portal.
Clicking on the portal opens the portal URL in the browser
* d/control: Recommend network-manager-config-connectivity-debian.
This allows NMs captive portal detection to work.
* layersurface: Fix initial alpha sync. We want to set for alpha != 1.0
Fixes 6b2d9f6b6 ("layersurface: Allow to set alpha before the surface is mapped")
* layersurface: Clear effects on unmap.
This allows us to toggle visibility on and off as the effects will be
recreated on map.
* home: Recolor only the home bar on state changes.
So far we added the style class to the whole home widget which means
recalculating the style for all widgets (including the app grid). This
way we need to calculate way less new CSS.
In order to keep HighContrast theme working we restyle the whole Home
widget on theme changes still.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1177
Tested-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
* home: Toggle background widget on/off based on visibility.
This avoids showing the background for a split second in high contrast
mode and also saves computation time.
* wifi-network-row: Use property setter.
Instead of splitting setting and binding make it look like a regular
property setter elsewhere.
* bt-device-row: Name async callback _ready.
Following our usual pattern
* quick-setting-box: Don't warn when closing "wrong" status page.
Don't emit a warning when trying to close a status page that isn't
currently open. This allows quick settings to emit `hide-status`
without keeping track whether their status it the one currently shown.
* bt-device-row: Emit signals for activation.
Emit a signal when activation starts (and hence the row is "busy") and
when it finishes. This allows the status page to keep track of the rows
state.
* status-page: Add "done" signal.
Status pages should emit this when they want to be closed
* bt-status-page: Emit done when last device activated successfully.
We emit the signal when all devices finished activating and the last one
finished successfully as the user is very likely done with the status
page at this point.
Helps: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1166
* quick-setting: Hide status page on "done" signal.
When the status page indicates it is done, close it.
Helps: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1166
* scaling-quick-setting: Close status page on scale changes.
Let status page emit "done" signal when setting the scale. This closes
the status page.
Helps: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1166
* wifi-status-page: Use g_connect_object() for wifi-manager.
Less code and we'll connect more. Fix one trailing white space while at
that.
* wifi-network: Clarify ownership of phosh_wifi_network_get_ssid()
It is transfer: none.
* wifi-status-page: Fix incorrect signal handler signature.
There's no `GParamSpec` in the "clicked" signal. Thankfully we're not
using the button yet so this wasn't a problem so far.
* wifi-status-page: Close status page when connection succeeds.
Close the status page when the Wi-Fi network the user selected gets
activated.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1166
* dir-locals: Set indicator column.
Makes indenting a bit simpler
* notification: Clear expiry timeout before setting it.
This allows to bump the timeout of an existing notification
* tests: Stub wifi-manager with an object.
This allows the connectivity test to retrieve it
* shell: Create Wi-Fi manager upfront.
This ensures we have it around when needed.
* shell: Create connectivity manager upfront.
This ensures correct ordering between Wi-Fi and Connectivity manager.
* connectivity-manager: Make notification persistent.
We keep the notification around unless the SSID of the network changes
or we get connectivity again. Close it as soon as we get connectivity
again or the SSID changes.
The banner will close after 20s (rather than 10s atm) so it is a bit
easier to catch.
* connectivity-manager: Make notification silent.
No need to buzz or blink when we detect a Wi-Fi portal.
.
[ Cédric Bellegarde ]
* screen-saver-manager: Connect logind prepare-for-sleep sooner
.
[ Sam Day ]
* build: Add libappstream dependency.
This is needed by the PhoshMetainfoCache to be introduced in the
following commit.
* metainfo-cache: Introduce PhoshMetainfoCache.
This was originally authored by Guido in the WIP MR !950.
It handles initializing an AppStream cache "Pool", which is populated
with information about available applications on the system (installed
or otherwise).
It will be utilized in the following commit of this series, to determine
the correct AppStream "data id" that is used when invoking
gnome-software --uninstallation
* app-grid-button: Add Uninstall action
gnome-software supports an --uninstall <id> invocation, which navigates
directly to the details page for the app and pops the prompt to
uninstall that app.
* shell: Allow overview to be hidden.
This commit introduces a PhoshShell::overview-visible property, which is
bound to the visibility of the PhoshHome that the shell constructs.
This property isn't used in phosh-session and probably never will be,
it's for custom PhoshShell subtypes, such as phrog, which will use it
when displaying a "first-run" application in the system greeter view.
* shell: Minor uncrustification.
A handful of tiny cleanups in the property set/get functions, since I'm
in the area with the previous commit.
* build: Rename most libphosh_* Meson variables to phosh_*
libphosh API is about to be dramatically reduced. As such it's not
really accurate to refer to any of these sources or headers as
"libphosh", since they're meant to be internal.
* build: Omit libphosh_headers from phosh_sources.
The phosh_sources variable should only include .c source files. This way
it can be safely included in the files fed into g-ir-scanner without
causing unintended additions to introspection output.
* build: Omit phosh_tool_headers from phosh_tool_sources.
* build: Only add phosh_*_headers to phosh_headers.
* build: Generate a subset of enums for libphosh
* lockscreen-manager: Minor uncrustification
* lockscreen-manager: Split out a private header.
The constructor is moved to the private header so that PhoshCallsManager
can be excluded from the public API.
* lockscreen: Split out a private header.
The constructor is moved to the private header so that PhoshCallsManager
can be excluded from the public API.
libphosh consumers don't need to use this constructor directly, since
they can control what Lockscreen subclass is constructed via
PhoshShell's get_lockscreen_type vfunc.
* shell: Split a public header out from plugin-shell.
In the case of PhoshShell, we have two kinds of "public" - stuff that
should be exported to libphosh consumers, and stuff that should be
available to bundled plugin.so libraries.
So the header that was formerly shell.h is now shell-priv.h, and a new
shell.h header is introduced that splits the basic type definition and
some initial public methods out from plugin-shell.h
plugin-shell.h includes shell.h, and shell-priv.h includes
plugin-shell.h. Got it? Nope? Don't worry - it'll make sense eventually.
* plugin-shell: Make phosh_shell_new public API
libphosh consumers should be able to construct a PhoshShell
* plugin-shell: Make phosh_shell_fade_out public API.
This is used by phrog to do a nice fadeout of the greeter session when a
user has successfully logged in.
* plugin-shell: Make phosh_shell_get_lockscreen_manager public API.
This is useful for libphosh consumers (like phrog) to obtain a reference
to the active Lockscreen.
* plugin-shell: Make phosh_shell_get_usable_area public API
phrog currently uses this in tests to center the virtual mouse pointer.
I was going to switch that code to use Gdk but Guido indicated this
might be useful elsewhere so might as well make/keep it public.
* plugin-shell: Make phosh_shell_get_screenshot_manager public API.
This is already used directly in the libphosh-rs hello-world example, so
it seems a safe bet this should be considered public API.
* build: Keep track of public dbus sources/headers.
When codegenning the dbus proxies, we keep track of the files that
should be included in the public API of libphosh.
The newly introduced libphosh_generated_dbus_* variables are not
being used yet, but they will be when the GIR is updated to use a much
smaller subset of files for introspection.
* build: Dramatically reduce the size of libphosh public API.
The dozen or so commits prior to this one in this series were all
working towards this point. The GIR and libphosh.h are reworked to only
include a very small set of headers for the current minimum viable
public API (based on existing usage in libphosh-rs examples and phrog).
The GIR has been shrunk from ~70k lines to ~2.3k, and the number of
files installed to /usr/include/libphosh-N.NN has reduced from ~200 down
to ~20.
* build: Remove many generated+supporting headers from public API.
Now that libphosh.h is significantly smaller in scope, none of these
headers need to be included alongside the libphosh headers.
* build: Ensure wl protos referenced by public API are installed.
The previous commit was a little overzealous in removing headers from
the public API header dir. Specifically, layersurface.h is including the
generated wlr-layer-shell-unstable-v1 header.
So, similar to the earlier commit that distinguishes public dbus
generated sources from internal ones, we introduce a list of generated
wl proto headers that should be included in the public API.
* quick-setting: Add vtable padding for future API/ABI compatibility
* status-icon: Uncrustify _PhoshStatusIconClass
* status-icon: Add vtable padding for future API/ABI compatibility
* status-page: Add vtable padding for future API/ABI compatibility
* wall-clock: Uncrustify _PhoshWallClockClass
* wall-clock: Add vtable padding for future API/ABI compatibility
* treewide: Remove various docstring symbol links to internal classes.
* docs: Qualify API docs as 'public' in README
.
[ Adam Honse ]
* plugins: Screen scaling quick setting plugin.
Allow to select the scale for the primary output. The list of scales
is calculated the same way we do it when presenting them to Settings.
For the moment we disable the plugin when there's more than one output
as it's not obvious to the user if it should affect the primary or
built-in display.
Clicking on the button swaps back to the previously selected scale which
looks like the best default action.
.
[ Gotam Gorabh ]
* tree: Bump gtk version in ui files.
Bump gtk dependency to 3.24 and add libhandy
as a requirement where it needed.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1181
* d/control: Add libgmobile-dev dependency
* emergency-info-prefs: Remove useless code
* emergency-info-prefs: Switch to AdwEntryRow for add_emer_contact_dialog
* emergency-info-prefs: Port add_emer_contact_dialog to AdwDialog.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1159
* emergency-info-prefs: Port remaining GtkEntry to AdwEntryRow.
As we already make `add_emer_contact_dialog` to use AdwEntryRow
in https://gitlab.gnome.org/World/Phosh/phosh/-/merge_requests/1615 ,
this mr will port remaining ones.
.
[ Evangelos Ribeiro Tzaras ]
* calendar: Respect week number setting (Closes: #989)
* ci: Add gsettings-desktop-schemas as build dependency for alpine
.
[ Arun Mani J ]
* status-pages: Disable vertical homogeneous.
These pages have a lot of stack pages of different heights. With
homogeneous, smaller pages have an awkward space at bottom. May be not
really awkward, but at least pages now take only the height they need.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1139
* plugins: Add missing schemas compilation steps
* tools: Add missing plugins' schemas
* plugins: Build schema only on dependency change
* Simplify many UI files using `gtk-builder-tool`
.
[ Sabri Ünal ]
* Update Turkish translation
.
[ Martin ]
* Update Slovenian translation
.
[ Yuri Chornoivan ]
* Update Ukrainian translation
.
[ Emin Tufan Çetin ]
* Update Turkish translation
.
[ Daniel Rusek ]
* Update Czech translation
.
[ Danial Behzadi ]
* Update Persian translation
.
[ Ekaterine Papava ]
* Update Georgian translation
.
[ twlvnn kraftwerk ]
* Update Bulgarian translation
.
[ Artur S0 ]
* Update Russian translation
.
[ Rafael Fontenelle ]
* Update Brazilian Portuguese translation
.
[ Antonio Marin ]
* Update Romanian translation
.
[ Jordi Mas i Hernandez ]
* Update Catalan translation
Required versions of related projects
- glib >= 2.72.0
- gtk3 >= 3.24.40
- gtk4 >= 4.14
- phoc >= 0.45~beta1
- squeekboard >= 1.43.0
- feedbackd >= 0.5.0
- gnome-calls >= 46.3 for location based emergency calls and feedbackd fix
- wl-clipboar >= 2.2.1
- pipewire: >= 0.3.73 for proper audio icons
- xdg-desktop-portal >= 1.17.1 to honor portal configuration
- xdg-desktop-portal-phosh >= 0.43.0 for accent colors in apps
- phosh-mobile-settings >= 0.44.0
- phosh-tour >= 0.41.0
- gnome-settings-daemon >= 46 to not show the sleep notification on phones
- gsettings-desktop-schemas >= 47 for accent colors
Required patches that are merged upstream but not yet in a released version:
Required patches that aren't merged upstream yet:
- wlroots (>= 0.12.0): Layer shell restrictions. See https://source.puri.sm/Librem5/phosh/-/issues/422. Otherwise phosh will fail to start.
- gtk: xdg-activation-0-serial. Otherwise startup splash always times out
- gnome-keyring: Accessing login keyring after first login fails
Recommended patches on other projects
Patches that are merged upstream but not yet in a released version:
(none)
Patches that aren't merged upstream yet:
- linux: HKS support (not yet submitted): https://source.puri.sm/Librem5/linux-next/-/merge_requests/77
- gtk4 adaptiveness (not yet submitted): https://source.puri.sm/Librem5/debs/gtk4/-/tree/pureos/byzantium/debian/patches/pureos/adaptive
(Not needed for phosh itself but to make GTK4 applications adapt better)
- gtk3 adaptiveness (not yet submitted): https://source.puri.sm/Librem5/debs/gtk/-/tree/pureos/byzantium/debian/patches/pureos/adaptive
(Not needed for phosh itself but to make GTK3 applications adapt better)
- gnome-screenshot adaptiveness: https://gitlab.gnome.org/GNOME/gnome-screenshot/-/merge_requests/69
(Not needed for phosh itself but to make screenshots easier)
- vte: Ignore menu key: https://gitlab.gnome.org/guidog/vte/-/commit/11b29ca2aa2f1715579519699ec17245a411ee0e . See https://gitlab.gnome.org/GNOME/vte/-/issues/2644 (as project doesn't allow merge requests) (Not needed for phosh itself but to get copy/paste menu in e.g. gnome-console)
- gnome-clocks: Feedbackd support https://gitlab.gnome.org/guidog/gnome-clocks/-/tree/lfb
See meson.build and debian/control for build-time and run-time dependencies.
For older releases
These are only some of the required/recommended patches. If in doubt please use the released versions above:
- gtk3: Better touch accuracy (affects phosh, phosh-osk-stub, etc): https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6668 (contained in 3.24.40)
- gnome-text-editor: Hint word completion (so e.g. OSKs know its sensible to use it): https://gitlab.gnome.org/GNOME/gnome-text-editor/-/merge_requests/132 (contained in 46)
- gtk4: Touch DND fixes: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6608 (contained in 4.14)
- gnome-clocks: Allow for lockscreen actions: https://gitlab.gnome.org/GNOME/gnome-clocks/-/merge_requests/277 . Needed to turn off alarms on the lock screen.
- glib (contained in 2.72.0): Notification categories
- gnome-settings-daemon: Claim light sensor async as otherwise screen unblank can take a noticable amount of time
- gsettings-desktop-data (contained in 42): Dark theme toggle
- gnome-control-center (contained in 42): display: Use ComboBox when folded. Otherwise fractional scaling doesn't show all values.
- gnome-control-center (contained in 42): connection-editor: Allow dialog to resize
- gtk4 (contained in 4.6.2): xdg-activation
- gtk4 (contained in 4.6.2): osk unfold
- gtk4 (contained in 4.6.2): osk unfold
- gtk3 (contained in 3.24.30):gtkapplication-dbus: Fetch inital screen saver state async. Otherwise gnome-calls and phosh will block on each other on startup blocking the whole UI.
- geoclue (contained in 2.6.0): Add phosh
- wlroots (contained in 0.16.0): xdg-activation: Allow to submit tokens. Needed for launch splash.
- wlroots (contained in 0.16.0): cancel touches
- xdg-desktop-portal-wlr (contained in 0.6.0): For screen sharing: https://github.com/emersion/xdg-desktop-portal-wlr/pull/192
- pipewire: Add icon_name properties to ucm: https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1646
- wl-clipboard: Don't require gtk_shell >= 4
- gnome-settings-daemon: Drop sleep notification, otherwise suspend might fail. See https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/issues/656