Summary of changes
- New lockscreen plugin that allows to interact with all currently
running media players that use the MPRIS protocol.
- Build VAPI files so one can also write plugins in vala (See
https://gitlab.gnome.org/guidog/phosh-vala-plugins) for an example
- Enable Cell Broadcast dialogs by default. Mobile Settings has the
needed UI bits now.
- Update list of adaptive apps
- Various bug fixes and GTK4 preps
- Issues fixed:
- Contributors:
- Arun Mani J
- fossdd
- Guido Günther
- Arun Mani J
i18n updates
- UI translations:
- Anders Jonsson (sv)
- Antonio Marin (ro)
- Artur S0 (ru)
- Daniel Rusek (cs)
- Ekaterine Papava (ka)
- Emin Tufan Çetin (tr)
- Martin (sl)
- Yaron Shahrabani (he)
- Yuri Chornoivan (uk)
- Álvaro Burns (pt_BR)
- Anders Jonsson (sv)
Detailed changes
phosh (0.48.0) experimental; urgency=medium
.
[ Anders Jonsson ]
* Update Swedish translation
.
[ Emin Tufan Çetin ]
* Update Turkish translation
.
[ Álvaro Burns ]
* Update Brazilian Portuguese translation
.
[ Yaron Shahrabani ]
* Update Hebrew translation
.
[ Artur S0 ]
* Update Russian translation
.
phosh (0.48~rc1) experimental; urgency=medium
.
[ Guido Günther ]
* auth: Drop priv.
It's unclear why we added that in the first place.
* auth: Use automatic cleanup
* auth: Name authentication token properly.
We had a mixture of `number` and `pin` although we allow for for non-PIN
passwords since a long time.
Also name the appdata_ptr properly so it is easier to follow how this is
passed through to the callback.
* auth: Copy auth token.
Otherwise we're dependent on the life cycle of the GtkEntry that
provides the data.
* auth: Perform account validity checks.
We should perform the account validity checks via pam_acct_mgmt too.
* lockscreen: Don't leak lockscreen on error.
This is unlikely to happen (it's not the same as auth failing) but let's
better fix it.
* media-player: Don't forget to init cancellable.
Otherwise cancelling will have no effect and we might end up accessing
free'd memory.
Fixes 2ca148785 ("media-player: Use MPRIS manager")
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1234
* media-player: Init fetch icon cancellable.
Fixes f287f5deb ("media-player: Fetch cover art via http")
* packaging: Add valac.
Needed to build the vapi file
* build: Allow to build vapi files
* ci: Build vapi when building bindings lib
* stylesheet: Use accent color for list box rows too.
Fixes 317ef8e89 ("style-manager: Support accent colours")
* lockscreen: Always queue a draw when transition ends.
Otherwise we might not only see an outdated clock (which the
current workaround adressed) but also outdated plugin state.
* mpris-manager: Check for valid player sooner.
This avoids printing debug messages for bus owners that don't
implement the mpris interface.
* mpris-manager: Track all players.
TODO: drop players when gone
* mpris-manager: Allow to fetch known players list model
* media-player: Make it a derivable type.
No functional change
* default-media-player: New widget that will track the default mpris player.
This widget will behave the same as media-player did: track the newest
mpris proxy on the bus.
In this commit we just add the empty class so we can move existing code
over to this widget without changing functionality.
* media-player: Move media player setting to public method.
This will allow us to track arbitrary mpris DBus proxies
* default-media-player: Move default player tracking here.
Free the media player base class from tracking the default player.
This allows us to use any player with that class.
* shell: Make mpris manager accessible to plugins
* media-players: New lockscreen plugin to track all mpris players.
One often has multiple mpris capable players running (e.g. podcasts
and music player). The lock screen plugins allows to switch between
them without effort.
* tests: Name unit test variable accordingly
* wall-clock: No need to get `priv` twice
* wall-clock: Avoid libgnome-desktop in public header.
Since the API is not stable lets use gdesktop-enums instead
as we only need the GDesktopClockFormat enum.
* wall-clock: Add function to strip am/pm from clock strings
* lockscreen: Use phosh_wall_clock_strip_am_pm
* wall-clock: Use a regex match to get the stripped clock
`AM` and `PM` can be localized strings so look for the number part
when we have any whitespace in the clock format. Otherwise we assume
24h clock.
Hours and minutes can be separated by unicode characters so we can't
just use `:` as separator.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1237
* portals: Disable currently unimplemented ones.
Otherwise we'll spawn other, possibly non-working implementations.
* ci: Drop gcovr workaround.
This has long been fixed in Debian.
This reverts commit 1edb73a65e854f8f89d5d6802bcd3cf45c04aed5.
* ci: Configure locales in images rather than during the ci run.
This cuts down on ci run times
* ci: Use updated images
* ci: Require `Signed-off-by:`
We do this in the other projects since some time
* tests: Instantiate metainfo cache once.
Otherwise it's not getting destroyed and might do funky things
on shutdown. (Helps: #1240)
* cell-broadcast: Enable by default.
MM bits are in released versions and there's support in mobile-settings
to configure channels so we can flip it on.
.
[ fossdd ]
* data: Update list of adaptive apps.
Loupe and Showtime already merged the patches to list their form
factors, while the MR in gnome-calendar is still open.
* data: Fix typo in override gschema
.
[ Arun Mani J ]
* activity: Avoid using `<packing>`
* app-grid-base-button: Avoid using `<packing>`
* quick-setting: Avoid using `<packing>`
* app-grid: Avoid using `<packing>`
* emergency-menu: Avoid using `<packing>`
* home: Avoid using `<packing>`
* media-player: Avoid using `<packing>`
* gtk-mount-prompt: Avoid using `<packing>`
* network-auth-prompt: Avoid using `<packing>`
* notification-frame: Avoid using `<packing>`
* polkit-auth-prompt: Avoid using `<packing>`
* system-modal-dialog: Avoid using `<packing>`
* check-deprecated-ui-props: Search from source root.
When run by `meson test`, the current working directory is build root,
so some UI files (like of plugins) are not searched.
* check-deprecated-ui-props: Add check for deprecated packing attributes
* ticket-box: Use `{h,v}expand` instead of `expand`
* quick-settings-box: Support RTL direction.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1154
* ci: Allow translation files of GTK 3 in screenshot container
* ci: Move `SID_PKGS` to `debian.Dockerfile`
* ci: Update to v0.0.2025-06-06 image
.
[ Yuri Chornoivan ]
* Update Ukrainian translation
.
[ Martin ]
* Update Slovenian translation
.
[ Antonio Marin ]
* Update Romanian translation
.
[ Ekaterine Papava ]
* Update Georgian translation
.
[ Daniel Rusek ]
* Update Czech 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.8.0
- gnome-calls >= 46.3 for location based emergency calls and feedbackd fix
- wl-clipboard >= 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/GNOME/gnome-clocks/-/merge_requests/347
- gnome-clocks: Wakeup from suspend for alarms: https://gitlab.gnome.org/GNOME/gnome-clocks/-/merge_requests/344
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