Skip to content

Commit 7bc2c75

Browse files
committed
Merge branch 'develop'
2 parents c4b4c54 + 5ccc965 commit 7bc2c75

File tree

125 files changed

+5195
-1110
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

125 files changed

+5195
-1110
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,3 @@ Fixes #(issue)
2020

2121
- [ ] Public APIs match existing style.
2222
- [ ] Any breaking changes have a deprecation path or have been discussed.
23-
- [ ] Updated the vendor folder (using `go mod vendor`).
Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,27 @@
11
name: Platform Tests
22
on: [push, pull_request]
3+
permissions:
4+
contents: read
35

46
jobs:
57
platform_tests:
68
runs-on: ${{ matrix.os }}
79
strategy:
810
fail-fast: false
911
matrix:
10-
go-version: ['1.17', '1.20']
12+
go-version: ['1.19', '1.21']
1113
os: [ubuntu-latest, macos-latest]
1214

1315
steps:
14-
- uses: actions/checkout@v2
15-
- uses: WillAbides/setup-go-faster@v1.6.0
16+
- uses: actions/checkout@v4
17+
with:
18+
persist-credentials: false
19+
- uses: WillAbides/setup-go-faster@v1.13.0
1620
with:
1721
go-version: ${{ matrix.go-version }}
1822

1923
- name: Get dependencies
20-
run: sudo apt-get update && sudo apt-get install gcc libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libx11-dev xorg-dev
24+
run: sudo apt-get update && sudo apt-get install gcc libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libx11-dev xorg-dev bc
2125
if: ${{ runner.os == 'Linux' }}
2226

2327
- name: Tests
@@ -30,11 +34,11 @@ jobs:
3034
set -e
3135
go test -tags ci -covermode=atomic -coverprofile=coverage.out ./...
3236
coverage=`go tool cover -func coverage.out | grep total | tr -s '\t' | cut -f 3 | grep -o '[^%]*'`
33-
if [ $coverage -lt 26 ]; then echo "Test coverage lowered"; exit 1; fi
37+
if (( $(echo "$coverage < 26" | bc) )); then echo "Test coverage lowered"; exit 1; fi
3438
if: ${{ runner.os == 'Linux' }}
3539

3640
- name: Update PR Coverage
3741
uses: shogo82148/actions-goveralls@v1
3842
with:
3943
path-to-profile: coverage.out
40-
if: ${{ runner.os == 'Linux' && github.event_name == 'push' }}
44+
if: ${{ runner.os == 'Linux' && matrix.go-version == '1.19' }}

.github/workflows/static_analysis.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
name: Static Analysis
22
on: [push, pull_request]
3+
permissions:
4+
contents: read
35

46
jobs:
57
checks:
68
runs-on: ubuntu-latest
79
steps:
810
- uses: actions/checkout@v4
11+
with:
12+
persist-credentials: false
913
- uses: WillAbides/setup-go-faster@v1.13.0
1014
with:
11-
go-version: '1.19'
15+
go-version: '1.21.x'
1216

1317
- name: Get dependencies
1418
run: |

AUTHORS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Andy Williams <andy@andy.xyz>
22
Stephen Houston <smhouston88@gmail.com>
3-
Jacob Alzén <>
3+
Jacob Alzén <jacalz@tutanota.com>
4+
Tai Groot <tai@taigrr.com>

CHANGELOG.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,32 @@
11
# Changelog
22

