Passwords can now be added to a keyring. Thanks to the zxcvbn library, the password strength is displayed directly and guidance is provided on how the password can be improved.
Setup is a new OEM style Installer for image based operating systems.
Fully implemented the EULA page. The License now comes from a file the distro controls. If the file is missing, the page is skipped. It can render markup now! So the EULA can have a bit of (limited) formatting.
Started work on the disk selection pages
Detect & warn about Intel Rapid Storage technology
Mocked-up the various possible behaviors of the disk selection pages, and still iterating on it with Sam
Started working on reading the data from udisks, instead of the mocked-up data. Not hooked into UI yet
Here is a video demo showcasing
language page from last week
EULA page
current state of disk selection flows
Global Shortcuts
The Global Shortcuts portal is a standard API allowing applications to register global shortcuts. These shortcuts can be used by apps to react to the user input, regardless of the input focus state. Besides the obvious advantages to support it in GNOME, its implementation is a prelimary step towards better screen reader support on Wayland with the Accessibility Shortcuts Portal
Continued asjusting to feedback for GlobalShorcuts in Settings and Shell
Finished prototype of key grabbing implementation for Orca on Wayland, including support for arbitrary modifiers including Caps Lock. Had to insert key grabbing at a different stage of Mutter event handling to get it right.
GTK: Implemented support for the most important AccessKit actions, including the ability for ATs to change the caret position or text selection, which is important for the Say All command. Also debugged some crashes. https://gitlab.gnome.org/mwcampbell/gtk/tree/accesskit
Newton AT client libraries consolidated into a single repository
A new library for sandboxed and extandable image loading
Fixes and docs for splitting C bindings into libglycin and libglycin-gtk4.
Added structure for having “editors” as addition to “loaders” for image formats for image editing in glycin. As a first example, JPEG now supports changing the image orientation if a respective Exif tag is present.
After a long wait, we have customizable accent colors!
If you maintain an app using libadwaita (and don’t override its accent color), make sure you don’t use hardcoded blue color where system accent color would make sense, or vice versa. (see docs)
Libadwaita apps will also pick up accent colors when running in environments such as elementary OS or KDE.
Loupe made its first small step towards image editing. Rotating JPEG images that contain an Exiv entry for orientation, the change of orientation is now saved within the image.
This is made possible by glycin now supporting changes on images in addition to loading images. In contrast to some other image viewers, Loupe will not rewrite the image or even re-encode it with potential quality loss. Instead, it is just changing the one byte inside the file that’s responsible for determining the image orientation.
Support for more formats and more editing features will hopefully follow over time. If you want to support my work you can join my Patreon and get weekly updates.
This week Disk Usage Analyzer (AKA baobab) landed multiple PRs that refresh the UI. Disk Usage Analyzer now uses GtkColumnView for its file tree, uses a new pathbar look inspired by Nautilus, and uses symbolic icons for the Devices & Locations page. We also got rid of some usage of deprecated APIs like GtkStyleContext where possible.
Auto suggest/complete landed in Workbench. The feature can be used to discover widgets, properties and write UI faster. You can try it out now in Workbench nightly, testers and feedback welcome. Kudos to James Westman for writing the language server making this possible.
This week we pushed a minor update to Graphs, tackling a bunch of persistent bugs in the current stable release. The most exciting difference in this release is probably a major increase in start-up time, resulting mostly from the way we bundle style-previews now with the build. This change reduces total start-up time of Graphs by 1.5 seconds on my machine, reducing the do_activate stage from 1.8s to 0.3s.
Apart from some minor under-the-hood improvements and other bug fixes, the most likely changes to be noticed are:
Updates to translations, including added support for Hungarian
Further fixes and improvements to the regex logic in the equation generation. Now nested parentheses are handled correctly, an equation like sin(x+2(pi-x)²)+2 is now handled properly for example.
The minimum vertical height of the main window has been decreased significantly.
Delimiters are now handled correctly when importing data, even if an arbritrary amount of whitespace is involved.
Fixed an issue where the New Project dialog would not activate
As always, the latest release can be retrieved from Flathub. Credits for the original graph in the screenshot go to xkcd.
This week I released my fist app, Libellus!
Libellus is a small wiki application allowing you to browse through DnD without being distracted by ads or having to open a browser. It supports most of DnD including Classes, Races, Monsters Spells and Items.
It is available on Flathub.
PyGObject, the Python bindings for using GNOME platform libraries in your applications, received a big improvement to the documentation by adding tutorials. The source of them came from centralizing the magnificent work in the PyGObject-Guide by Rafael Mardojai CM, which was based on the PyGObject-Tutorial by Sebastian Pölsterl. Thanks to all the contributors to both of these projects and a community effort to relicense them under the LGPL. Check out the tutorials at https://pygobject.gnome.org/tutorials/.
That’s all for this week!
See you next week, and be sure to stop by #thisweek:gnome.org with updates on your own projects!