You are here

Planet GNOME

Subscribe to Feed Planet GNOME
Planet GNOME - https://planet.gnome.org/
Përditësimi: 2 orë 55 min më parë

Flathub: Flathub Discourse is now read-only

Pre, 23/10/2026 - 2:00pd

As of today, Flathub Discourse is read-only. Existing threads stay available, but it is no longer possible to start new topics or reply.

We opened the forum back in 2020 as a place for asynchronous communication that isn't GitHub issues or IRC. Realistically, it never took off, becoming another issue tracker to keep an eye on. A forum where people post and wait for an answer that never comes is worse than no forum at all.

Here's where to go instead:

  • Help with packaging and submissions: the Flathub Matrix channel, or the Flatpak channel for questions about Flatpak itself.
  • Problems with an app: the issue tracker of its repository, linked as "Manifest" on the app's Flathub page. Issues with Flathub itself go to flathub/flathub.
  • App requests: Flathub doesn't take them. Ask the app's developers to submit it, or do it yourself.
  • Runtime announcements: runtime projects such as freedesktop-sdk are welcome to post them on this blog.

Thanks to everyone who answered questions there over the years.

Jonathan Blandford: Crosswords 0.3.19 — New Layout and Acrostic Editor

Mar, 20/10/2026 - 3:00md

Time for a new Crosswords release! This is a good one. This past cycle features two major changes: the game got a major visual overhaul, and the Acrostic Editor is no longer in Beta.

This release is dedicated to Luciana. She contributed the adorable artwork for libipuz, and is a budding cruciverbalist. She’s currently having a bit of a tough go of it healthwise, so please join me in sending her good wishes. We’re all rooting for you!

New Game Layout

The game mode got a complete rework this cycle. We moved the Across /Down labels into the header, and added independent header bars for each column. This work was designed by “gnoman”, who did a fabulous initial mockup, and then provided a lot of additional feedback as we iterated through possibilities. The end result looks so much better than before, and is orders of magnitude better than anything I dreamed of when I started this project.

Initial mockup from “gnoman”

Every aspect of the game looks better, especially single-column mode. That now has a bottom drawer for the clues. Take a look at how it resizes:

https://blogs.gnome.org/jrb/files/2026/10/Screencast-From-2026-10-19-16-36-11.webm

I had to heavily adjust the reflow animation to deal with the updated appearance. For better or worse, this layout cannot be done with stock GTK/libadwaita containers and needs a complex custom layout widget. It’s a pain to edit, but it also means that we control every stage of the animation process. We handle things from reparenting buttons to panel changes.  The direction switching even cross-fades between the label and the toggle instead of snapping. It’s a small thing, but it makes the whole animation silky smooth.

“Gnoman” also contributed animated SVGs for the “How to Play” dialog. Florian migrated us to the new GTK SVG animation framework, and we’ve ended up with an even slicker, charming intro screen.

Acrostic Editor Is No Longer Beta

A few years ago, Tanmay added acrostic support to the game. This puzzle type was fun-looking! But since we didn’t have a ready source of them, he started working on editor so we could write our own. He got something basic working but it wasn’t reliably usable. The problem was the grid autofill feature: it was just too slow. It worked by doing a DFS through the possible anagrams with a random answer shape. Sometimes it found results, most of the time it did not.

This cycle, I went back to try and fix it and now have something usable. As sometimes is the case, the trick to get it working turned out to be really simple: We just had to try a new random shape after 30K iterations or so. It was a small change to the code — just a counter. But we ended up with something that could find grids with regularity.

Once that started working I went back and fixed up the rest of the workflow. The Quote/Source entries are now instant apply and you can manually edit entries in the list. There’s an info panel that gives acrostic stats and an overlay pane to mark progress. It looks a lot better — and works! I’ve used it to create three acrostics already and have more coming. Take a look:

https://blogs.gnome.org/jrb/files/2026/10/Screencast-From-2026-10-19-18-14-20.webm New Generic Widgets

As part of working on the Acrostic Editor, I wrote some new widgets. These are not crosswords-specific, and are written so that people can cut-and-paste them into their app (if it’s GPLv3 compatible). They’re targeted for internal use but maybe would be useful for others.

The more interesting of the two is XwdRichTextRow. It’s an alternative for AdwEntryRow that uses a GtkTextView instead of a GtkEntry. It has two features that the libadwaita widget doesn’t:

  • An :n-rows property to set the number of visible rows. If set to 1, it matches the pixel extents of AdwEntryRow. But larger numbers will provide additional lines of editable space. A vertical scrollbar is provided once the row count gets large enough.
  • Rich text editing. It supports bold, italic, strikethrough etc, and provides a convertor from pango markup to-and-from the widget. I wrote it in such a way that a markdown convertor could be written as well.

It’s not as comprehensive as AdwEntryRow yet: it doesn’t support prefix/suffix widgets, emojis, or an apply button, and there are probably a lot of bugs. It also will never support GtkEditable, due to the GtkTextBuffer underpinnings. But it may be useful and fill a niche that I, at least, have felt a void for a while.

https://blogs.gnome.org/jrb/files/2026/10/Screencast-From-2026-10-19-16-05-18.webm

I also wrote XwdInfoButton, which is basically a simple menu button that creates explanatory popovers. It should be used sparingly, but for a really complex app like the editor I think it can help demystify some sections. It takes a markdown string as its format.

Info Popover