33
This file lists the main changes with each version of the FyneDesk project.
4-
More detailed release notes can be found on the [releases page](https://github.com/fyne-io/desktop/releases).
4+
More detailed release notes can be found on the [releases page](https://github.com/fyshos/fynedesk/releases).
5+
6+
## 0.4 - 2 March 2024
7+
8+
### Added
9+
10+
* Virtual desktops and pager widget
11+
* Add support for permissions requests in apps
12+
* Add systray module
13+
* Support launching xscreenaver for screen lock
14+
* Include a "Quake mode" terminal module using <meta>+` key
15+
16+
### Changed
17+
18+
* New "thin bars" layout of desktop by default
19+
* Show a dialog to confirm before logging out
20+
* Move to abstract light/dark backgrounds from Jost Grant
21+
* Update to Fyne 2.4 theme with rounded corners
22+
* Add app search to app bar
23+
* Dim iconified windows in switcher
24+
25+
### Fixed
26+
27+
* Performance improvements in border painting
28+
* Date widget could move behind clock in some configurations
29+
530

631
## 0.3 - 17 December 2021
732

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@ uninstall:
2020
-rm $(DESTDIR)$(PREFIX)/share/xsessions/fynedesk.desktop
2121

2222
embed:
23-
DISPLAY=:0 Xephyr :1 -screen 1280x720 &
24-
DISPLAY=:1 go run ./cmd/fynedesk
23+
Xephyr :5 -screen 1280x720 &
24+
DISPLAY=:5 go run ./cmd/fynedesk

README.md

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<p align="center">
2-
<a href="https://godoc.org/fyne.io/fynedesk" title="GoDoc Reference" rel="nofollow"><img src="https://img.shields.io/badge/go-documentation-blue.svg?style=flat" alt="GoDoc Reference"></a>
2+
<a href="https://godoc.org/fyshos.com/fynedesk" title="GoDoc Reference" rel="nofollow"><img src="https://img.shields.io/badge/go-documentation-blue.svg?style=flat" alt="GoDoc Reference"></a>
33
<a href="https://github.com/fyshos/fynedesk/releases/tag/v0.4.0" title="0.4.0 Release" rel="nofollow"><img src="https://img.shields.io/badge/version-0.4.0-blue.svg?style=flat" alt="0.4.0 release"></a>
44
<a href='http://gophers.slack.com/messages/fynedesk'><img src='https://img.shields.io/badge/join-us%20on%20slack-gray.svg?longCache=true&logo=slack&colorB=blue' alt='Join us on Slack' /></a>
55

66
<br />
7-
<a href="https://goreportcard.com/report/fyne.io/fynedesk"><img src="https://goreportcard.com/badge/fyne.io/fynedesk" alt="Code Status" /></a>
7+
<a href="https://goreportcard.com/report/fyshos.com/fynedesk"><img src="https://goreportcard.com/badge/fyshos.com/fynedesk" alt="Code Status" /></a>
88
<a href="https://github.com/fyshos/fynedesk/actions"><img src="https://github.com/fyshos/fynedesk/workflows/Platform%20Tests/badge.svg" alt="Build Status" /></a>
99
<a href='https://coveralls.io/github/fyshos/fynedesk?branch=develop'><img src='https://coveralls.io/repos/github/fyshos/fynedesk/badge.svg?branch=develop' alt='Coverage Status' /></a>
1010
</p>
1111

12-
# About
12+
# About FyneDesk
1313

1414
FyneDesk is an easy to use Linux/Unix desktop environment following material design.
1515
It is built using the [Fyne](https://fyne.io) toolkit and is designed to be
@@ -18,28 +18,35 @@ any contributions or feedback for the project.
1818

1919
[![FyneDesk v0.4](https://img.youtube.com/vi/82Wu5k0xZOI/0.jpg)](https://www.youtube.com/watch?v=82Wu5k0xZOI)
2020

21-
# Dependencies
21+
## Dependencies
22+
23+
### Compiling
24+
25+
Compiling requires the same dependencies as Fyne. See the [Getting Started](https://developer.fyne.io/started/) documentation for installation steps.
26+
27+
### Running
2228

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

25-
- `arandr`
31+
- `arandr` for modifying display settings
2632
- `xbacklight` or `brightnessctl` for laptop brightness
2733
- `connman-gtk` is currently used for configuring Wi-Fi network settings
34+
- `compton` for compositor support
2835

29-
Compositor support currently requires `compton` to be installed.
36+
The desktop does work without the runtime dependencies but the experience will be degraded.
3037

31-
# Getting Started
38+
## Getting Started
3239

3340
Using standard Go tools you can install FyneDesk using:
3441
```
35-
go get fyne.io/fynedesk/cmd/fynedesk
42+
go get fyshos.com/fynedesk/cmd/fynedesk
3643
```
3744

3845
This will add `fynedesk` to your $GOPATH (usually ~/go/bin).
3946
You can now run the app in "preview" mode like any other Fyne app.
4047
Doing so is not running a window manager, to do so requires another few steps:
4148

42-
## Setting up as a desktop environment
49+
### Setting up as a desktop environment
4350

4451
To use this as your main desktop you can run the following commands to set up
4552
fynedesk as a selectable desktop option in your login manager (such as LightDM for example):
@@ -53,7 +60,7 @@ sudo make install
5360

5461
You can now log out and see that it is in your desktop selection list at login.
5562

56-
## Debugging a window manager
63+
### Debugging a window manager
5764

5865
You can also run the window manager components in an embedded X window for testing.
5966
You will need the `Xephyr` tool installed for your platform (often installed as part of Xorg).
@@ -73,7 +80,7 @@ macOS) then the app will start in UI test mode.
7380
When loaded in this way you can run all of the features except the
7481
controlling of windows - they will load on your main desktop.
7582

76-
# Runner
83+
## Runner
7784

7885
A desktop needs to be rock solid, and whilst we are working hard to get there,
7986
any alpha or beta software can run into unexpected issues.
@@ -84,12 +91,16 @@ of data in your applications.
8491

8592
Using standard Go tools you can install the runner using:
8693

87-
go get fyne.io/fynedesk/cmd/fynedesk_runner
94+
go get fyshos.com/fynedesk/cmd/fynedesk_runner
8895

8996
From then on execute that instead of the `fynedesk` command for a more
9097
resilient desktop when testing out pre-release builds.
9198

92-
# Shipping FyneDesk
99+
## Design
100+
101+
Design concepts, and the abstract wallpapers have been contributed by [Jost Grant](https://github.com/jostgrant).
102+
103+
## Shipping FyneDesk
93104

94105
If you are installing FyneDesk by default on a distribution, or making it available as a standard option, you should consider the following points.
95106
You do not need to ship the library or any dependencies, but it is recommended to add the following apps as well:

cmd/fynedesk/main.go

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
package main
22

33
import (
4-
"fyne.io/fyne/v2/app"
5-
"fyne.io/fyne/v2/theme"
4+
wmtheme "fyshos.com/fynedesk/theme"
5+
6+
_ "fyshos.com/fynedesk/modules/composit"
7+
_ "fyshos.com/fynedesk/modules/desktops"
8+
_ "fyshos.com/fynedesk/modules/launcher"
9+
_ "fyshos.com/fynedesk/modules/quaketerm"
10+
_ "fyshos.com/fynedesk/modules/status"
11+
_ "fyshos.com/fynedesk/modules/systray"
612

7-
_ "fyne.io/fynedesk/modules/composit"
8-
_ "fyne.io/fynedesk/modules/launcher"
9-
_ "fyne.io/fynedesk/modules/status"
13+
"fyne.io/fyne/v2/app"
1014
)
1115

1216
func main() {
13-
a := app.NewWithID("io.fyne.fynedesk")
14-
a.SetIcon(theme.FyneLogo())
17+
a := app.NewWithID("com.fyshos.fynedesk")
18+
a.SetIcon(wmtheme.AppIcon)
1519
desk := setupDesktop(a)
1620

1721
desk.Run()

cmd/fynedesk/main_darwin.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import (
66

77
"fyne.io/fyne/v2"
88

9-
"fyne.io/fynedesk"
10-
"fyne.io/fynedesk/internal/icon"
11-
"fyne.io/fynedesk/internal/ui"
9+
"fyshos.com/fynedesk"
10+
"fyshos.com/fynedesk/internal/icon"
11+
"fyshos.com/fynedesk/internal/ui"
1212
)
1313

1414
func setupDesktop(a fyne.App) fynedesk.Desktop {

cmd/fynedesk/main_other.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ import (
88
"runtime"
99

1010
"fyne.io/fyne/v2"
11-
"fyne.io/fynedesk"
11+
"fyshos.com/fynedesk"
1212

13-
"fyne.io/fynedesk"
14-
"fyne.io/fynedesk/internal"
15-
"fyne.io/fynedesk/internal/ui"
13+
"fyshos.com/fynedesk"
14+
"fyshos.com/fynedesk/internal"
15+
"fyshos.com/fynedesk/internal/ui"
1616
)
1717

1818
func setupDesktop(a fyne.App) fynedesk.Desktop {

0 commit comments

Comments
 (0)