Summary of changes
- Allow to open the top-bar settings panel easily
- Move brightness handling to phosh, it got dropped from g-s-d 49.
- Mark demo plugins as
NoDisplay
so they don't show in p-m-s
- Don't crash g-c-c when running nested
- Reset them when auto-HighContrast is turned off
- Issues fixed:
- Contributors:
- Anna (cybertailor) Vyalkova
- Evangelos Ribeiro Tzaras
- Guido Günther
- Anna (cybertailor) Vyalkova
i18n updates
- UI translations:
- Emin Tufan Çetin (tr)
- Jiri Grönroos (fi)
- Jordi Mas i Hernandez (ca)
- Kristjan SCHMIDT (eo)
- Nathan Follens (nl)
- Philipp Kiemle (de)
- Sabri Ünal (tr)
- twlvnn kraftwerk (bg)
- Yaron Shahrabani (he)
- Emin Tufan Çetin (tr)
Detailed changes
phosh (0.50.0) experimental; urgency=medium
.
[ Guido Günther ]
* shell: Move osd window here.
This allows us to use the osd window not only via DBus and
it doesn't warrant its own manager object.
* backlight-manager: New object to manage backlight brightness.
This manages keybindings, OSD, etc as we don't want that put into
a brightness slider. We can later on use it to manage the brightness
of different backlights (instead of just the primary one).
* shell: Instantiate backlight manager
* brightness-manager: Make keybindings optional.
The corresponding schema is not very wide spread yet so don't error
out if the schema isn't recent.
* simple-custom-quick-setting: Hide in settings by default.
We don't want to show demo plugins there
* calendar: Hide in settings by default.
We don't want to show demo plugins there
* ci: Trigger libphosh-rs pipeline.
Adjust to the new repo location
* monitor-manager: Move mode building to separate function.
We'll make use of this in the next commit
* monitor-manager: Only skip unnamed mode if not the current one.
This helps e.g. when running nested as those configs only have
a single unnamed mode.
* monitor-manager: Add default mode when there's no mode list
* data: Depend on OSK target
gnome-session >= 49 no longer handles `RequiredComponents`
in session files. We hence need start the OSK via systemd.
Do so by providing a target unit. The OSK implementations then
merely need to fill in the service unit.
* ambient: Reset theme when turning of auto-hc.
We want to make sure the users has back its default theme
when they disable automatic high contrast.
* session: Start the OSK later.
We want the layer ordering to happen after the shell is up.
* brightness: Remove unused variables.
Fixes: aa0066c5a ("settings/brightness: Use built in brightness handling")
* backlight: Add and use methods to get and set relative brightness.
No need to make the calculations in multiple places
* shell: Allow to get brightness manager.
We want to get it in `PhoshSettings`
* brightness-manager: Maintain an adjustment.
Maintain an adjustment of brightness percentage as model. That frees
other parts of the shell from doing so.
* settings: Use brightness manager's adjustment.
That way we don't need to worry about any monitor changes
and while at that can get rid of the somewhat arcane code
(the brightness slider was one of our first features :)).
* brightness-manager: Add Brightness DBus interface.
The DBus API XML is from gnome-shell as of:
e54aa588c ("slider: Use the sprite of the touch event, not the pointer")
* brightness-manager: Move keybindings schema check to end of init.
Otherwise we exit early with older schema disabling brightness
handling completely.
This allows us to run with schemas < 49.0.
* settings: Only show brightness slider when useful.
For now we show it when we have brightness control. We might
also hide it later on when automatic brightness is enabled.
.
[ Jordi Mas i Hernandez ]
* Update Catalan translation
.
phosh (0.50~rc1) experimental; urgency=medium
.
[ Yaron Shahrabani ]
* Update Hebrew translation
.
[ Philipp Kiemle ]
* Update German translation
.
[ Guido Günther ]
* treewide: Prefer char over gchar.
* tests: Use g_timout_add_once.
Our on_waited never acturally returned `FALSE` to stop the
timeout.
* wifi-network-row: Use correct type for transform func
* wifi-status-page: Use correct function signature.
* build: Fix indent.
We can use a list so that the automatic formatter doesn't get confused.
Fixes: b2fcd0dcf ("build: Format meson files")
* doc: Update issue template.
Some information is nowadays easier to maintain, debugging
is better documented.
* quick-settings: Enable wifi-hotspot and mobile data by default.
* settings: Disable launching mobile panels on lockscreen too.
Fixes: af37b2c74 ("settings: Add action to open mobile settings")
* top-panel: Move launching settings here.
This allows us to use it from all places in the top panel
* icons: Add settings icon. Taken from org.gnome.design.IconLibrary.
* top-panel: Add gear button. This gives us easy access to the top panel
configuration
* treewide: Use stevia. phosh-osk-stub is no more.
* location-manager: Avoid cast. This gives us more type safety
* location-manager: Use cancellable more. Cancel these calls too on shutdown
* proximity-manager: Use cancellable. Fixes a test suite crash
* location-manager: Dispose connection on shutdown.
The object returned by `g_bus_get_finish()` is a singleton
but we need to unref it nevertheless.
* wwan-mm: Avoid cast.
This gives us more type safety
* wwan-mm: Avoid cast.
This gives us more type safety
* wwan-mm: Dispose connection on shutdown
* monitor-manager: Avoid cast.
This gives us more type safety
* tests: Make sure gvfs doesn't spawn in tests.
We don't want it to take any DBus connection that could block
GTestDBus shutdown.
* util: Improve phosh_dbus_service_error_warn()
We usually want to special case "cancelled" and
"doesn't exist" in the tests.
* feedback-manager: Ignore service unknown errors.
These can happen in tests
* tests: Set XDG_CURRENT_DESKTOP.
This ensures we pick up Phosh's gsettings defaults
* ci: Udpate image.
Let's update to Trixie before we switch to Forky soon.
* ci: Shuffle dockerfile a bit.
Update everything first rather than in between. The
removal of the comment ensures we actuall get the build-deps
installed again thus speeing up the build.
* keyboard-events: Check for error.
It is an initable so lets use it
* util: Add helper to construct keybindings.
This happens in different places of the shell and is repetitive
* top-panel: Use keybindings builder
* home: Use keybindings builder
* home: Don't forget to add the super key entries.
We want to have them in the keybinding names as well so they
get removed on dispose.
* run-command-manager: Use keybindings builder
* screenshot-manager: Use keybindings builder
* gitignore: Ignore wraplock
* monitor-manager: Drop change_backlight helper.
No longer invoked by g-s-d
* keyboard-events: Drop protocol version check.
We require a recent enough version since ages
* shell: Init settings early.
We want to do as little as possible in constructed
* shell: Move toplevel manager to init.
We want to do as little as possible in constructed
* shell: Set resource path in init.
We want to do as little as possible in constructed
* udev-manager: New class to handle udev interaction.
We need a client for torch and backlight. Track it in a common class
and add the helpers we'll need for backlight handling.
* udev-manager: Get us a login session proxy.
While not strictly udev related torch and backlight both need it
and there's no point in introducing yet another class.
We might want to turn that into a more generic "ShellBackend" class that
could e.g. also track gsettings.
* shell: Instantiate udev manager.
It's a singleton but lets give it clear life cycle
* packaging: Version g-s-d dependency.
We want one entity to control brightness
* backlight-sysfs: New class to manage sysfs based backlights.
There might be others later, e.g. ddc and thus introduce a
`PhocBacklight` base class. This is inspired by what g-s-d 48 did and
what mutter 49 does now so we can continue to interact with g-s-d power.
* monitor: Create backlight.
The backlight is attached to the monitor so we can look it up
for brightness handling.
* settings/brightness: Use built in brightness handling.
Closes: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1261
* udev-manager: Support torch subsystem too.
Use that from the torch-manager
.
[ Jordi Mas i Hernandez ]
* Update Catalan translation
.
[ Emin Tufan Çetin ]
* Update Turkish translation
.
[ Jiri Grönroos ]
* Update Finnish translation
.
[ Anna (cybertailor) Vyalkova ]
* tests: Don't assume build directory is inside source directory.
Fixes: 4c58fc4fb ("searchd: Add deamon to gather search results")
.
[ Evangelos Ribeiro Tzaras ]
* meson: Require rst2man for building manpages.
The build option description already specifies that rst2man is
required, but it's not codified in the build files.
.
[ Nathan Follens ]
* Update Dutch translation
.
[ Sabri Ünal ]
* Update Turkish translation
.
[ Kristjan SCHMIDT ]
* Update Esperanto translation
.
[ twlvnn kraftwerk ]
* Update Bulgarian 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