{"id":13499806,"url":"https://github.com/FyshOS/fynedesk","last_synced_at":"2025-03-29T05:32:26.061Z","repository":{"id":37287026,"uuid":"139605736","full_name":"FyshOS/fynedesk","owner":"FyshOS","description":"A full desktop environment for Linux/Unix using Fyne","archived":false,"fork":false,"pushed_at":"2024-03-18T12:39:40.000Z","size":118159,"stargazers_count":936,"open_issues_count":36,"forks_count":42,"subscribers_count":26,"default_branch":"master","last_synced_at":"2024-05-21T04:13:21.406Z","etag":null,"topics":["desktop","desktop-environment","go","golang","gui","hacktoberfest"],"latest_commit_sha":null,"homepage":"https://fyne.io/fynedesk/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FyshOS.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["andydotxyz","okratitan"],"custom":["https://fossfi.sh/support-fyneio"]}},"created_at":"2018-07-03T15:47:01.000Z","updated_at":"2024-06-02T19:46:57.347Z","dependencies_parsed_at":"2024-02-02T11:29:37.512Z","dependency_job_id":"f7be9db5-b0d7-45d8-8401-02580cc4fe10","html_url":"https://github.com/FyshOS/fynedesk","commit_stats":{"total_commits":963,"total_committers":9,"mean_commits":107.0,"dds":"0.41017653167185875","last_synced_commit":"b6e12b57e7d4cd32303a7ec165a7451d33016636"},"previous_names":["fyne-io/fynedesk","fyne-io/desktop"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FyshOS%2Ffynedesk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FyshOS%2Ffynedesk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FyshOS%2Ffynedesk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FyshOS%2Ffynedesk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FyshOS","download_url":"https://codeload.github.com/FyshOS/fynedesk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245850341,"owners_count":20682646,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop","desktop-environment","go","golang","gui","hacktoberfest"],"created_at":"2024-07-31T22:00:43.115Z","updated_at":"2025-03-29T05:32:24.482Z","avatar_url":"https://github.com/FyshOS.png","language":"Go","funding_links":["https://github.com/sponsors/andydotxyz","https://github.com/sponsors/okratitan","https://fossfi.sh/support-fyneio"],"categories":["Go"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://godoc.org/fyshos.com/fynedesk\" title=\"GoDoc Reference\" rel=\"nofollow\"\u003e\u003cimg src=\"https://img.shields.io/badge/go-documentation-blue.svg?style=flat\" alt=\"GoDoc Reference\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/fyshos/fynedesk/releases/tag/v0.4.0\" title=\"0.4.0 Release\" rel=\"nofollow\"\u003e\u003cimg src=\"https://img.shields.io/badge/version-0.4.0-blue.svg?style=flat\" alt=\"0.4.0 release\"\u003e\u003c/a\u003e\n  \u003ca href='http://gophers.slack.com/messages/fynedesk'\u003e\u003cimg src='https://img.shields.io/badge/join-us%20on%20slack-gray.svg?longCache=true\u0026logo=slack\u0026colorB=blue' alt='Join us on Slack' /\u003e\u003c/a\u003e\n\n  \u003cbr /\u003e\n  \u003ca href=\"https://goreportcard.com/report/fyshos.com/fynedesk\"\u003e\u003cimg src=\"https://goreportcard.com/badge/fyshos.com/fynedesk\" alt=\"Code Status\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/fyshos/fynedesk/actions\"\u003e\u003cimg src=\"https://github.com/fyshos/fynedesk/workflows/Platform%20Tests/badge.svg\" alt=\"Build Status\" /\u003e\u003c/a\u003e\n  \u003ca href='https://coveralls.io/github/fyshos/fynedesk?branch=develop'\u003e\u003cimg src='https://coveralls.io/repos/github/fyshos/fynedesk/badge.svg?branch=develop' alt='Coverage Status' /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# About FyneDesk\n\nFyneDesk is an easy to use Linux/Unix desktop environment following material design.\nIt is built using the [Fyne](https://fyne.io) toolkit and is designed to be\neasy to use as well as easy to develop. We use the Go language and welcome\nany contributions or feedback for the project.\n\n[![FyneDesk v0.4](https://img.youtube.com/vi/82Wu5k0xZOI/0.jpg)](https://www.youtube.com/watch?v=82Wu5k0xZOI)\n\n## Dependencies\n\n### Compiling\n\nCompiling requires the same dependencies as Fyne. See the [Getting Started](https://developer.fyne.io/started/) documentation for installation steps.\n\n### Running\n\nFor a full desktop experience you will also need the following external tools installed:\n\n- `arandr` for modifying display settings\n- `xbacklight` or `brightnessctl` for laptop brightness\n- `connman-gtk` is currently used for configuring Wi-Fi network settings\n- `compton` for compositor support\n\nThe desktop does work without the runtime dependencies but the experience will be degraded.\n\n## Getting Started\n\nUsing standard Go tools you can install FyneDesk using:\n```\ngo get fyshos.com/fynedesk/cmd/fynedesk\n```\n\nThis will add `fynedesk` to your $GOPATH (usually ~/go/bin).\nYou can now run the app in \"preview\" mode like any other Fyne app.\nDoing so is not running a window manager, to do so requires another few steps:\n\n### Setting up as a desktop environment\n\nTo use this as your main desktop you can run the following commands to set up\nfynedesk as a selectable desktop option in your login manager (such as LightDM for example):\n\n```\ngit clone https://github.com/fyshos/fynedesk\ncd fynedesk\nmake\nsudo make install\n```\n\nYou can now log out and see that it is in your desktop selection list at login.\n\n### Debugging a window manager\n\nYou can also run the window manager components in an embedded X window for testing.\nYou will need the `Xephyr` tool installed for your platform (often installed as part of Xorg).\nOnce it is present you can use the following command from the same directory as above:\n\n    make embed\n\nIt should look like this:\n\n\u003cp align=\"center\" markdown=\"1\"\u003e\n  \u003cimg src=\"desktop-dark-current.png\" alt=\"Fyne Desktop - Dark\" /\u003e\n\u003c/p\u003e\n\nIf you run the command when there is a window manager running, or on\nan operating system that does not support window managers (Windows or\nmacOS) then the app will start in UI test mode.\nWhen loaded in this way you can run all of the features except the\ncontrolling of windows - they will load on your main desktop.\n\n## Runner\n\nA desktop needs to be rock solid, and whilst we are working hard to get there,\nany alpha or beta software can run into unexpected issues. \nFor that reason, we have included a `fynedesk_runner` utility that can help\nmanage unexpected events. If you start the desktop using the runner, then\nif a crash occurs, it will normally recover where it left off with no loss\nof data in your applications.\n\nUsing standard Go tools you can install the runner using:\n\n    go get fyshos.com/fynedesk/cmd/fynedesk_runner\n\nFrom then on execute that instead of the `fynedesk` command for a more \nresilient desktop when testing out pre-release builds.\n\n## Design\n\nDesign concepts, and the abstract wallpapers have been contributed by [Jost Grant](https://github.com/jostgrant).\n\n## Shipping FyneDesk\n\nIf you are installing FyneDesk by default on a distribution, or making it available as a standard option, you should consider the following points.\nYou do not need to ship the library or any dependencies, but it is recommended to add the following apps as well:\n\n| app | go get | description |\n| --- | ------ | ----------- |\n| fin | `github.com/fyshos/fin` | A display manager app that matches the look and feel of FyneDesk |\n\nPlease do let us know if you package FyneDesk for your system, so we can include a link from here :).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFyshOS%2Ffynedesk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFyshOS%2Ffynedesk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFyshOS%2Ffynedesk/lists"}