Budgie LogoBuddies of Budgie

Budgie 10.7 Released

Budgie 10.7 is a brand new release series for Budgie Desktop, featuring major re-architectures, new APIs for extensibility, and polish to the user experience.
Budgie 10.7 Released
JS
Joshua Strobl

January 29, 2023

Budgie 10.7 is a brand new release series for Budgie Desktop, featuring major re-architectures, new APIs for extensibility, and polish to the user experience. This macrocosm in Budgie 10 series is currently the following: We expect downstream consumers of Budgie to use following:

#New Application Indexer

Budgie 10.7 introduces a new application indexer, replacing our use of libgnome-menus and unifying our logic used in both Budgie Menu and Budgie Run Dialog, for consistency in the applications we show. This new indexer provides more reliable indexing of applications across several directories which are used to store desktop files. Our implementation improves the categorization of applications, aggregating entries into more relevant and used categories (for example, "Administation", "Settings", and "System" would all be aggregated into "System"), while respecting custom desktop directories created by the users through third-party menu editors that write to the user's .local/share/desktop-directories folder. Related to the application indexer, our searching in Budgie Menu has been abstracted out into its own "relevancy search" that is now used in both Budgie Menu and Budgie Run Dialog, providing a consistent search experience.

#Budgie Desktop Settings

Budgie Desktop Settings now has a new design for widget selection, applying to both panel widgets and our new Raven widget system. This design shows relevant developer information such as the author, website, description, and copyright information. We also communicate if the widget plugin is "built-in" (ships with Budgie).

#Budgie Menu

Budgie Menu has been drastically improved in 10.7, with new functionality and improvements to application launching.

#Dual-GPU Support

Budgie Menu now leverages switcheroo-control if available to switch between GPU environments when launching applications that request it. Users with dual-GPU setups can now launch their applications without necessarily having to worry about which GPU is in use and manually switching between them.

#Personal User Menu

Budgie Menu now provides a "personal user menu" which has quick XDG directory access. This feature enables you to open up a file manager (or technically whatever your inode/directory handler is) directly to folders like Home, Documents, Music, etc. This follows the XDG Base Directory Specification, so if you have for example a different path set for Music (or your system locale is not English) that will be respected. Folders which do not exist will be automatically hidden, so the menu will only show items which are relevant to you!

#Quick Settings and Power Access

In the new bottom strip of Budgie Menu, we now have buttons for launching Budgie Desktop Settings, Budgie Control Center, and our new Power Dialog (which we will get into later). You no longer need to search for these in the menu or access them by right-clicking on the desktop.

#Improvements to accessing Budgie Control Center panels

An option has been added to the Budgie Menu widget settings to show Budgie Control Center settings items (such as bluetooth, sound, and power panels) in the applications list. You will always be able to search for these items regardless of the option being enabled though, so you can have less clutter in your menu while still having quick access to various settings panels.

#Other Improvements

Here is a short list of other improvements to Budgie Menu:

#Budgie Run Dialog

Budgie Run Dialog has been updated in 10.7 to leverage the new application indexer and relevancy search service, enabling it to have consistent search results compared to Budgie Menu. Alongside this update, we have introduced a couple visual changes as well:
  1. The width is now computed from the work area of the screen that the Run Dialog is opened on. This should make it look good on different sized monitors.
  2. The label for the name and description of applications in the launcher buttons has been split into two labels. This allows more fine-grained styling than was previously possible.

#Budgie Screenshot

Budgie 10.7 introduces a new Budgie Screenshot application built into the desktop that enables you to quickly take screenshots of windows, areas, or your entire screen. Budgie Desktop no longer relies on gnome-screenshot for its screenshotting capabilities, all of the existing default keybinds will now call org.buddiesofbudgie.BudgieScreenshot. Users still have the option to use a different screenshotting solution (e.g. Flameshot) should they desire.

#Notification Enhancements

Significant improvements around Notifications have landed in 10.7.

#General UX Improvements

There has been a swath of improvements to our rendering of notifications:
BudgieNotificationsBodyText

#Notification Summary

When a window leaves fullscreen mode, Budgie will now show a notification popup to alert the user that there are notifications that they didn't see. This notification is only shown if there are actually notifications.

#Spec and Control Center Setting Compliance

Improvements have been made in supporting more of the FreeDesktop Notification spec, namely notification sounds are now supported. As not all applications will be displayed currently in Budgie Control Center and some applications such as Element and Discord have separate capabilities to play notifications sounds, we do not have sounds enabled by default. Applications that show in Budgie Control Center under its Notifications panel can be configured to have sounds on or off. Alongside this, we now respect the "Show Message Content in Popups" option in Budgie Control Center's Notification panel for an application and will hide content when it is disabled there. Some notifications set a timeout of 0, which the spec says means that it should never expire. Our implementation doesn't really fit that, since persistence is done by Raven, not the notification server. As such, we set a different minimum show time for the popups to ensure that one is actually shown when it should be.

#Raven

Budgie 10.7 introduces the largest set of changes and features since the 10.5 release. It has largely been re-architected with a brand new pluggable Raven widget API system, allowing third-party developers to build their own Raven widgets, as well as seeing new widgets and updated designs to existing widgets.

#Raven Widget API

Like our Budgie Panel widget API, you can now build widgets for Raven leveraging libpeas (providing support for writing plugins in C, Python, and Vala) and our set of APIs. This finally achieves our end goal for Raven since the beginning of Budgie 10, which has been to provide a extensible widget and notification center. This documentation, like the panel API, is currently provided via gtk-doc and browsable via devhelp. In the future, it will be available directly from our documentation center with reference examples.
These widgets will automatically show up in Budgie Desktop Settings. As a result of this re-architecture around Raven and leveraging past work on the panel widget plugin API, Raven widgets can now be positioned to your heart's content and you can even remove the ones you don't want (as opposed to just hiding them like our past implementation). All of the widgets that ship with Budgie Desktop leverage the same plugin architecture as third-party ones will.

#New and improved Raven widgets

Budgie 10.7 includes updates to some of our existing Raven widgets alongside a brand new one!

#Other Changes

Here is a short list of some other changes to Raven:

#Power Dialog

Budgie 10.7 introduces a new Power Dialog for common actions such as shutdown, reboot, suspend, and more. This functionality replaces the actions exposed through the User Indicator applet, no longer requiring it to be added to the panel. The User Indicator will now invoke the Power Dialog and the new button in Budgie Menu will do the same! The Power Dialog is invokable through D-Bus, allowing third-party applet developers such as those making their own menu implementations to easily incorporate our power dialog options without much effort or requiring them to implement duplicate functionality. You can also invoke the power dialog with our handy (Win/Super)+Shift+P keybind. Hibernation is dynamically enabled / disabled based off system support and is offered as a compile-time option to disable on operating systems which do not provide hibernation support out-of-the-box, such as Fedora.

#Other Improvements and Bug Fixes

#Bug Fixes

#Other Improvements

IconTasklist icons will now be scaled to the target size of approximately 2/3 that of the size of the panel itself, up to an icon size of 54px, where it shifts to the panel size minus 18. This allows for icons to scale to much smaller and much larger sizes, while retaining desirable icon sizes for dock setups, and while maintaining the same icon size for the default panel size of 36px.

#Contributor List

Budgie Desktop is developed by Buddies of Budgie, with contributors around the world. Here is a list of all the contributors that made this release possible:
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.