Budgie

From ArchWiki

Budgie is a desktop environment, formerly a project within Solus, becoming independent under the newly formed Buddies of Budgie organization in January 2022. It uses GTK for widgets, and is written in C and Vala. As of Budgie 10, the only available session is on Xorg.

Installation

Install the budgie package group to install all first-party components of the desktop. Individual packages can also be installed - use the budgie-desktop package for the latest stable or budgie-desktop-gitAUR for current git main. Installed alongside as runtime dependencies are budgie-screensaver for screen locking support, and budgie-control-center for modification of system settings. The following packages are optional, but add additional functionality to the desktop:

Extra applets developed by the Ubuntu Budgie team are available in the budgie-extras package - be warned, however, that this package also modifies existing functionality and could cause issues.

Configuring user directories

Follow the XDG user directories instructions to create the "well known" user directories like Desktop, Downloads, etc. Logout and log back in for the Budgie menu to detect changes to the configuration.

File manager

Budgie does not come with a file manager, and one is not installed by default. GNOME/Files (previously Nautilus) works well, and others are available.

Starting

Choose Budgie Desktop session from a display manager of choice, or modify xinitrc to include Budgie Desktop:

~/.xinitrc
export XDG_CURRENT_DESKTOP=Budgie:GNOME
exec budgie-desktop

Usage

You can see your notification backlog, set the system and application volume, view a calendar, and see any currently playing videos or music with the "Raven" sidebar. The "Notifications" section can be accessed quickly with Super+n or by clicking on the Notifications applet in the panel, and the "Applets" section can be accessed quickly with Super+a. Raven can also be opened by clicking on the "Raven Trigger" applet in the panel, and will be opened to the previously selected pane.

Theming

Budgie uses GTK for its UI elements, and is thus supported by many GTK themes. Budgie also ships a built-in theme that is only applied to its own elements, such as panels and Raven, which can be toggled in Budgie Desktop Settings. Icon themes and cursor themes can be set in Budgie Desktop Settings as well.

Customizing themes

Customizing GTK themes requires to build them from source. Each theme will have documentation on how to do so. For example, the Materia theme code can be found in their repository.

Forking Materia

Materia comes with hacking and installation instructions. If the theme is already installed from the materia-gtk-theme package, it is recommended to rename the forked version just in case an edit breaks the UI:

meson_options.txt
option(
  'theme_name',
  type: 'string',
  value: 'Materia-fork',
  description: 'Base theme name',
)
Making UI changes

The theme is written with Sass. For example, to make all windows have a square border (instead of rounded), change the $corner-radius variable:

src/_theme.scss
$corner-radius: 0px;
Building and installing

The Sass compiler and the Meson builder are required. Both can be installed from dart-sass and meson packages. The theme can be built and installed with:

meson _build
meson install -C _build

Once installed, the theme can be activated from Budge Desktop Settings.

Configuration

Configuration of Budgie Desktop is done through the built-in Budgie Desktop Settings application, and changes to system settings are made through budgie-control-center.

Changing button layout

Window button layout can be changed using dconf, dconf-editor or gsettings.

For example:

$ gsettings set com.solus-project.budgie-wm button-layout 'close,minimize,maximize:appmenu'
$ gsettings set com.solus-project.budgie-helper.workarounds fix-button-layout 'close,minimize,maximize:menu'

Use a different window manager

Budgie does not support using a different window manager.

See also