https://github.com/solus-project/budgie-rd
R&D repository for Budgie 11 bits
https://github.com/solus-project/budgie-rd
budgie-desktop pre-alpha research-and-development
Last synced: 3 months ago
JSON representation
R&D repository for Budgie 11 bits
- Host: GitHub
- URL: https://github.com/solus-project/budgie-rd
- Owner: solus-project
- Created: 2017-08-26T14:48:27.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-10-18T18:04:26.000Z (over 7 years ago)
- Last Synced: 2025-04-24T03:33:49.562Z (about 1 year ago)
- Topics: budgie-desktop, pre-alpha, research-and-development
- Language: C++
- Homepage: https://budgie-desktop.org
- Size: 783 KB
- Stars: 68
- Watchers: 28
- Forks: 9
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE.LGPL2.1
Awesome Lists containing this project
README
budgie-rd
---------
[](https://opensource.org/licenses/LGPL-2.1)
Research & Development repository for Budgie 11. Budgie 11 will be [based on Qt](https://budgie-desktop.org/2017/01/25/kicking-off-budgie-11/) 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
Here Be Derghuns
-----------------

Plan (rough)
- Create `budgie-rd-session` component. This will load XDG autostart entries and
any `desktop` session components from `/usr/share/budgie-session/desktop/*.desktop`
We'll scope to allow multiple session _types_.
- Have the session launch `kwin_x11` and `budgie-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
Building
--------
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
Testing
-------
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
Using KWin
----------
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 &
License
-------
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.
Authors
=======
Copyright © 2017-2018 Budgie Desktop Developers
Budgie Desktop is primarily authored by the [Solus](https://solus-project.com) 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.