Summary of changes
- Allow launcher entries to display count and progress
- Better handle devices with rounded corners
- Handle data: URIs in the media-player
- OSD improvements in case there's no level
- Fix some background scaling related issued introdueced in 0.37.0
- Fix session startup with gnome-session 46
- Issues fixed:
- Contributors:
- Daniel Rusek
- Guido Günther
- Jesús Higueras
- Daniel Rusek
i18n updates
- UI translations:
- Anders Jonsson (sv)
- Artur S0 (ru)
- Danial Behzadi (fa)
- Daniel Rusek (cs)
- Daniel Șerbănescu (ro)
- Ekaterine Papava (ka)
- Jiri Grönroos (fi)
- Jordi Mas i Hernandez (ca)
- Jürgen Benvenuti (de)
- Martin (sl)
- Sabri Ünal (tr)
- Vittorio Monti (it)
- Yuri Chornoivan (uk)
- Anders Jonsson (sv)
Detailed changes
phosh (0.38.0) experimental; urgency=medium
.
[ Guido Günther ]
* ci: Use consistent image version
* build: Update base image version in Dockerfile
* ci: Update images
* osd-window: Use G_PARAM_STATIC_STRINGS.
Fixes: 12983abe1 ("Add PhoshOsdWindow")
* osd-window: Hide level bar when level is < 0.0.
There's osd messages that don't need a bar (e.g. "Not available")
* shell-manager: Check if we got a level
* ui: Move width request to level-bar.
If we just have an icon we don't want to allocate the
space for the level bar.
* osd: Only show box if one of it's elements is present.
This makes sure the icon centers properly if only an icon is shown.
* osd-window: Use a larger icon when it's the only OSD element.
Otherwise it can be hard to spot.
* monitor: Only use wl_output_done.
Since xdg-output version 3 this is possible.
See wayland-protocols 962dd535372c8e4681374c23d2603cbe06cd7031
* background: Use getters.
Easier to read and avoids g_object_get() round trip
* background-manager: Refresh the background on monitor configuration changes.
Otherwise we keep using the old pixmap which likely doesn't fit the
current scale or screen orientation.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1035
* background: Exit early if layer surface isn't fully configured yet.
We can't query width or height if configuration isn't done.
* session: Only append session manager if supported by gnome-session
gnome-session dropped support for --builtin and --systemd. So don't
append that argument if it doesn't show up in gnome-session's help
output.
* build: Use systemd session manager by default
gnome-session dropped support for the builtin manager in 46.
* suspend-manger: No need to print error message twice
phosh_dbus_service_error_warn handles that for us.
* launcher-entry-manager: New object to handle launcher-entry protocol.
Listens for property updates.
* shell: Spawn launcher-entry-manager.
Spawn the manager from the shell and add accessors so other
parts can use it.
* launcher-box: Introduce launcher-item.
This will allow us to track an entries state
* launcher-box: Use launcher-item.
No new functionality for now
* launcher-item: Add properties to track progress and count
* launcher-box: Display progress and count.
We get the values from the launcher manager.
* top-panel: Properly name top bar height.
The height is the one of the bar not the panel (which is the bar plus
the settings)
* top-panel: Provide default icon size and min padding
* layout-manager: Allow to query rounded corner information.
Based on the panel height and the icon size provide the shift in pixels
from the screen edge to not occlude an icon.
* top-panel: Take rounded corners into account.
Shift icons more to the center if the rounded corners would occlude UI
elements.
We currently don't take into account that the area for the clock
placement gets slightly smaller due to this too.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1018
* build: Add custom dependency for libsoup
libsoup sets `--export-dynamic` unconditionally (See
https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/394).
Since the dependencies are added past link_args we can't override it
with `--no-export-dynamic` so rather work around this by using a custom
dependency.
.
[ Jesús Higueras ]
* build: Add dependency on libsoup. This will be used to decode base64 URIs.
* util: Add helper to decode data: image URIs
* media-player: Use phosh_util_data_uri_to_pixbuf helper for cover art decoding
.
[ Daniel Rusek ]
* plugins: Add missing dot to the Comment field of launcher box lockscreen
plugin & switch to imperative form
* Update Czech translation
.
[ Yuri Chornoivan ]
* Update Ukrainian translation
.
[ Anders Jonsson ]
* Update Swedish translation
.
[ Danial Behzadi ]
* Update Persian translation
.
[ Jiri Grönroos ]
* Update Finnish translation
.
[ Jordi Mas i Hernandez ]
* Update Catalan translation
.
[ Ekaterine Papava ]
* Update Georgian translation
.
[ Daniel Șerbănescu ]
* Update Romanian translation
.
[ Sabri Ünal ]
* Update Turkish translation
.
[ Daniel Rusek ]
* Update Czech translation
.
[ Artur S0 ]
* Update Russian translation
.
[ Vittorio Monti ]
* Update Italian translation
.
[ Jürgen Benvenuti ]
* Update German translation
.
[ Martin ]
* Update Slovenian translation
.
[ Jordi Mas i Hernandez ]
* Update Catalan translation
.
[ Artur S0 ]
* Update Russian translation
Required versions of related projects
- glib >= 2.72.0
- gtk3 >= 3.24.36
- gtk4 >= 4.8.3
- phoc >= 0.33.0
- squeekboard >= 1.21.0
- feedbackd >= 0.2.0
- gnome-calls >= 45~alpha for emergency calls support, otherwise >= 42
- wl-clipboar >= 2.2.1
- pipewire: >= 0.3.73 for proper audio icons
- xdg-desktop-portal >= 1.17.1 to honor portal configuration
- phosh-mobile-settings >= 0.30.0
- phosh-tour >= 0.28.0
Required patches that are merged upstream but not yet in a released version:
(none)
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-settings-daemon: Drop sleep notification, otherwise suspend might fail. See https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/issues/656
Recommended patches on other projects
Patches that are merged upstream but not yet in a released version:
- 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.
- gtk4: Touch DND fixes: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6608
- gtk3: Better touch accuracy (affects phosh, phosh-osk-stub, etc): https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6668
- 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
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)
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:
- 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