FyneDesk is an easy to use Linux/Unix desktop environment following material design. It is build using the Fyne toolkit and is designed to be easy to use as well as easy to develop. We use the Go language and welcome any contributions or feedback for the project.
For a full desktop experience you will also need the following external tools installed:
- xbacklight
- arandr
Using standard go tools you can install FyneDesk using:
go get fyne.io/fynedesk/cmd/fynedesk
This will add fynedesk
to your $GOPATH (usually ~/go/bin).
You can now run the app in "preview" mode like any other Fyne app.
Doing so is not running a window manager, to do so requires another few steps.
To use this as your main destktop you can run the following commands to set up fynedesk as a selectable desktop option in your login manager (such as LightDM for example).
go get https://github.com/fyne-io/fynedesk
cd fynedesk
make
sudo make install
You can now log out and see that it is in your desktop selection list at login.
You can also run the window manager components in an embedded X window for testing.
You will need the Xephyr
tool installed for your platform (often installed as part of Xorg).
Once it is present you can use the following command from the same directory as above:
make embed
It should look like this:
If you run the command when there is a window manager running, or on an operating system that does not support window managers (Windows or macOS) then the app will start in UI test mode. When loaded in this way you can run all of the features except the controlling of windows - they will load on your main desktop.
A desktop needs to be rock solid and, whilst we are working hard to get there,
any alpha or beta software can run in to unexpected issues.
For that reason we have included a fynedesk_runner
utility that can help
manage unexpected events. If you start the desktop using the runner then
if a crash occurs it will normally recover where it left off with no loss
of data in your applications.
Using standard go tools you can install the runner using:
go get fyne.io/fynedesk/cmd/fynedesk_runner
From then on execute that instead of the fynedesk
command for a more
resillient desktop when testing out pre-release builds.