Budgie LogoBuddies of Budgie

Chirp #4: Panels, Policies, and Progress

Theme configuration improvements land in Budgie 10, the Budgie 11 panel gains a QML loader, and Magpie picks up focus method support.
Chirp #4: Panels, Policies, and Progress
JS
Joshua Strobl

February 8, 2026

This was a good week for the team. Across the board there have been improvements, whether to Budgie 10, Budgie 11, or even the website you're reading this on. Let's dive in!

#Budgie Desktop (10.10)

In terms of changes landed, a new contributor kindly submitted a fix for our Raven animation. David implemented the ability to set the labwc compositor theme independently from the GTK theme. This is helpful for GTK themes that lack support for Openbox theming (which is most of them). Now, you can opt to use older (and typically unmaintained) themes such as Materia / Materia-dark and have decorations that are at least less out of place. David was kind enough to bring in Pocillo's openbox theming into budgie-desktop proper, which means out of the box you'll have the options below without having to install Pocillo itself: This setting is only exposed in Budgie Desktop Settings if labwc is actually running (as opposed to another compositor like Magpie, Wayfire, Miriway, etc.). Some other pending pull requests:

#Budgie 11

#budgie-shell

Evan has made some great progress on the panel for "budgie-shell". The Budgie panel has evolved from just a QML window into a full QObject class in C++. Using our new ScreenEdge enum, we can more easily set our layer shell anchors for our panels, as well as any other component that may be tied to the edge of a screen. Right now, the panel just consists of a solid background and some text, but hey, it's got to start somewhere, right? In order to avoid having to pass around a QML engine to all of our components that will need to load a QML file, we decided to adopt Plasma's approach of building our own QmlLoader class which creates a new QML engine that loads a singular QML file on demand. This means we don't have to keep track of what classes need a reference to the engine, and we don't have to worry about passing a single engine around to all of our components.

#magpie / "mirpie"

As mentioned in last week's Chirp, the plan for this week was to leverage QKeySequence to simplify our keybind support. That has been implemented alongside a new QMirKeyboardEvent that enables us to translate MirKeyboardEvent into a class that provides its own QKeySequence to simplify matching against our keybinds. The groundwork for our own window management policy (sub-classing miral::MinimalWindowManager) was established, providing the opportunity to learn how we can get windows and outputs (kinda important for managing them both). On top of that, we now have KConfig XT integrated! This is being leveraged to define our configuration file schema and in this case, defining a WindowManagement entry FocusMethod. This FocusMethod alongside our new MagpieWindowPolicy has enabled the implementation of click-to-focus, mouse (focus and raise), and sloppy (focus without raise) support. So it'll be good to have that right out of the gate. I won't bore you with the full VOD; quick demo video below!

#Up Next

This week Evan, Neal, and I will be sitting down to map out the road ahead for budgie-shell and Magpie. Now that we have more foundational pieces in place (early panel architecture, QML loading, Magpie window management policy, keybind support, etc.), it's a great time to get more concrete about what comes next. We'll be breaking down the work into clearer milestones, prioritizing features / functionality, and figuring out where we can best focus our efforts. Expect future Chirps to reflect this with more structured updates on our progress. Exciting times ahead!

#Website

Our website has gotten a makeover, with:
That's all for this week folks. Time to get back to coding :)
Supporting The Project

Did you know that you can financially support the Buddies of Budgie project? Buddies of Budgie was founded to provide a home for Budgie Desktop and your financial contribution can go a long way to supporting our goals for development, providing opportunities for financial compensation, leveraging no-compromise Continuous Integration and Continuous Delivery systems for Budgie 11 development, and more.