Let me know if you have any interest in using these widgets.

Non-Distro Builds, And a Plea For Help

Crosswords has built on macOS for a while thanks to Vinny’s heroics, but nothing stopped us from breaking it. He’s fixed that: we now have a macOS arm64 CI job, building against Homebrew with Apple clang. Now macOS-specific errors can be caught at commit time.

Vinny also provided an MR for building bundles as part of the build process! I’d love to have bundles available to go with the flatpaks we create. However, I have neither a Mac to test on, nor the skills to evaluate this MR. I would deeply appreciate if anyone can help test and evaluate this!

Crosswords running on a Mac

Florian also did another build of Crosswords for Android and created another APK. It’s still pretty buggy, but it’s significantly better than the previous release. I think we can get it usable with a little more effort.

Android Build Other Features

A grab bag of the rest:

  • The metadata tab now has rich text editing throughout and was reorganized into a vertical layout.
  • The  Language and Country rows let you set the puzzle’s $LANG and Charset. A new layer warns about letters that aren’t in the alphabet. It was shockingly complex to write.
Rows for setting $LANG
  • Word lists now show synonyms in clue definitions.
Definition and synonyms of “RAISE”
  • The Editor preview window uses the real game widget.
  • We enabled large text for printing. Toluwaleke did most of the work already a few releases back, it just needed a template.
  • Added support for the Czech CH digraph, mirroring the existing Dutch IJ digraph.
  • Laureen has been steadily working on a grid generator for vocab puzzles. None of it is visible yet — it’s all generator code — but it’s a solid basis for the next game type.
  • I fixed a massive leak with all the PuzzleTasks. Turns out we weren’t freeing them at all due to a ref loop. Not a big deal with the normal autofill behavior, but once we started running it every keypress the leak grew fast.
Thanks!

This release, thanks to:

  • Rosanna for tireless help with UI word-smithing and editing, as well as endless patience.
  • “Gnoman” for the amazing design for the revamped play mode, the animated SVGs, and general design support.
  • Tobias for design support and advice throughout the Circle process.
  • Florian for the port to GTK4’s new SVG widget and other fixes.
  • Vinny for macOS input method support and the macOS arm64 CI job, and in general amazing build gardening.
  • Michel for build and license advice.
  • Laureen for continued work on the vocab editor.
  • Federico for general advice.
  • Alice for general advice, and for fixing my issues with libadwaita.
  • Eleanor, Sophia, Michael, and Rosanna for puzzle play-testing (coming soon!)

Peace

Sebastian Wick: Varlink observability

Dje, 18/10/2026 - 3:37md

A few days ago systemd gained tools which allow you to monitor Varlink traffic. A new Varlink service (io.systemd.VarlinkMonitor) allows you to set up a ring buffer which will get filled with packets containing the traffic which matches the filters you provide. This provides the functionality that org.freedesktop.DBus.Monitoring provides for D-Bus. A new varlinkctl monitor verb allows you to use this feature in terminals and scripts. This provides the functionality that dbus-monitor provides for D-Bus and uses io.systemd.VarlinkMonitor under the hood. If you pass --json short to varlinkctl monitor, it produces JSON-seq which can be passed into jq --seq to further process the captured data.

I presented this in the broader context of observability with Varlink at All Systems Go. Slides and video of the talk are available online.

This is a good start, but I think we should add more tooling around it. Especially Bustle would be an interesting target because it would allow us to capture D-Bus and Varlink at the same time and get a global view of what is going on in our systems again.

Jakub Steiner: Liberec Dam

Sht, 17/10/2026 - 2:00pd

(Watch "Liberec Dam 2026" on YouTube)

There's only a few places I get to take visiting friends to in Liberec. Sadly at the moment almost all of them are out of service. The city dam, Harcovská přehrada, is one of them. A fraction of the size of a neighboring Mšeno, it's set close to the middle of the city and is a wonderful walk/running place, despite only half having a foot path.

In the autumn of 2022, a full reconstruction finally began, a mere century after the dam was built. Quite a massive operation, with 26,000 cubic meters of silt dug out, the original masonry injected with a fresh waterproof jacket from a brand new gallery dug right under the dam, and the bottom outlets were swapped for beefier ones. Being a listed landmark, the dam got to keep its pretty face while the guts were replaced. A three-year job that -- in the finest local tradition -- took a bit longer and cost north of EUR 20 million. It's worth noting that Liberec is one if not the most indebted cities in Czechia.

In the meantime the city had a moonscape where its living room used to be. I went to investigate the drained bowl like everyone else and came back with a portrait short of the eerie emptiness, set to an electronica track that goes by Spore Structure:

(Watch "Spore Structure" on YouTube)

This year the water finally came back. Not yet finished, the lake is once again the city's front yard, has a refurbished beach, and a dam that's now rated to pass a 10,000-year flood. A figure I sincerely hope remains purely theoretical. To celebrate, I did the only reasonable thing: sent up a flying camera and cut the results to a tune. Sadly the dam claimed another one of my birds (currently the score is 2:0). A mistake had cost me one of older 5" as a broken OSD, ancient battery and water can lead to brisk ends. Luckily the tandem flight with a friend was done on my 4" and I have a video to share above.

The soundtrack was composed, as is the tradition around here, on the Dirtywave M8. Should watching atmospheric drum & bass slowly materialize out of a tracker over the course of a couple of hours sound like your idea of an evening, the recorded stream is up on YouTube.