Posted on

Delivering osinfo-db updates automatically for Flatpak users

If you are familiar with GNOME Boxes internals you are aware that our secret sauce is libosinfo. It does the OS image detection and provides us with a database of devices, preferences, and compatibility for the operating systems we support.

In the world of traditional package management tools, osinfo-db is the package responsible for delivering updates about new operating system’s releases, fixes, and improvements that Boxes will consume. So whenever you wonder why the newest EndlessOS or the newest Debian release isn’t listed in the Boxes download section, it is likely that osinfo-db is outdated.

The pipeline from upstream -> distros -> to users is extremely valuable for apps and libraries. It is our “integration testing” phase. But for data-only packages like osinfo-db, we noticed that most users’ complains are regarding the package being outdated. We rarely see bugs introduced by osinfo-db updates. The very separation of the dataset (osinfo-db) and the library (libosinfo) is the reason for us to feel confident about contentiously delivering the dataset directly to our users.

For this reason, Flatpak users of GNOME Boxes will now benefit from the OsinfoDb Flatpak extension. It allows us to deliver osinfo-db updates direclty to users without updating the entire Boxes Flatpak. If you are receiving automatic updates in GNOME Software, the osinfo-db update is seamlessly.

Boxes still bundles its own osinfo-db data for those that don’t want to consume the extension. This will be updated whenever the Boxes Flatpak is updated, so expect it in a slower cadence.

Nothing is required from users to transition to this. Flatpak will pull the extension for you once you update Boxes.

Posted on 7 Comments

Improve focus and productivity by listening to different sounds

I have always had a hard time avoiding distractions during working hours. My hyperactive brain wants to wander off distracted by any kind of noise around me.

Lately I found out that having a background ambient sound such as rain, wind, fireplace, really constrains me from any distraction.

In doing so, inspired by Noisli.com, I created a GNOME Shell extension with similar functionality.

View on YouTube

It is quite simple but it does the job for me.

It is available for download at the extensions website: https://extensions.gnome.org/extension/1224/focusli/

Bug reports/feature requests are welcomed at https://github.com/felipeborges/gnome-shell-extension-focusli/issues

Posted on

Patterned Wallpapers on GNOME Shell

Screenshot

2014 was a great year with its ups and downs. I have been pretty busy and stressed, but now that the end has come, I am finally on vacation after years without this much free time. In doing so, during the Christmas holiday I have started a new toy project: a GNOME Shell extension.

Patterned Wallpapers was inspired by Pattrn, an Android app created by our fellow oldschool GNOME hacker Lucas Rocha. It is a GNOME Shell extension which gets you a new patterned-wallpaper automatically every day/week, as specified in the metadata.json file. The patterned-wallpapers are downloaded from the COLOURLovers public API. COLOURLovers is a  community where people from around the world create and share colors, palettes, and patterns.

gnome-shell-extension-patterns already has a preferences dialog which allows you to set the kind of patterns you want (popular or random), set the frequency of updates (daily or weekly), and clear the cached wallpapers. These settings are gsettings, which means that they can be changed using dconf-editor or manually with the gsetting command line tool. All pattern images are stored in the backgrounds/ folder inside the extension’s folder ($HOME/.local/share/gnome-shell/extensions/patterns@blog.github.com/backgrounds/).

You can automatically install it on the GNOME Shell extensions website or unzip the source code into your gnome-shell/extensions folder.

In the future, I want users to be able to browse through patterns, mark them as favorite, search by keyword, and list their wallpaper history. These goals are issues in the project’s Github repository. Contributions are appreciated!