- Notifications
You must be signed in to change notification settings - Fork49
A full desktop environment for Linux/Unix using Fyne
License
FyshOS/fynedesk
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
FyneDesk is an easy to use Linux/Unix desktop environment following material design.It is built using theFyne toolkit and is designed to beeasy to use as well as easy to develop. We use the Go language and welcomeany contributions or feedback for the project.
Compiling requires the same dependencies as Fyne. See theGetting Started documentation for installation steps.
For a full desktop experience you will also need the following external tools installed:
arandr
for modifying display settingsxbacklight
orbrightnessctl
for laptop brightnessconnman-gtk
is currently used for configuring Wi-Fi network settingscompton
for compositor support
The desktop does work without the runtime dependencies but the experience will be degraded.
Using standard Go tools you can install FyneDesk using:
go get fyshos.com/fynedesk/cmd/fynedesk
This will addfynedesk
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 desktop you can run the following commands to set upfynedesk as a selectable desktop option in your login manager (such as LightDM for example):
git clone https://github.com/fyshos/fynedeskcd fynedeskmakesudo 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 theXephyr
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 onan operating system that does not support window managers (Windows ormacOS) then the app will start in UI test mode.When loaded in this way you can run all of the features except thecontrolling 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 into unexpected issues.For that reason, we have included afynedesk_runner
utility that can helpmanage unexpected events. If you start the desktop using the runner, thenif a crash occurs, it will normally recover where it left off with no lossof data in your applications.
Using standard Go tools you can install the runner using:
go get fyshos.com/fynedesk/cmd/fynedesk_runner
From then on execute that instead of thefynedesk
command for a moreresilient desktop when testing out pre-release builds.
Design concepts, and the abstract wallpapers have been contributed byJost Grant.
If you are installing FyneDesk by default on a distribution, or making it available as a standard option, you should consider the following points.You do not need to ship the library or any dependencies, but it is recommended to add the following apps as well:
app | go get | description |
---|---|---|
fin | github.com/fyshos/fin | A display manager app that matches the look and feel of FyneDesk |
Please do let us know if you package FyneDesk for your system, so we can include a link from here :).
About
A full desktop environment for Linux/Unix using Fyne