1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-12-11 23:27:35 +00:00
Purism GNOME phone app
Find a file
Adrien Plazas f4f41d9db5 main-window: Make it a HdyApplicationWindow
This gives the window some nice rounded corners, and gives us more
freedom in how to implement the UI.

This purposefully leaves the indentation broken to ease code review, it
will be fixed in the next commit.
2021-07-16 08:43:43 +00:00
.gitlab/issue_templates gitlab-template: Add Librem 5 2020-12-22 08:04:19 +00:00
build-aux meson: Add postinstall script to compile schemas etc 2021-06-30 00:39:07 +02:00
data project: Use org.gnome prefix in app id and adapt to changes 2021-07-12 13:35:57 +00:00
debian debian: Change URL of homepage 2021-07-14 11:12:11 +02:00
doc DBus: Use org.gnome prefix and adapt to changes 2021-07-12 13:35:57 +00:00
plugins sip: provider: Keep provider alive while there are still origins 2021-06-26 08:56:18 +02:00
po Update Indonesian translation 2021-07-15 03:23:34 +00:00
src main-window: Make it a HdyApplicationWindow 2021-07-16 08:43:43 +00:00
tests meson: Passing -fPIE explicitly is discouraged 2021-06-22 04:37:11 +02:00
.dir-locals.el dir-locals: Treat G_* macros as including a semicolon 2021-06-11 17:20:48 +02:00
.gitignore Add .gitignore 2020-03-13 11:38:58 +01:00
.gitlab-ci.yml project: Use org.gnome prefix in app id and adapt to changes 2021-07-12 13:35:57 +00:00
calls.doap doap: Change URL of homepage 2021-07-14 11:12:11 +02:00
COPYING Add license COPYING file for appropriate packaging. 2020-03-25 21:10:53 +00:00
HACKING.md Introduce HACKING.md 2021-04-09 10:20:03 +02:00
meson.build project: Use org.gnome prefix in app id and adapt to changes 2021-07-12 13:35:57 +00:00
meson_options.txt meson: Remove wayland option 2021-07-13 04:21:53 +02:00
org.gnome.Calls.json flatpak: Bump libical to 3.0.10 2021-07-16 09:36:28 +02:00
README.md README: Reword plugin search directory section to be more accurate 2021-06-04 17:06:07 +00:00
run.in run: Allow passing arguments to calls when running under gdb 2021-06-18 16:50:11 +02:00

Calls

Code coverage

A phone dialer and call handler.

License

Calls is licensed under the GPLv3+.

Dependencies

To build Calls you need to first install the build-deps defined by the debian/control file

If you are running a Debian based distribution, you can easily install all those the dependencies making use of the following command

sudo apt-get build-dep .

Building

We use the meson and thereby Ninja. The quickest way to get going is to do the following:

meson . _build
ninja -C _build
ninja -C _build install

If you don't want to pollute your filesystem please be aware, that you can also use --prefix=~/install.

Build the documentation

If you want to build the documentation you have to configure the meson project with -Ggtk_doc=true

meson . _build -Dgtk_doc=true
ninja -C _build
ninja -C _build calls-doc

Running

Calls has a variety of backends. The default backend is "mm", which utilises ModemManager. To choose a different backend, use the -p command-line option. For example, to run with the dummy backend and some useful debugging output:

export G_MESSAGES_DEBUG=all
/usr/local/bin/gnome-calls -p dummy

If using ModemManager, Calls will wait for ModemManager to appear on D-Bus and then wait for usable modems to appear. The UI will be inactive and display a status message until a usable modem appears.

Running from the build directory

You can run calls without having to install it by executing the run script in the build folder, i.e. _build/run. This script will setup the needed environment and start Calls.

Call provider backends

Call provider backends are compiled as plugins and can be loaded and unloaded at runtime using the -p command line flag, followed by the plugin name.

Setting the CALLS_PLUGIN_DIR environment variable will include the specified directory in the plugin search path. F.e.

export CALLS_PLUGIN_DIR=_build/plugins/
/usr/local/bin/gnome-calls -p dummy

oFono

There is also an oFono backend, "ofono". This was the first backend developed but has been superceded by the ModemManager backend so it may suffer from a lack of attention.

The ofono backend depends on oFono Modem objects being present on D-Bus. To run oFono with useful output:

sudo OFONO_AT_DEBUG=1 ofonod -n -d

The test programs within the oFono source tree are useful to bring up a modem to a suitable state. For example:

cd $OFONO_SOURCE/test
./list-modems
./enable-modem /sim7100
./online-modem /sim7100

Then run Calls:

/usr/bin/gnome-calls -p ofono

Phonesim

One can also make use of the oFono modem simulator, phonesim (in the ofono-phonesim package in Debian):

ofono-phonesim -p 12345 -gui /usr/local/share/phonesim/default.xml

then, ensuring /etc/ofono/phonesim.conf has appropriate contents like:

[phonesim]
Address=127.0.0.1
Port=12345

run oFono as above, then:

cd $OFONO_SOURCE/test
./enable-modem /phonesim
./online-modem /phonesim

And again run Calls.