Budgie LogoBuddies of Budgie

Chirp #5: Budgie 11 Priorities, Panel Config, and 10.10 Polish

We map out Budgie 11 priorities and begin building panel configuration, while Budgie 10.10 picks up OSD fixes, Icon Task List improvements, and labwc bridge refinements.
Chirp #5: Budgie 11 Priorities, Panel Config, and 10.10 Polish
JS
Joshua Strobl

February 15, 2026

A productive week across the board, with 10.10 fixes and bridge refinements landing alongside roadmap planning and panel config work for Budgie 11. Let's get into it.

#Budgie Desktop (10.10)

#OSD Visibility over Fullscreen Apps

A community contribution (#850) fixed an issue where volume and brightness OSDs were not visible while a fullscreen application was running. On-screen displays were using the Top layer in wlr-layer-shell, which is the same layer fullscreen apps occupy. By moving the OSD to the Overlay layer (which is explicitly designed for this kind of use case), it now correctly renders above fullscreen content.

#Icon Task List Fixes

There was a fix submitted (#851) for the IconTaskList's behavior when show-all-windows-on-click mode is enabled. Previously, clicking an app group would not correctly toggle between activating and minimizing the group. Now: This PR also fixed an inverted condition for the middle-click-launch-new-instance setting, which was doing the opposite of what users configured. Oops!

#labwc Bridge Improvements

David continued refining our labwc bridge this week. #835 (originally mentioned as pending in Chirp #4) has now landed, bringing several improvements: There is also a new open PR (#859) that syncs the touchpad scroll method from GNOME's gsettings schema into the labwc configuration. As part of this work, the bridge now also recreates missing peripheral config sections in rc.xml, which is useful for existing users upgrading who may not have those entries yet.

#QEMU / gnome-boxes Cursor Fix

We landed a workaround (#858) for an issue where the mouse cursor appeared upside-down in gnome-boxes and other QEMU-based virtual machines with 3D acceleration enabled. The fix detects virgl usage and sets WLR_NO_HARDWARE_CURSORS to work around the issue until it is resolved upstream in QEMU.

#Budgie Desktop View

Previously, Budgie Desktop View was on the same layer as swaybg (BACKGROUND) which required a workaround of toggling icons off and back on during wallpaper changes. We landed a change this week that switches it to using BOTTOM, so Budgie Desktop View now sits above the wallpaper layer naturally, making wallpaper transitions cleaner.

#Other Pending Pull Requests

Still in review from previous weeks:

#Budgie 11

#Planning out Preview 1

Evan, Neal, and I sat down this week to map out short and mid-term priorities, providing a clearer roadmap across various components of Budgie 11 and itemizing development tasks (including blockers). While doing so, we more concretely defined must-haves and nice-to-haves for "Preview 1", which will serve as the first public build featuring some elements of the Budgie 11 experience in its various stages. Here is a high-level overview of what we are currently thinking will be in Preview 1. This is subject to change as we get further along in development: budgie-shell magpie There are a bunch of "under-the-hood" changes that need to happen across budgie-desktop-services and magpie to facilitate some functionality in budgie-shell as well. Given how early we are into development of Budgie 11, with much of the underlying architecture still being worked out or worked on, we aren't going to be providing any sort of timeframe yet on when folks should expect the first preview. As we work on it and start itemizing more development tasks, we will be filling out our Preview 1 project board, so you are welcome to keep an eye on that and our posts!

#budgie-shell

This week, I focused on building out early configuration support for budgie-panel, taking the lessons learned from implementing configuration in Magpie and applying them to the shell. As part of this, the panel code was reorganized into a proper BudgieShell::Panel namespace with separate View and Config classes, and ScreenEdge was promoted to the public libBudgieShell API. Like with Magpie, panel configuration is defined using KConfig XT. We define our config entries once in a declarative schema and get typed properties, change signals, and serialization for free. The schema covers appearance settings (auto-hide, dock mode, size, transparency), layout (target output and screen edge), and extension region assignments (start, center, end). Each panel stores its configuration under a profile-aware directory structure (~/.config/budgie-desktop/shell/profiles/{profile}/panels/{uuid}/panelrc). To support this layout, I wrote a new Path class in libBudgieShell that centralizes path construction with safety checks against directory traversal and symlinks. Before the panel configuration work is merged in, my plan is to generalize this API further and move it into budgie-core (not quite sure yet if it will be a monorepo long-term or if we will split things out into their own repositories). The API currently assumes the context of the shell, so it will need to be broadened for use across our other components like magpie, with each consumer implementing any consumer-specific context through sub-classing. This is the kind of shared infrastructure that Budgie Core is designed for, and something we want third parties to be able to build on as well. Getting the config to actually work end-to-end took some wrestling. KConfig XT's generated classes weren't emitting property change signals on read() in my testing, so I had to wire up manual change detection to ensure the panel's View (which exposes the relevant properties to QML) actually updates when the config file changes on disk. For now, the config file is written out with all default values explicitly so we have something tangible to poke at during development. Once the dust settles though, I expect us to only write values that have actually changed, which aligns with both our desired use of the config, as well as KConfig's own intended design. The good news is it works end-to-end! Changing the panel size in the config file updates the panel live. Next up, I'll be wiring up the screen edge repositioning, getting things reviewed, then moving on to the extension loading pipeline so we can start getting actual content into the panel.
Lots of groundwork laid this week, and plenty more ahead. See you in the next Chirp!
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.