Hi everyone, below you will find the updates from the Desktop team from the last week.
If you’re interested in discussing a topic please start a thread in the Desktop area of Discourse.
We also have our weekly meeting on IRC. We meet on Tuesday at 13:30 UTC in #ubuntu-desktop on Freenode. There will be an “Any Other Business” section at the end where you are welcome to raise topics. These topics might be discussed during the meeting, or afterwards depending on the time, depth of conversation, topic and so on.
Remove pending_swaps counter: This reduces missed frames (stutter). Made more updates in response to code reviews and resolved all discussions. Landed upstream!
Sync timelines to hardware vsync: Intended to fix a smoothness issue but also reduces visible latency when dragging things in Xorg sessions.
Fixed upstream, coming soon to eoan via mutter 3.34. I don’t plan on rushing any backports/patches before then because I want to ensure the “Fixed” status sticks on the development release first.
Almost all of the work this week was for GNOME 3.33. Various updates for API changes, rebuilds and other issues. I coordinated with @3v1n0 and others to get some things updated (e.g. dash to dock, the Yaru theme, … - thanks for working on that.)
This update brings systemd --user support (using systemd to start the GNOME session), which I worked on a few months ago and recently Benjamin Berg has been polishing up. I found a bug in the implentation that landed and worked on fixing that, discussing with the upstream folks.
…and also, on the same systemd topic, I’ve been preparing some content for our GUADEC talk; see you there if you’re going.
PR #7197, adding exit on idle behaviour to the agent plus some SO_PEERCRED security checks is still waiting, probably for the snapd 2.41 release process to complete.
PR #7238, adding a control API for the user instance of systemd received a preliminary review.
I’ve been working on some client library code to talk to all available session agents. I am structuring things so that there is a single client that talks to all available session agents in parallel. All APIs take a context.Context parameter allowing strict timeouts to be placed on responses (important given that this will be privileged code talking to unprivileged code).
snapd icon theme support:
PR #6767 received security sign off after adding some sanity checks for the icons specified by path (i.e. the existing non-icon theme mode of operation that all desktop snaps use). The PR has been pushed off to the 2.42 milestone, so I expect it to get merged soon after 2.41 is released.
Control of desktop file IDs for snaps:
I received some initial feedback on my proposal to give snaps control of their desktop file IDs. There is some concern about using common-id, since it currently has no special meaning (despite having been added to record AppStream identifiers).
Prepared a branch for extensions once above branch merges [MR]
Fixed Desktop Icons extensions for GNOME 3.34 [MR]
Prepared code refactor and modernization for Desktop Icons (likely needed for next 3.33 version [MR]
Small changes to mutter’s compositor as GObject, reviewing Jonas changes [MR, merged]
Upstream reviews and merges
Dash to Dock
Proposed needed code changes to work with 3.34 [MR] (prepared also for next updates)
Trash and removable desktop icons MR: reviewed and merged to Ubuntu branch with few fixes (some already accepted by author). Kept the trash icon disabled (as we might discuss this further).
CUPS: 2.2.12 got released upstream. Synced it from Debian unstable (OdyX is back from vacation).
cups-filters: Released 1.25.2 upstream (mainly for a cups-browsed fix so that locally created queues do not get removed when a network interface, like Wi-Fi, goes away), synced package from Debian into Eoan.
Ghostscript: Updated Eoan to version 9.27.
foomatic-db: Given upstream commit access to printer driver developers from Lexmark, received fixes on Lexmark printer entries, fixed daily snapshot generator on the OpenPrinting web server for the new upstream repo location on GitHub so that Debian and Ubuntu package can get easily created again.
system-config-printer: Merged the changes from the Debian package into Eoan.
Modem Manager: Updated ModemManager itself and its supporting libraries libmbim and libqmi to the newest upstream versions.
Google Summer of Code 2019: Final evaluations have opened, guiding the students to complete their projects.