https://github.com/FyshOS/fynedesk Skip to content Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} FyshOS / fynedesk Public * * Notifications * Fork 37 * Star 772 * A full desktop environment for Linux/Unix using Fyne fyne.io/fynedesk/ License View license 772 stars 37 forks Branches Tags Activity Star Notifications * Code * Issues 33 * Pull requests 1 * Discussions * Actions * Projects 0 * Wiki * Security * Insights Additional navigation options * Code * Issues * Pull requests * Discussions * Actions * Projects * Wiki * Security * Insights FyshOS/fynedesk This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master BranchesTags Go to file Code Folders and files Last Last Name Name commit commit message date Latest commit History 1,281 Commits .github .github cmd cmd internal internal modules modules test test theme theme wm wm .gitignore .gitignore AUTHORS AUTHORS CHANGELOG.md CHANGELOG.md LICENSE LICENSE Makefile Makefile README.md README.md desk.go desk.go desktop-dark-current.png desktop-dark-current.png desktop-light-current.png desktop-light-current.png fynedesk.desktop fynedesk.desktop go.mod go.mod go.sum go.sum icons.go icons.go keys.go keys.go module.go module.go screen.go screen.go settings.go settings.go window.go window.go wm.go wm.go View all files Repository files navigation * README * License GoDoc Reference 0.4.0 release Join us on Slack Code Status Build Status Coverage Status About FyneDesk 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. FyneDesk v0.4 Dependencies Compiling Compiling requires the same dependencies as Fyne. See the Getting Started documentation for installation steps. Running For a full desktop experience you will also need the following external tools installed: * arandr for modifying display settings * xbacklight or brightnessctl for laptop brightness * connman-gtk is currently used for configuring Wi-Fi network settings * compton for compositor support The desktop does work without the runtime dependencies but the experience will be degraded. Getting Started Using standard Go tools you can install FyneDesk using: go get fyshos.com/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/fyshos/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 fyshos.com/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. Design Design concepts, and the abstract wallpapers have been contributed by Jost Grant. 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/ A display manager app that matches the look and fyshos/fin 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 fyne.io/fynedesk/ Topics go golang gui desktop desktop-environment hacktoberfest Resources Readme License View license Activity Custom properties Stars 772 stars Watchers 24 watching Forks 37 forks Report repository Releases 7 Virtual desktops and a new screen layout highlight 0.4 release Latest Mar 2, 2024 + 6 releases Sponsor this project * * * https://fossfi.sh/support-fyneio Learn more about GitHub Sponsors Packages 0 No packages published Contributors 8 * * * * * * * * Languages * Go 99.8% * Makefile 0.2% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.