diff --git a/net-voip/gnome-calls/files/0001-call-display-use-PinePhone-s-device-for-ugly-hacks.patch b/net-voip/gnome-calls/files/0001-call-display-use-PinePhone-s-device-for-ugly-hacks.patch deleted file mode 100644 index fb4ef7d..0000000 --- a/net-voip/gnome-calls/files/0001-call-display-use-PinePhone-s-device-for-ugly-hacks.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 6630fea2096118cf0566cfa9a7e07d2b977ffc86 Mon Sep 17 00:00:00 2001 -From: Arnaud Ferraris -Date: Thu, 5 Mar 2020 15:06:44 +0100 -Subject: [PATCH 1/1] call-display: use PinePhone's device for ugly hacks - ---- - src/calls-call-display.c | 18 +++++------------- - 1 file changed, 5 insertions(+), 13 deletions(-) - -diff --git a/src/calls-call-display.c b/src/calls-call-display.c -index 1d8f276..a60f24b 100644 ---- a/src/calls-call-display.c -+++ b/src/calls-call-display.c -@@ -334,9 +334,9 @@ set_property (GObject *object, - //#define UGLY_SOURCE "alsa_input.platform-sound.VoiceCall__hw_CARD_sgtl5000__source" - //#define UGLY_SINK "alsa_output.platform-sound.VoiceCall__hw_CARD_sgtl5000__sink" - //#define UGLY_SPEAKER_PORT "Headset" --#define UGLY_SOURCE "alsa_input.platform-sound.Audio__hw_CARD_wm8962__source" --#define UGLY_SINK "alsa_output.platform-sound.Audio__hw_CARD_wm8962__sink" --#define UGLY_SPEAKER_PORT "SpeakerPhone" -+#define UGLY_SOURCE "alsa_input.platform-sound.Voice_Call__hw_PinePhone_0__source" -+#define UGLY_SINK "alsa_output.platform-sound.Voice_Call__hw_PinePhone_0__sink" -+#define UGLY_SPEAKER_PORT "Speaker" - - - static gboolean -@@ -413,21 +413,13 @@ ugly_speaker_pressed_cb (CallsCallDisplay *self, - - if (gtk_toggle_button_get_active (speaker)) - { -- port = "Handset"; -+ port = "Earpiece"; - } - else - { - port = UGLY_SPEAKER_PORT; - } - -- ok = ugly_set_pa_port ("source", UGLY_SOURCE, -- "In", port); -- if (!ok) -- { -- /* Stop other handlers */ -- return TRUE; -- } -- - ok = ugly_set_pa_port ("sink", UGLY_SINK, - "Out", port); - if (!ok) -@@ -599,7 +591,7 @@ calls_call_display_class_init (CallsCallDisplayClass *klass) - "Data for the call this display will be associated with", - CALLS_TYPE_CALL_DATA, - G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY); -- -+ - g_object_class_install_properties (object_class, PROP_LAST_PROP, props); - - --- -2.20.1 - diff --git a/net-voip/gnome-calls/files/0001-use-at-cmds-to-mute.patch b/net-voip/gnome-calls/files/0001-use-at-cmds-to-mute.patch deleted file mode 100644 index cb1aa14..0000000 --- a/net-voip/gnome-calls/files/0001-use-at-cmds-to-mute.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/src/calls-call-display.c b/src/calls-call-display.c -index bf98958..c8b1bc4 100644 ---- a/src/calls-call-display.c -+++ b/src/calls-call-display.c -@@ -34,6 +34,8 @@ - - #include - -+#include -+ - struct _CallsCallDisplay - { - GtkOverlay parent_instance; -@@ -103,11 +105,17 @@ mute_toggled_cb (GtkToggleButton *togglebutton, - g_autoptr (GError) error = NULL; - - want_mute = gtk_toggle_button_get_active (togglebutton); -- ret = call_audio_mute_mic (want_mute, &error); -- if (!ret && error) -- g_warning ("Failed to %smute microphone: %s", -- want_mute ? "" : "un", -- error->message); -+ -+ gchar* command = g_strdup_printf("/usr/bin/mmcli -m 0 --command=AT+CMUT=%d",want_mute?1:0); -+ -+ int exit_code; -+ -+ ret = g_spawn_command_line_sync(command, NULL,NULL,&exit_code, &error); -+ -+ if(!ret || error || exit_code != 0){ -+ g_warning ("Failed to %smute microphone (mmcli exit code: %d)", -+ want_mute ? "" : "un", exit_code); -+ } - } - - diff --git a/net-voip/gnome-calls/files/188.patch b/net-voip/gnome-calls/files/188.patch deleted file mode 100644 index 60717de..0000000 --- a/net-voip/gnome-calls/files/188.patch +++ /dev/null @@ -1,335 +0,0 @@ -From 5c0a588da7a0ffa57c8893650432804ff2663800 Mon Sep 17 00:00:00 2001 -From: Nazarii Kretovych -Date: Sun, 20 Sep 2020 11:53:43 +0300 -Subject: [PATCH 1/3] Remove adding country code to tel number while dialing. - -Fixes #176 - -Signed-off-by: Nazarii Kretovych ---- - src/calls-application.c | 23 ++++++++++++++++++----- - 1 file changed, 18 insertions(+), 5 deletions(-) - -diff --git a/src/calls-application.c b/src/calls-application.c -index c9a9251..796c8cd 100644 ---- a/src/calls-application.c -+++ b/src/calls-application.c -@@ -393,7 +393,6 @@ open_tel_uri (CallsApplication *self, - { - EPhoneNumber *number; - GError *error = NULL; -- gchar *dial_str; - - g_debug ("Opening tel URI `%s'", uri); - -@@ -405,14 +404,28 @@ open_tel_uri (CallsApplication *self, - g_error_free (error); - return; - } -- -- dial_str = e_phone_number_to_string -- (number, E_PHONE_NUMBER_FORMAT_E164); - e_phone_number_free (number); - -+ // Get dial string. -+ const size_t uri_len = strlen(uri); -+ gchar dial_str[uri_len + 1]; -+ gchar *p_dial_str = dial_str; -+ for (const gchar *p_uri = uri; *p_uri; p_uri++) { -+ const gchar ch = *p_uri; -+ if ((ch >= '0' && ch <= '9') || ch == '+') { -+ *p_dial_str = ch; -+ p_dial_str++; -+ } -+ } -+ if (p_dial_str == dial_str) { -+ // dial_str is empty, so we return. -+ g_warning("Failed to create dial string for tel URI '%s'", uri); -+ return; -+ } -+ *p_dial_str = '\0'; -+ - calls_main_window_dial (self->main_window, - dial_str); -- g_free (dial_str); - } - - --- -2.26.2 - - -From dedf8f820753d48575db6ec1774ed19783d66e65 Mon Sep 17 00:00:00 2001 -From: Nazarii Kretovych -Date: Sat, 26 Sep 2020 17:21:54 +0300 -Subject: [PATCH 2/3] Fix: make open_tel_uri generate the proper dial string - for tel URIs that have the 'phone-context' param. - -Signed-off-by: Nazarii Kretovych ---- - .gitignore | 3 ++- - src/calls-application.c | 15 +++++++++++++++ - 2 files changed, 17 insertions(+), 1 deletion(-) - -diff --git a/.gitignore b/.gitignore -index 826102b..29e7ed5 100644 ---- a/.gitignore -+++ b/.gitignore -@@ -5,4 +5,5 @@ _build - .\#* - build - .buildconfig --.flatpak-builder -\ No newline at end of file -+.flatpak-builder -+/nbproject/ -\ No newline at end of file -diff --git a/src/calls-application.c b/src/calls-application.c -index 796c8cd..591681a 100644 ---- a/src/calls-application.c -+++ b/src/calls-application.c -@@ -410,11 +410,26 @@ open_tel_uri (CallsApplication *self, - const size_t uri_len = strlen(uri); - gchar dial_str[uri_len + 1]; - gchar *p_dial_str = dial_str; -+ const gchar *p_phone_context = strstr(uri, ";phone-context="); -+ if (p_phone_context) { -+ // uri has the 'phone-context' param. Add its value to dial_str. -+ for (p_phone_context += 15; *p_phone_context; p_phone_context++) { -+ const gchar ch = *p_phone_context; -+ if ((ch >= '0' && ch <= '9') || ch == '+') { -+ *p_dial_str = ch; -+ p_dial_str++; -+ } else if (ch == ';') { -+ break; -+ } -+ } -+ } - for (const gchar *p_uri = uri; *p_uri; p_uri++) { - const gchar ch = *p_uri; - if ((ch >= '0' && ch <= '9') || ch == '+') { - *p_dial_str = ch; - p_dial_str++; -+ } else if (ch == ';') { -+ break; - } - } - if (p_dial_str == dial_str) { --- -2.26.2 - - -From b29dbc9bc4038b8e0ee2e2f8f0d69e46f757297a Mon Sep 17 00:00:00 2001 -From: Nazarii Kretovych -Date: Sat, 26 Sep 2020 20:22:40 +0300 -Subject: [PATCH 3/3] Move code of tel uri parser to separate function and add - unit test. - -Signed-off-by: Nazarii Kretovych ---- - src/calls-application.c | 81 ++++++++++++++++++++++++++-------------- - src/calls-application.h | 1 + - tests/meson.build | 14 +++++++ - tests/test-application.c | 51 +++++++++++++++++++++++++ - 4 files changed, 118 insertions(+), 29 deletions(-) - create mode 100644 tests/test-application.c - -diff --git a/src/calls-application.c b/src/calls-application.c -index 591681a..9665a62 100644 ---- a/src/calls-application.c -+++ b/src/calls-application.c -@@ -387,6 +387,53 @@ activate (GApplication *application) - } - - -+gchar * -+parse_tel_uri_and_get_dial_str (const gchar *uri) -+{ -+ // Get dial string. -+ const size_t uri_len = strlen(uri); -+ gchar *dial_str = g_new(gchar, uri_len + 1); -+ gchar *p_dial_str = dial_str; -+ const gchar *p_phone_context = strstr(uri, ";phone-context="); -+ if (p_phone_context) -+ { -+ // uri has the 'phone-context' param. Add its value to dial_str. -+ for (p_phone_context += 15; *p_phone_context; p_phone_context++) -+ { -+ const gchar ch = *p_phone_context; -+ if ((ch >= '0' && ch <= '9') || ch == '+') -+ { -+ *p_dial_str = ch; -+ p_dial_str++; -+ } -+ else if (ch == ';') -+ { -+ break; -+ } -+ } -+ } -+ for (const gchar *p_uri = uri; *p_uri; p_uri++) -+ { -+ const gchar ch = *p_uri; -+ if ((ch >= '0' && ch <= '9') || ch == '+') -+ { -+ *p_dial_str = ch; -+ p_dial_str++; -+ } -+ else if (ch == ';') -+ { -+ break; -+ } -+ } -+ *p_dial_str = '\0'; -+ if (!*dial_str) { -+ g_free(dial_str); -+ dial_str = NULL; -+ } -+ -+ return dial_str; -+} -+ - static void - open_tel_uri (CallsApplication *self, - const gchar *uri) -@@ -407,40 +454,16 @@ open_tel_uri (CallsApplication *self, - e_phone_number_free (number); - - // Get dial string. -- const size_t uri_len = strlen(uri); -- gchar dial_str[uri_len + 1]; -- gchar *p_dial_str = dial_str; -- const gchar *p_phone_context = strstr(uri, ";phone-context="); -- if (p_phone_context) { -- // uri has the 'phone-context' param. Add its value to dial_str. -- for (p_phone_context += 15; *p_phone_context; p_phone_context++) { -- const gchar ch = *p_phone_context; -- if ((ch >= '0' && ch <= '9') || ch == '+') { -- *p_dial_str = ch; -- p_dial_str++; -- } else if (ch == ';') { -- break; -- } -- } -- } -- for (const gchar *p_uri = uri; *p_uri; p_uri++) { -- const gchar ch = *p_uri; -- if ((ch >= '0' && ch <= '9') || ch == '+') { -- *p_dial_str = ch; -- p_dial_str++; -- } else if (ch == ';') { -- break; -- } -- } -- if (p_dial_str == dial_str) { -- // dial_str is empty, so we return. -- g_warning("Failed to create dial string for tel URI '%s'", uri); -+ gchar *dial_str = parse_tel_uri_and_get_dial_str (uri); -+ if (!dial_str) { -+ g_warning ("Failed to create dial string for tel URI '%s'", uri); - return; - } -- *p_dial_str = '\0'; - - calls_main_window_dial (self->main_window, - dial_str); -+ -+ g_free (dial_str); - } - - -diff --git a/src/calls-application.h b/src/calls-application.h -index 08c3c56..26cf6c8 100644 ---- a/src/calls-application.h -+++ b/src/calls-application.h -@@ -34,5 +34,6 @@ G_BEGIN_DECLS - G_DECLARE_FINAL_TYPE (CallsApplication, calls_application, CALLS, APPLICATION, GtkApplication) - - CallsApplication *calls_application_new (void); -+gchar *parse_tel_uri_and_get_dial_str (const gchar *); - - G_END_DECLS -diff --git a/tests/meson.build b/tests/meson.build -index 618b1c4..5cf581d 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -71,5 +71,19 @@ t = executable('manager', test_sources, - ) - test('manager', t, env: test_env) - -+test_sources = [ 'test-application.c' ] -+ -+t = executable('application', test_sources, -+ calls_sources, calls_enum_sources, calls_resources, -+ wl_proto_sources, wayland_sources, -+ c_args : test_cflags, -+ link_args: test_link_args, -+ link_with : calls_vala, -+ dependencies: calls_deps, -+ include_directories : [ -+ calls_includes -+ ] -+ ) -+test('application', t, env: test_env) - - endif -diff --git a/tests/test-application.c b/tests/test-application.c -new file mode 100644 -index 0000000..ffd192e ---- /dev/null -+++ b/tests/test-application.c -@@ -0,0 +1,51 @@ -+/* -+ * Copyright (C) 2020 Purism SPC -+ * -+ * SPDX-License-Identifier: GPL-3.0+ -+ */ -+ -+#include "calls-application.h" -+ -+#include -+#include -+ -+static void -+test_calls_application_parse_tel_uri_and_get_dial_str () -+{ -+ gchar *dial_str; -+ -+ // Test 1. -+ dial_str = parse_tel_uri_and_get_dial_str ("tel:123-456-789;phone-context=+48"); -+ g_assert_true (g_strcmp0 (dial_str, "+48123456789") == 0); -+ g_free(dial_str); -+ -+ // Test 2. -+ dial_str = parse_tel_uri_and_get_dial_str ("tel:+38-096-123-45-67"); -+ g_assert_true (g_strcmp0 (dial_str, "+380961234567") == 0); -+ g_free(dial_str); -+ -+ // Test 3. -+ dial_str = parse_tel_uri_and_get_dial_str ("tel:0-800-123-456"); -+ g_assert_true (g_strcmp0 (dial_str, "0800123456") == 0); -+ g_free(dial_str); -+ -+ // Test 4. -+ dial_str = parse_tel_uri_and_get_dial_str ("tel:447"); -+ g_assert_true (g_strcmp0 (dial_str, "447") == 0); -+ g_free(dial_str); -+} -+ -+gint -+main (gint argc, gchar *argv[]) -+{ -+ gtk_test_init (&argc, &argv, NULL); -+ -+ /* Add builddir as search path */ -+#ifdef PLUGIN_BUILDDIR -+ peas_engine_add_search_path (peas_engine_get_default (), PLUGIN_BUILDDIR, NULL); -+#endif -+ -+ g_test_add_func("/Calls/Application/parse_tel_uri_and_get_dial_str", test_calls_application_parse_tel_uri_and_get_dial_str); -+ -+ return g_test_run(); -+} --- -2.26.2 - diff --git a/net-voip/gnome-calls/files/230.patch b/net-voip/gnome-calls/files/230.patch deleted file mode 100644 index 1ab1551..0000000 --- a/net-voip/gnome-calls/files/230.patch +++ /dev/null @@ -1,126 +0,0 @@ -From eaed62151bd533a4021ba937a959464383ddc0cb Mon Sep 17 00:00:00 2001 -From: Arnaud Ferraris -Date: Tue, 12 Jan 2021 18:40:12 +0100 -Subject: [PATCH 1/4] call-display: update libcallaudio API calls - -Upstream modified the async API, make sure we use it. ---- - src/calls-call-display.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/src/calls-call-display.c b/src/calls-call-display.c -index 7d17772..2bfb8fc 100644 ---- a/src/calls-call-display.c -+++ b/src/calls-call-display.c -@@ -211,7 +211,7 @@ stop_timeout (CallsCallDisplay *self) - - - static void --select_mode_complete (gboolean success, GError *error) -+select_mode_complete (gboolean success, GError *error, gpointer data) - { - if (error) - { -@@ -261,11 +261,15 @@ call_state_changed_cb (CallsCallDisplay *self, - state != CALLS_CALL_STATE_DIALING - && state != CALLS_CALL_STATE_ALERTING); - -- call_audio_select_mode_async (CALL_AUDIO_MODE_CALL, select_mode_complete); -+ call_audio_select_mode_async (CALL_AUDIO_MODE_CALL, -+ select_mode_complete, -+ NULL); - break; - - case CALLS_CALL_STATE_DISCONNECTED: -- call_audio_select_mode_async (CALL_AUDIO_MODE_DEFAULT, select_mode_complete); -+ call_audio_select_mode_async (CALL_AUDIO_MODE_DEFAULT, -+ select_mode_complete, -+ NULL); - break; - } - --- -2.26.2 - - -From b371ee665c981c3ea9f398da04fdf1536560cae6 Mon Sep 17 00:00:00 2001 -From: Arnaud Ferraris -Date: Tue, 12 Jan 2021 18:42:29 +0100 -Subject: [PATCH 2/4] src: meson.build: update libcallaudio dependency - ---- - src/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/meson.build b/src/meson.build -index 6222432..9be8cd8 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -36,7 +36,7 @@ calls_deps = [ dependency('gobject-2.0', version: '>= 2.58'), - dependency('gom-1.0'), - dependency('libebook-contacts-1.2'), - dependency('folks'), -- dependency('libcallaudio-0'), -+ dependency('libcallaudio-0.1'), - ] - - if wl_scanner.found() --- -2.26.2 - - -From 2f37394f2e4d3947db967abfa7257cb563b5b4cd Mon Sep 17 00:00:00 2001 -From: Arnaud Ferraris -Date: Tue, 12 Jan 2021 18:45:22 +0100 -Subject: [PATCH 3/4] d/control: add version requirement on libcallaudio build - dependency - -The new API appeared in version 0.0.5. ---- - debian/control | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/debian/control b/debian/control -index dc26174..1804e63 100644 ---- a/debian/control -+++ b/debian/control -@@ -8,7 +8,7 @@ Build-Depends: - debhelper (>= 11), - desktop-file-utils, - gtk-doc-tools , -- libcallaudio-dev, -+ libcallaudio-dev (>= 0.0.5), - libfeedback-dev, - libhandy-1-dev (>= 1.0.0), - libgtk-3-dev, --- -2.26.2 - - -From 5d3ee0acbda6f15c31e9538287ce9323ded19b37 Mon Sep 17 00:00:00 2001 -From: Arnaud Ferraris -Date: Tue, 19 Jan 2021 22:13:54 +0100 -Subject: [PATCH 4/4] flatpak: update callaudiod version - ---- - sm.puri.Calls.json | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/sm.puri.Calls.json b/sm.puri.Calls.json -index da08789..10e5a36 100644 ---- a/sm.puri.Calls.json -+++ b/sm.puri.Calls.json -@@ -267,8 +267,8 @@ - "sources" : [ - { - "type" : "archive", -- "url" : "https://gitlab.com/mobian1/callaudiod/-/archive/0.0.4/callaudiod-0.0.4.tar.gz", -- "sha256" : "a9620dee2999fa85a7ca8f0314be3317a99fc225439ac193d5f727ff9397f93d" -+ "url" : "https://gitlab.com/mobian1/callaudiod/-/archive/0.0.5/callaudiod-0.0.5.tar.gz", -+ "sha256" : "0016a5800749d408dbaa14d8a7886bf492068d56508c83a352dee9b1920754b4" - } - ] - }, --- -2.26.2 - diff --git a/net-voip/gnome-calls/files/add-call-back-button.patch b/net-voip/gnome-calls/files/add-call-back-button.patch deleted file mode 100644 index cbff43a..0000000 --- a/net-voip/gnome-calls/files/add-call-back-button.patch +++ /dev/null @@ -1,37 +0,0 @@ -From c43bfe3ebb9c0f98c143b8b3e777058d5c1c11e3 Mon Sep 17 00:00:00 2001 -From: Evangelos Ribeiro Tzaras -Date: Tue, 8 Sep 2020 05:10:11 +0200 -Subject: [PATCH] src/calls-notifier.c: Add call-back button - ---- - src/calls-notifier.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/src/calls-notifier.c b/src/calls-notifier.c -index 292c559..076e2c6 100644 ---- a/src/calls-notifier.c -+++ b/src/calls-notifier.c -@@ -46,6 +46,7 @@ notify (CallsNotifier *self, CallsCall *call) - g_autoptr(GNotification) notification; - g_autofree gchar *msg = NULL; - g_autofree gchar *ref = NULL; -+ g_autofree gchar *label_callback = NULL; - const char *name; - - notification = g_notification_new (_("Missed call")); -@@ -57,6 +58,12 @@ notify (CallsNotifier *self, CallsCall *call) - msg = g_strdup_printf (_("Missed call from %s"), calls_call_get_number (call)); - - g_notification_set_body (notification, msg); -+ -+ if (calls_call_get_number (call)) { -+ label_callback = g_strdup_printf ("app.dial::%s", calls_call_get_number (call)); -+ g_notification_add_button (notification, _("Call back"), label_callback); -+ } -+ - ref = g_strdup_printf ("missed-call-%s", calls_call_get_number (call) ?: "unknown"); - g_application_send_notification (app, ref, notification); - } --- -2.26.2 - diff --git a/net-voip/gnome-calls/files/calll-display.patch b/net-voip/gnome-calls/files/calll-display.patch deleted file mode 100644 index 3573a91..0000000 --- a/net-voip/gnome-calls/files/calll-display.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/src/calls-call-display.c b/src/calls-call-display.c -index 7d17772..f4aa855 100644 ---- a/src/calls-call-display.c -+++ b/src/calls-call-display.c -@@ -261,11 +261,11 @@ call_state_changed_cb (CallsCallDisplay *self, - state != CALLS_CALL_STATE_DIALING - && state != CALLS_CALL_STATE_ALERTING); - -- call_audio_select_mode_async (CALL_AUDIO_MODE_CALL, select_mode_complete); -+ call_audio_select_mode_async (CALL_AUDIO_MODE_CALL, select_mode_complete, NULL); - break; - - case CALLS_CALL_STATE_DISCONNECTED: -- call_audio_select_mode_async (CALL_AUDIO_MODE_DEFAULT, select_mode_complete); -+ call_audio_select_mode_async (CALL_AUDIO_MODE_DEFAULT, select_mode_complete, NULL); - break; - } - diff --git a/net-voip/gnome-calls/files/inhibit-suspend-during-call.patch b/net-voip/gnome-calls/files/inhibit-suspend-during-call.patch deleted file mode 100644 index 1583658..0000000 --- a/net-voip/gnome-calls/files/inhibit-suspend-during-call.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 9619ebb674771206662f099901c617edb54b870a Mon Sep 17 00:00:00 2001 -From: Evangelos Ribeiro Tzaras -Date: Thu, 6 Aug 2020 22:28:37 +0200 -Subject: [PATCH] src/calls-call-window.c: Inhibit suspend during active call - ---- - src/calls-call-window.c | 26 ++++++++++++++++++++++++++ - 1 file changed, 26 insertions(+) - -diff --git a/src/calls-call-window.c b/src/calls-call-window.c -index 312a892..d6c5d8a 100644 ---- a/src/calls-call-window.c -+++ b/src/calls-call-window.c -@@ -60,6 +60,8 @@ struct _CallsCallWindow - GtkStack *call_stack; - GtkFlowBox *call_selector; - -+ guint inhibit_cookie; -+ - #ifdef CALLS_WAYLAND - gboolean screensaver_active; - struct zwlr_layer_shell_v1 *layer_shell_iface; -@@ -164,6 +166,28 @@ update_layer_surface (CallsCallWindow *self, - #endif // CALLS_WAYLAND - - -+static void -+session_inhibit (CallsCallWindow *self, gboolean inhibit) -+{ -+ if (inhibit) -+ { -+ if (self->inhibit_cookie == 0) -+ self->inhibit_cookie = -+ gtk_application_inhibit (gtk_window_get_application (GTK_WINDOW (self)), -+ GTK_WINDOW (self), -+ GTK_APPLICATION_INHIBIT_SUSPEND, -+ "call active"); -+ } -+ else -+ { -+ gtk_application_uninhibit (gtk_window_get_application (GTK_WINDOW (self)), -+ self->inhibit_cookie); -+ self->inhibit_cookie = 0; -+ } -+ -+} -+ -+ - static void - update_visibility (CallsCallWindow *self) - { -@@ -184,6 +208,8 @@ update_visibility (CallsCallWindow *self) - { - gtk_stack_set_visible_child_name (self->main_stack, "active-call"); - } -+ -+ session_inhibit (self, !!calls); - } - - --- -2.26.2 -