File: README.md

package info (click to toggle)
phosh 0.52.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 9,732 kB
  • sloc: ansic: 82,495; xml: 3,912; python: 717; sh: 456; makefile: 34; lisp: 22; javascript: 6
file content (130 lines) | stat: -rw-r--r-- 3,252 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Phosh

A pure Wayland shell for mobile devices like smart phones or small
tablets which

* use touch input
* are running battery powered most of the time
* have limited screen space
* have a limited number of buttons
* might be docked to a keyboard, screen and other input devices

Typical devices are the Librem 5 and PinePhone or devices formerly
running proprietary operating systems like the OnePlus 6/6T.

The companion Wayland compositor is [phoc][].

## License

phosh is licensed under the GPL-3.0-or-later licence.

## Getting the source

```sh
git clone https://gitlab.gnome.org/World/Phosh/phosh
cd phosh
```

The [main][] branch has the current development version.

## Dependencies

On a Debian based system run

```sh
sudo apt -y install build-essential
sudo apt -y build-dep .
```

For an explicit list of dependencies check the `Build-Depends` entry in the
[debian/control][] file.

## Building

We use the meson (and thereby Ninja) build system for phosh.  The quickest
way to get going is to do the following:

```sh
meson setup _build
meson compile -C _build
```

## Testing

To run the tests run

```sh
xvfb-run meson test --no-suite screenshots -C _build
```

For details see the [.gitlab-ci.yml][] file.

## Running

### Running from the source tree

When running from the source tree start the compositor *[phoc][]*.
Then start *phosh* using:

```sh
_build/run
```

or (if you built *phoc* from source in *../phoc*) in one command:

```sh
../phoc/_build/run -C ./data/phoc.ini -E _build/run
```

This will make sure the needed gsettings schema is found. Note that there's no
need to install any files outside the source tree.

The result should look something like this:

![phosh](screenshots/phosh-overview.png)

### Running from the Debian packages

If you're running a display manager like GDM or LightDM you can select the
`Phosh` session from the display managers menu. For development purposes
you can use the provided systemd unit:

```sh
systemctl start phosh
```

This runs *phosh* as the user with user id 1000 (which needs to exist). If you
don't have that user and don't want to create one you can make systemd
run *phosh* as any user by using an override file:

```sh
cat <<EOF > /etc/systemd/system/phosh.service.d/override.conf
[Service]
User=<your_user>
EOF
```

All of the above use the `/usr/bin/phosh-session` script to start compositor
and shell under the hood so if you just want to start phosh from the system
console once invoke that script directly.

## Translations

This is handled via GNOMEs infra, see
<https://wiki.gnome.org/TranslationProject> and
<https://l10n.gnome.org/module/phosh/>.

## Getting in Touch

* Issue tracker: <https://gitlab.gnome.org/World/Phosh/phosh/issues>
* Matrix: <https://matrix.to/#/#phosh:phosh.mobi>

## Development Documentation

Development documentation including public API docs and notes for application
developers is at <https://world.pages.gitlab.gnome.org/Phosh/phosh>.

[main]: https://gitlab.gnome.org/World/Phosh/phosh/-/tree/main
[.gitlab-ci.yml]: https://gitlab.gnome.org/World/Phosh/phosh/-/blob/main/.gitlab-ci.yml
[debian/control]: https://gitlab.gnome.org/World/Phosh/phosh/-/blob/main/debian/control
[phoc]: https://gitlab.gnome.org/World/Phosh/phoc