• Stars
    star
    101
  • Rank 338,166 (Top 7 %)
  • Language
    C
  • License
    GNU General Publi...
  • Created about 6 years ago
  • Updated over 1 year ago

Reviews

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

Repository Details

A pure Wayland shell for GNOME on mobile devices. Mirror of https://gitlab.gnome.org/World/Phosh/phosh

Phosh

a pure wayland shell for mobile devices like Purism's Librem 5.

License

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

Getting the source

git clone https://gitlab.gnome.org/World/Phosh/phosh
cd phosh
git submodule update --init --recursive

The main branch has the current development version.

Dependencies

On a Debian based system run

sudo apt-get -y install build-essential
sudo apt-get -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:

meson setup _build
meson compile -C _build

Testing

To run the tests run

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:

_build/run

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

../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

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. If you want run without a display manager but nevertheless start phosh at system boot there's a systemd unit file in /lib/systemd/system/phosh which is disabled by default:

systemctl enable phosh
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:

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

All of the above use the /usr/bin/phosh 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

Development Documentation

API documentation is at https://world.pages.gitlab.gnome.org/Phosh/phosh

More Repositories

1

git-buildpackage

Suite to help with Debian (and RPM) packages in Git repositories
Python
91
star
2

libhandy

Libhandy mirror for experiments
C
6
star
3

gst-plugins-bad

Fork of gstreamer plugins to inlude the crystalhd plugin
C
5
star
4

arcboot

Bootloader for SGI/MIPS IP22 and IP32 machines (Indy, Indigo2 and O2)
C
5
star
5

libplanfahr

GObject based library for public transport information
C
4
star
6

libcrystalhd

Userspace library split from Broadcom's crystalhd sources
C
4
star
7

dnssc

Get events from DLink DGS switches
Python
4
star
8

munin-dht

Munin plugin to monitor temperature and humidity using DHT11, DHT22 or AM2302 temperature sensors
Python
4
star
9

whatmaps

Automatically restart services after library updates
Python
3
star
10

nss-dontstalkme

Glibc NSS module to block webtrackers
C
3
star
11

livi

Minimalistic video player for mobile devices using GTK4, libadwaita and gstreamer
C
3
star
12

jabber-spam-blacklist

Blacklist to block XMPP / Jabber spammers (ejabberd formats)
Python
2
star
13

virt-manager-debian

virt-manager Debian packaging
Python
2
star
14

feedbackd

Mirror of https://source.puri.sm/Librem5/feedbackd
C
2
star
15

ansible-role-gbp

Ansible role to configure git-buildpackage with pbuilder/cowbuilder
2
star
16

virt-top-debian

virt-top debian packaging
OCaml
2
star
17

phoc

Read-only mirror of https://gitlab.gnome.org/World/Phosh/phoc
C
2
star
18

debian-lts-tools

Some tools to ease Debian lts development
Makefile
1
star
19

gtk-vnc-debian

GTK-VNC Debian packaging
C
1
star
20

wlroots-debian

wlroots debian packaging
C
1
star
21

emacs-tools

Emacs stuff that doesn't fit anywhere else
Emacs Lisp
1
star
22

cups-pk-helper-debian

Cups-pk-helper debian packaging
C
1
star
23

cl2vcs

debian/changelog to vcs translator
Python
1
star
24

virt-viewer-debian

Virt-viewer Debian packaging
C
1
star
25

debautoff-projects

Debian autoff projects
Groovy
1
star
26

ansible-module-libvirt-lxc

Ansible module for libvirt-lxc managed containers
Python
1
star
27

icedove

Non official icedove packaging hacks
1
star
28

libvirt-debian

Libvirt Debian packaging
C
1
star
29

ansible-helpers

Some ansible helper scripts
Python
1
star
30

ansible_foreman_module

Create hosts in the Foreman via ansible
Python
1
star
31

debautoff

Auto fast forward Debian packages to new upstream versions using git-buildpackage
Makefile
1
star
32

simplec

Provide IPs of libvirt based VMs via DNS
Erlang
1
star
33

merkur-board-helpers

Helpers to setup, flash and run merkur-boards
Makefile
1
star
34

crystalhd

broadcom crystalhd development repository
C
1
star
35

munin-libvirt-plugins

Munin libvirt plugins
Python
1
star
36

virt-what-debian

Virt-what debian packaging
Shell
1
star
37

foreman_image_upload

Foreman plugin to upload vm images
Ruby
1
star
38

ldapsp

Foreman Realm smart proxy for creating LDAP entries
Erlang
1
star