• Stars
    star
    526
  • Rank 84,247 (Top 2 %)
  • Language
    Go
  • License
    Other
  • Created over 6 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A full desktop environment for Linux/Unix using Fyne

GoDoc Reference 0.3.0 release Join us on Slack
Code Status Build Status Coverage Status

About

FyneDesk is an easy to use Linux/Unix desktop environment following material design. It is built 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.

Dependencies

For a full desktop experience you will also need the following external tools installed:

  • arandr
  • xbacklight or brightnessctl for laptop brightness
  • connman-gtk is currently used for configuring Wi-Fi network settings

Compositor support currently requires compton to be installed.

Getting Started

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:

Setting up as a desktop environment

To use this as your main desktop you can run the following commands to set up fynedesk as a selectable desktop option in your login manager (such as LightDM for example):

git clone 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.

Debugging a window manager

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:

Fyne Desktop - Dark

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.

Runner

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 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 resilient desktop when testing out pre-release builds.

Shipping FyneDesk

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/fyne-io/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 :).

More Repositories

1

fyne

Cross platform GUI toolkit in Go inspired by Material Design
Go
24,550
star
2

examples

Examples apps using the Fyne toolkit
Go
596
star
3

terminal

A graphical terminal emulator for Linux using Fyne
Go
247
star
4

fyne-cross

Cross compiler tool for Fyne apps
Go
237
star
5

fyne-x

Community extensions to the cross platform GUI in Go based on Material Design
Go
233
star
6

defyne

The Fyne IDE
Go
181
star
7

calculator

Fyne Calculator application
Go
47
star
8

fyne-io.github.io

Fyne.io Website
SCSS
37
star
9

developer.fyne.io

Fyne developer documentation website
HTML
27
star
10

solitaire

Fyne solitaire application
Go
26
star
11

pixeledit

A image pixel editing app
Go
20
star
12

apps

Fyne App Browser
Go
18
star
13

apps.fyne.io

A central listing site for available Fyne applications
CSS
17
star
14

fin

A Fyne login manager for linux desktop computers
Go
16
star
15

7guis

Fyne implementation of 7GUIs: A GUI Programming Benchmark - https://eugenkiss.github.io/7guis/
Go
15
star
16

life

Fyne game of life simulation
Go
12
star
17

flatpak_demo

A demo of a Fyne application packaged as a Flatpak.
Go
10
star
18

docs.fyne.io

Documentation website
SCSS
10
star
19

gomobile-bridge

A bridge module for Fyne based mobile apps and libraries that rely on gomobile
Go
7
star
20

tools

Toolchain and helpful commands for building and managing Fyne apps
Go
6
star
21

image

Collection of image codecs useful in GUI apps
Go
5
star
22

setup

Helper tools for getting your development environment set up for Fyne
Go
5
star
23

tutorials

Source code for all of the YouTube / https://developer.fyne.io tutorials
Go
3
star
24

fyne-cross-images

Repository for managing fyne-cross images
Dockerfile
3
star
25

tour.fyne.io

A web based tour of the Fyne toolkit - replaced by developer.fyne.io/tour/
Go
3
star
26

proposals

Proposals that we are working on for future releases
3
star
27

demo.fyne.io

Fyne website to demo running inside a browser
JavaScript
2
star
28

conf.fyne.io

Website for Fyne Conference information
SCSS
1
star
29

cloud

Cloud providers and helpers for the Fyne toolkit
Go
1
star