Summary of changes
- End session dialog improvements
- Bring back night light
- Use ext-idle-notify-v1 Wayland protocol (requires phoc >= 0.33.0)
- Bump dependencies: Switch to gmobile 0.0.4 and libcall-ui 0.1.1
- Small UI improvements
- CI improvements: Check coding style, improve ci-fairy checks
- Issues fixed:
- Contributors:
- Arun Mani J
- Guido Günther
- Arun Mani J
i18n updates
- UI translations:
- Artur S0 (ru)
- Jordi Mas i Hernandez (ca)
- Juliano de Souza Camargo (pt_BR)
- Vittorio Monti (it)
- Artur S0 (ru)
Detailed changes
phosh (0.34.0) experimental; urgency=medium
.
[ Guido Günther ]
* ci: Switch to trixie and cleanup a bit
* d/control: Bump phoc dependency.
Needed for ext-idle-notify-v1 support.
* wayland: Add ext-idle-notify-v1.
This will replace org_kde_kwin_idle
* idle-manager: Use ext-notifier-v1 protocol
* wayland: Drop kde idle protocol.
Not supported by newer wlroots.
* idle-manager: Recreate timers when they need to be reset.
In contrast to KDE's idle protocol ext-notifier-v1 doesn't have a way to
reset individual idle notifiers so recreate them instead.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/994
* HACKING: Add some more details.
Co-authored-by: Arun Mani J <j.arunmani@proton.me>
* build: Bump glib to 2.76. We wan't g_autofd().
* tools: Use G_APPLICATION_DEFAULT_FLAGS. Avoids deprecation warning.
* monitor-manager: Drop crtc gamma
* dbus: Add gsd color
* monitor-manager: Connect to gsd-color for night light information.
We set the gamma tables based on the color temperature read from gsd.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/875
* testlib: Check for Wayland socket.
Check if the wayland socket is available. Gives a clearer error than
initializing GDK and hoping for the best.
* tests: Drop unused display argument of the shell fixture.
We run headless since some time
* Drop some unused variables
* tests/monitor-manager: Test more API
* osk-manager: Make availability depend on screen-keyboard-enabled.
The OSK is only really available when the gsetting is set (it might
still be toggle-able via explicit DBus calls but clients shouldn't rely
on that).
* lockscreen: Map keyboard button sensitiviy to OSK availability.
Only make the keyboard button on the keypad sensitive when the OSK would
actually unfold.
* home: Use osk-manager instead of tracking the gsetting directly.
This makes sure we don't show the button although there is no OSK
on the session DBus. It also ensures all parts of the shell get
their state from the osk-manager.
* subprojcts: Update gmobile to 0.0.4.
Use `git submodule sync` to update URLs in your working copy.
* subprojcts: Update libcall-ui to 0.1.1
* call-notification: Use cui_call_format_duration
* call-notification: Use tnum font feature.
Keeps call duration constant width.
* monitor-manager: Use phosh_async_error_warn.
We don't want to print a warning when the DBus proxy creation failed.
* util: Be more gracefull on the app_id. Don't care if it ends in .desktop
or not.
* end-session-dialog: Use cancellable.
As in other places properly cancel async calls during shutdown so we
don't need to hold a ref on self (which can then again trigger invalid
access as widgets are already disposes).
This also avoids a leak of self in the error path.
* end-session-dialog: Use phosh_get_desktop_app_info_for_app_id.
This makes for better information in the end session dialog
* end-session-dialog: Only show list box when we created inhibitors.
This allows us to skip inhibitors that make no sense
* end-session-dialog: Check flags before creating an entry.
Only create a row in the listbox when the inhibitor affects logout.
* end-session-dialog: Skip empty app-ids.
They're either from system services or stale entries
* end-session-dialog: Print app_id if we can't resolve the app info.
This gives at least some idea what is holding the inhibitor. We could
also do "Unknown application: %s" but that gets shortened too much
on mobile.
.
[ Arun Mani J ]
* ci: Add Uncrustify to Debian image
* ci: Add Uncrustify config and checker
* ci: Run style checks on merge requests.
* ci: Move `sanity` job to `style-checks` stage.
.
[ Artur S0 ]
* Update Russian translation
.
[ Vittorio Monti ]
* Update Italian translation
.
[ Jordi Mas i Hernandez ]
* Update Catalan translation
.
[ Juliano de Souza Camargo ]
* Update Brazilian Portuguese 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.
- gtk: Touch DND fixes: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6608
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