Research & Development repository for Budgie 11. Budgie 11 will be based on Qt and this repository will help us to flesh out some concepts and architectural requirements for the upcoming desktop work.
But yeah this will basically evolve into Budgie 11. Jump in. :P
Plan (rough)
- Create
budgie-rd-session
component. This will load XDG autostart entries and anydesktop
session components from/usr/share/budgie-session/desktop/*.desktop
We'll scope to allow multiple session types. - Have the session launch
kwin_x11
andbudgie-rd-shell
- Make
budgie-rd-shell
capable of launching a terminal and exiting the session - Factor reusable bits into libs (xdg, session comms, etc.)
- Flesh out RD Shell with primitives (plugin building) and open the floor to rapid expansion. :P
- Add our QPA plugins to provide consistent experience across the shell and all Qt applications.
- Extend GTK to use our own stylised dialogs to match those of our QPA dialogs.
Core notions:
- While Budgie Desktop is.. well, a desktop, it shouldn't scope limit itself to executing a pure-breed desktop session. The Budgie Shell should provide a data and service driven execution environment, exposing data and objects to any shell UX implementation.
- In effect, this will allow us to support multiple Budgie modes, such as for OEM installers, first run, tutorial, "big screen", etc.
- Basic widget providers (such as OSD and notification windows) should be reusable to help build these extra session types.
IRC: #budgie-desktop-dev on irc.freenode.net
Check the root meson.build
for build dependencies. The pkg-config
names are:
- Qt5Widgets
- Qt5Quick
- Qt5QuickControls2
Additionally you will need development headers for KWindowSystem
, as well as
the meson
and ninja
build tools.
To install these on Solus:
sudo eopkg up
sudo eopkg it -c system.devel qt5-base-devel qt5-declarative-devel qt5-quickcontrols2-devel kwindowsystem-devel
Now, let's configure the project (set libdir to appropriate libdir for your distro):
meson build --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64
ninja -j$(($(getconf _NPROCESSORS_ONLN)+1)) -C build
For now, just run from git as we're not currently installing. This may change in the near future, but we'll update the README to reflect this
./build/src/desktop/shell/budgie-rd-shell
Currently we're testing integration with KWin. Note that this will break integration
in your existing Budgie desktop install (Or other non-KWin desktops). We're testing
various effects (such as blur behind) and considering it for the Wayland angle,
given the use of the KWindowSystem
KF5 module.
To temporarily switch to Kwin:
kwin_x11 --replace --no-kactivities &
If you're using bash, prepend the command with nohup
, if you're using zsh,
suffix it with an extra bang (!
) to ensure that when you close the terminal with CTRL+D
the kwin_x11
process isn't aborted.
To restore budgie-wm
, use the above hints but with this command:
budgie-wm --replace &
budgie-rd is available under the terms of the LGPL-2.1 license. This will be changed in future to a split GPL-2.0/LGPL-2.1 model to match Budgie Desktop.
Copyright © 2017-2018 Budgie Desktop Developers
Budgie Desktop is primarily authored by the Solus project which oversees the development and leadership of the Budgie Desktop to ensure the delivery of a distribution agnostic and open source Desktop Environment for everyone to enjoy and contribute to.