During my Outreachy internship with GNOME, Tamnjong Larry Tabeh and I conducted user research exercises under the inspiring mentorship of Allan Day and Aryan Kaushik. In this blog post, I’ll discuss the usability test we conducted for GNOME’s Files, also known as Nautilus. This b … | Continue reading
Hello, I am pleased to announce a new Cambalache stable release. Version 0.94.0 – Accessibility Release! Gtk 4 and Gtk 3 accessibility support Support property subclass override defaults AdwDialog placeholder support Improved object description in hierarchy Lots of bug fixes and … | Continue reading
You might be surprised to hear that closed source firmware typically contains open source dependencies. In the case of EDK II (probably the BIOS of your x64 machine you’re using now) it’s about 20 different projects, and in the case of coreboot (hopefully the firmware of the mach … | Continue reading
A couple years ago the Fedora council denied a request by Meta engineers to build the distribution with frame-pointers. Pretty immediately I pushed back by writing a number of articles to inform the council members why frame-pointers were necessary for a good profiling experience … | Continue reading
Recently, I got a Steam Deck OLED. Obviously, one of the main reasons for that is to run a certain yet to be announced here emulation app on it, so I installed Bazzite instead of SteamOS, cleaned up the preinstalled junk and got a clean desktop along with the Steam session/gaming … | Continue reading
It was long overdue, but better late than never! Shortwave 4.0 is now available on Flathub: General New MPRIS media controls implementation with improved CPU usage Song notifications are disabled by default now No more loading on startup, stations now get directly retrieved from … | Continue reading
Based on some initial work by Barnabás Pőcze Sysprof gained support for symbolizing stack traces using debuginfod. If you don’t want to install debuginfo packages for your entire system but still want really useful function names, this is for you. The system-configured debuginfod … | Continue reading
We’re trying to increase the fwupd coverage score, so we can mercilessly refactor and improve code upstream without risks of regressions. To do this we run thousands of unit tests for each part of the libfwupd public API and libfwupdplugin private API. This gets us a long way, bu … | Continue reading
There is this extremely neat feature in GCC 10+ and Clang 9+ that allows you to determine which function should be patched in at runtime. Procress startup code will call your user-defined function to figure out which function should be used for the environment. For example, take … | Continue reading
Last weekend we had another edition of last year’s post-All Systems Go hackfest in Berlin. This year it was even more of a collaborative event with friends from other communities, particularly postmarketOS. Topics included GNOME OS, postmarketOS, systemd, Android app support, har … | Continue reading
Today I tagged fwupd 2.0.0, which includes lots of new hardware support, a ton of bugfixes and more importantly a redesigned device prober and firmware loader that allows it to do some cool tricks. As this is a bigger-than-usual release I’ve written some more verbose releases not … | Continue reading
It’s been over two months but I still haven’t gotten around to writing a blog post about this year’s Berlin Mini GUADEC. I still don’t have time to write a longer post, but instead of putting this off forever I thought I’d at least share a few photos. Overall I think our idea of … | Continue reading
I am pleased to announce a new Cambalache stable release, version 0.92.0! This comes with two major dependencies changes, the first one is a very basic port to Adwaita and webkit/broadway replacement with a custom Wayland compositor widget based on wlroots. What’s new: Basic port … | Continue reading
GUADEC was in Denver this year! I meant to write an update right after the conference, but Real Life got in the way and it took a while to finish this post. I finally found a little spare time to collect my thoughts and finish writing this. It was a smaller crowd than normal this … | Continue reading
Focus stealing prevention exists for two main reasons: One is security, since we need to prevent rogue apps from deceiving users into e.g. typing their password into another window. If apps can silently claim keyboard focus and open their own window over the currently focused one … | Continue reading
I am pleased to introduce the first stable release of Casilda! A simple Wayland compositor widget for Gtk 4 which can be used to embed other processes windows in your Gtk 4 application. It was originally created for Cambalache‘s workspace using wlroots, a modular library to creat … | Continue reading
Well, it’s time for another release. Last cycle wasn’t particularly exciting, only featuring the new dialogs and a few smaller changes, but this one should be more interesting. So let’s look at what’s new. Bottom sheet Last cycle libadwaita got new dialogs, which can be presented … | Continue reading
I am pleased to announce a new development release of Cambalache, version 0.91.3, getting us one step closer to the stable release for GNOME 47. What’s new: Support 3rd party libraries Improved Drag&Drop support Streamline headerbar Ported treeview to column view Several bug fixe … | Continue reading
Last I mentioned I was doing an ABI cleanup of libspelling as it was really just a couple hour hack that got used by people. Part of that was to make way for performing spellchecking off the GTK thread. That just landed in today’s libspelling 0.3.0 release. In one contrived bench … | Continue reading
We all think we’re smart enough to not be tricked by a phishing attempt, right? Unfortunately, I know for certain that I’m not, because I entered my GitHub password into a lookalike phishing website a year or two ago. Oops! Fortunately, I noticed right away, so I simply changed m … | Continue reading
Ptyxis has arrived in Fedora 40 thanks to my Red Hat colleague Nieves Montero Fernandez. You can sudo dnf install ptyxis to get it. Discussions are ongoing to make Ptyxis the default terminal for Fedora Workstation (and Silverblue) though it has already been approved by FESCo. On … | Continue reading
In the summer of ’23 I quickly put together a minimal library for spellchecking in GTK 4 from what I built for Text Editor and Builder. It has a fun little hybrid piecetable/B+Tree (bplus) which is probably the most complicated part of it. And by quickly, I mean it was created ov … | Continue reading
Good news: exploiting memory safety vulnerabilities is becoming more difficult. Traditional security vulnerabilities will remain a serious threat, but attackers prefer to take the path of least resistance, and nowadays that is to attack developers rather than the software itself. … | Continue reading
After World War II, Jack Kirby and his partner Joe Simon began their first foray into the genre of crime comics. (Kirby would return briefly in 1954 and 1971.) Beginning in 1947 and tailing into 1951, the stories appeared largely in Headline Comics and Justice Traps the Guilty fo … | Continue reading
It is our pleasure (Sam’s and mine) to announce the following project renames: – The Tracker SPARQL library will now be known as TinySPARQL – The Tracker Miners indexer will now be known as LocalSearch, or GNOME LocalSearch if you prefer. This on one hand will meet the increasing … | Continue reading
Vala programmers probably already know that a Vala array is equivalent to a C array plus an integer size. (Unfortunately, the size is gint rather than size_t, which seems likely to be a source of serious bugs.) When you create an array in Vala, the size is set for you automatical … | Continue reading
When I first encountered GNOME, I struggled a lot with understanding what it was. This was during the Outreachy contribution phase, and its description included the term “desktop environment”. At the time I had no idea what a desktop environment was. While developing skills in us … | Continue reading
There is a sort of thrill to a bug hunt once you dig your heels in deep enough. This is one of those stories. Earlier in the week a fellow Red Hatter messaged me about a bug in Ptyxis where if you right click on a tab, the tab stays in the active state. Clearly not a very good lo … | Continue reading
I am please to announce a new development version of Cambalache This comes with two major dependencies changes, the first one is a very basic port to Adwaita which fixes dark mode support with Gtk4The biggest one is that I have replaced the WebKit WebView used to show widgets in … | Continue reading
Hi! I’m Udo Ijibike, and I’m currently participating in a GNOME UX research project this summer as an Outreachy intern. My mentors are Allan Day and Aryan Kaushik. This is the first in a series of blog posts chronicling my internship. About Me I’m a passionate User Experience (UX … | Continue reading
Several months ago, I announced that I would be developing a new accessibility architecture for modern free desktops. Now, I’m happy to provide an update on this project, code-named Newton. Before I begin, I’d like to thank the Sovereign Tech Fund for funding this work, and the G … | Continue reading
There are times when you feel your making no progress and there are other times when things feel like they are landing in quick succession. Luckily this definitely is the second when a lot of our long term efforts are finally coming over the finish line. As many of you probably k … | Continue reading
This cycle GTK got a lot of updates to its CSS engine. I started this work as part of the Sovereign Tech Fund initiative, and later on Matthias Clasen joined in and we ended up splitting the work on colors. Let’s go through the changes, as well as how they affect GTK, libadwaita … | Continue reading
Manuals contains the documentation engine from Builder as a standalone application. Not only does it browse documentation organized by SDK but can install additional SDKs too. This is done using the same techniques Builder uses to manage your project SDKs. It should feel very fam … | Continue reading
Occasionally at Red Hat we have a “Day of Learning” where we get to spend time learning about technology of our choice. I spent some time listening to various AI explanations which were suggested readings for the day. Nothing too surprising but also not exactly engaging to me. Ma … | Continue reading
It’s time for another Crosswords release. I’ll keep this update short and sweet. I had grand plans last cycle to work on the word data and I did work a little on it — just not in the way I intended. Instead, a number of new contributors showed up which sent me in a different dire … | Continue reading
Apart from Software Development, I also have an interest in governance and finances. Therefore, last July, I was quite happy to attend my first Annual General Meeting (AGM), taking place in GUADEC in Riga. I was a bit surprised by the format, as I was expecting something closer t … | Continue reading
One of the goals of the new GNOME project handbook is to provide effective guidelines for contributors. Most of the guidelines are based on recommendations that GNOME already had, which were then improved and updated. These improvements were based on input from others in the proj … | Continue reading
You can get Ptyxis on Flathub now if you would like to run the stable version rather than Nightly. Unless you’re interested in helping QA Ptyxis or contributing that is probably the Flatpak you want to have installed. Nightly builds of Ptyxis use the GNOME Nightly SDK meaning GTK … | Continue reading
I write about Sysprof here quite often. Mostly in hopes of encouraging readers to use it to improve Linux as a whole. An impediment to that is the intrusiveness to test out new features as they are developed. If only we had a Flatpak which you could install to test things right a … | Continue reading
I’m from a small town in Washington State that is well-known for top-tier guitars. It was home to Boogie Bodies, co-created by Lynn Ellsworth from Charvel fame. You might remember some of the guitars they worked on including a number of EVH’s iconic striped guitars. When the comp … | Continue reading
It’s no secret I have way more projects to manage than hours in the day. I hope to rectify this by sharing more knowledge on how my projects are built. The most important project, Builder, is quite a large code-base. It is undoubtedly daunting to dive in and figure out where to s … | Continue reading
One of the things we’re tackling as part of the STF infrastructure initiative is improving notifications. Other platforms have advanced significantly in this area over the past decade, while we still have more or less the same notifications we had since the early GNOME 3 days, bo … | Continue reading
Sometimes I build stuff other than software and this is a post about that. My wife and I had to postpone our honeymoon for a couple years due to COVID. Last spring we were able to take a trip to Thailand and really enjoyed it. So much so that when we got back we had a desire recr … | Continue reading
(I need to put that somewhere because people ask about it and having a little post to explain it is nice.) What’s it about? GTK recently introduced the ability to offload graphics rendering, but it needs rather recent everything to work well for offloading video decoding. So, wha … | Continue reading
Builder got a refreshed search popover. It’s not even a GtkPopover anymore and instead uses AdwDialog. You can use some of the typical “prefixes” to filter search results or do nothing and get everything mixed together. For example, prefix the search with @ to limit the results t … | Continue reading
It has finally happened! The long awaited major update of Fragments is now available, which includes many exciting new features. The most important addition is support for torrent files. It is now possible to select the files you want to download from a torrent. The files can be … | Continue reading
Hi, I am happy to announce a new Cambalache stable release. With the UI ported to Gtk 4 I bumped the version to 0.90 to reflect the fact we are really close to 1.0 Release Notes: Migrate main application to Gtk 4 Update widget catalogs to SDK 46 Add support for child custom fragm … | Continue reading