Red Hat
In October I celebrated 10 years at Red Hat. I don’t think I ever worked somewhere for more than a few years before that. Considering I started working professionally in tech after I barely escaped high school, that’s nearly half of my career.
It is also a reminder to reflect on the people who helped me get there. All the people on IRC that helped me learn programming in the early days of #gtk and #gnome-hackers IRC channels. And Miguel specifically for all the random demo code he would send my way to read how something could be done.
I know I’m one of the lucky ones that was able to do this without a formal education. I don’t necessarily recommend that but it has its benefits too.
Ptyxis
Look into what app-id is used on Ubuntu to help users who can’t figu…
Red Hat
In October I celebrated 10 years at Red Hat. I don’t think I ever worked somewhere for more than a few years before that. Considering I started working professionally in tech after I barely escaped high school, that’s nearly half of my career.
It is also a reminder to reflect on the people who helped me get there. All the people on IRC that helped me learn programming in the early days of #gtk and #gnome-hackers IRC channels. And Miguel specifically for all the random demo code he would send my way to read how something could be done.
I know I’m one of the lucky ones that was able to do this without a formal education. I don’t necessarily recommend that but it has its benefits too.
Ptyxis
Look into what app-id is used on Ubuntu to help users who can’t figure out where to put custom palettes. To make this a bit easier make sure we always have APP_ID in the troubleshooting data. Turned out to be missing [Light] section in their custom .palette.
I can’t help but lament that this would be less of an issue if the org.gnome.* namespace where more allowed for people who are Foundation members. I’m both informed on why it is like this (a single situation that occurred by a former community member) and also disagree with the direction that was taken as a result of that.
Look into diacritics issue for input. Usually this ends up being a system configuration issue. There is an oddity about this one in that changing focus and coming back fixes it. Also using ibus directly instead of the wayland text protocol fixes it. Neither of these are ideal so it may have something to do with state tracking either in the GTK Wayland backend or in Mutter.
Thankfully the great Carlos Garnacho is helping us track it down.
Look into why Silverblue has some users not seeing their containers which appear to be toolbox/podman related.
Installed F43 Silverblue beta on my old testing laptop. Turns out I had an overzealous filter for the containers list. If you had more than one you’d be fine. This only affected 49 since that is the first release that gained support for the search filter box in the popover that otherwise looks like a GtkPopoverMenu.
Made a release to get the fix out to F43 users quickly.
Quickly I want to mention a feature that keyboard navigators will love. If you type Alt+comma the containers dialog will be displayed. If you hit Return you’ll land in the default host system (aka “My Computer”). If you type a few characters and hit Return you’ll land on the first container/profile that matches your keyword search.
Foundry
New API to simplify navigating directory listings since you may want “..” in certain contexts (like Builder’s directory page).
Add a FoundryFileSearchReplacement API to coordinate with the FoundryFileSearchMatch API. This makes it easy to do replacements based on search results in a manner like we do in GNOME Builder where you can tick on/off + replacement string w/ back-references. Of course to test this infrastructure I added a --replace= option to foundry grep so I can refactor quickly from Ptyxis.
Write documentation for most of libfoundry exposed classes.
Fix string array output for --format=json and improve it for regular text output.
Fix grep plugin to add multiple matches on a single line as separate matches in the result set. This fixes search/replace to handle all matches in a file.
New Terminal Intent for opening terminals within the application such as Builder. Add a TerminalService for exposing actions to the intent system to applications easily.
Setup using intents for search results because it will allow us to abstract things like “activate action”, “open file”, “spawn terminal”, “browse to symbol”, “read documentation”, etc.
Iteration on panel bar to try to give us a bit better interaction with the panel machinery in libfoundry-adw applications.
Improve fallback search when there is not a VCS available to accelerate index building. (We use git file listing which is almost instantaneous to build our initial fuzzy search index instead of trying to iterate the file tree).
Start on documentation bridge so doc search can show up in the regular search dialog.
Host SDK gained support for running processes through a systemd-run with scope/unit like Ptyxis does for new tabs (when systemd-run is discovered on the host). This just helps identify things easier.
Implement the whole PanelWidget::presented() machinery from libpanel into libfoundry-adw so that we can have Workspaces but also still be able to delay certain panel/page work until the user will actually see the widget. For example, the test suite panel needs to advance the build pipeline far enough to get introspection data which you don’t want to do unnecessarily.
Add a new way to track current phase of a build pipeline. It is now dynamically calculated based on the maximum of the stages which have :completed set to true (so log as others in the same phase have the same value).
Add new :eol property to FoundryDocumentationBundle so we can pass that information from SDKs into Manuals
Build system updates so that we still have more control over feature flags for compiling in/out what you need in Foundry. This is quite a burden for sure, but it allows more flexibility in where Foundry can be used. For example, Manuals doesn’t need the text subsystem or Git for example.
Builder
Trying a new design for various types of listings in the revamp. Directory listings, diagnostics listings, log panel, file search results, unit test panel, test output, etc.
Copied how I did shortcuts in Ptyxis for the revamp because it works a lot nicer from a configuration standpoint and visibility. It also makes it much easier to bind from .ui files into controllers as well as update GMenu with appropriate shortcuts.
Use g_file_trash() instead of delete when removing configurations.
GLib
Pull in a year old patch from Ulrich Drepper into a MR that can be merged to make g_filename_from_uri() handle some valid hostnames according to RFC 1123.
Extend the above patch to also support . later in labels so some questionable hostname like dev-ubu-25.10 in Ptyxis #490 work.
Manuals
Show EOL information in documentation bundle installation dialog.
Allow showing/hiding EOL documentation bundles.
Releases
libpanel
Foundry
Builder
D-Spy
Manuals
Gom