From b4b1cda9e63274d1bf12f2a388556c4bd562f42c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Wed, 8 Nov 2023 13:12:21 -0500
Subject: [PATCH] screensharing: remove unsupported options for wayland

https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/13

Change-Id: I177104e8b2faabd356293fb704372918d7e5969a
---
 src/app/mainview/components/CallActionBar.qml | 4 ++--
 src/app/utilsadapter.cpp                      | 6 ++++++
 src/app/utilsadapter.h                        | 1 +
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/app/mainview/components/CallActionBar.qml b/src/app/mainview/components/CallActionBar.qml
index c4c28dc1b..785f7f2d6 100644
--- a/src/app/mainview/components/CallActionBar.qml
+++ b/src/app/mainview/components/CallActionBar.qml
@@ -123,13 +123,13 @@ Control {
                         "Name": JamiStrings.shareScreen,
                         "IconSource": JamiResources.laptop_black_24dp_svg
                     });
-                if (Qt.platform.os.toString() !== "osx") {
+                if (Qt.platform.os.toString() !== "osx" && !UtilsAdapter.isWayland()) {
                     shareModel.append({
                             "Name": JamiStrings.shareWindow,
                             "IconSource": JamiResources.window_black_24dp_svg
                         });
                 }
-                if (Qt.platform.os.toString() !== "windows") {
+                if (Qt.platform.os.toString() !== "windows" && !UtilsAdapter.isWayland()) {
                     // temporarily disable for windows
                     shareModel.append({
                             "Name": JamiStrings.shareScreenArea,
diff --git a/src/app/utilsadapter.cpp b/src/app/utilsadapter.cpp
index 4704f7308..dbf8ee6b6 100644
--- a/src/app/utilsadapter.cpp
+++ b/src/app/utilsadapter.cpp
@@ -894,3 +894,9 @@ UtilsAdapter::createDummyImage() const
     }
 }
 #endif
+
+bool
+UtilsAdapter::isWayland() const
+{
+    return !qEnvironmentVariableIsEmpty("WAYLAND_DISPLAY");
+}
diff --git a/src/app/utilsadapter.h b/src/app/utilsadapter.h
index 6a01f5105..35a326e1c 100644
--- a/src/app/utilsadapter.h
+++ b/src/app/utilsadapter.h
@@ -162,6 +162,7 @@ public:
 #ifdef ENABLE_TESTS
     Q_INVOKABLE QString createDummyImage() const;
 #endif
+    Q_INVOKABLE bool isWayland() const;
 Q_SIGNALS:
     void debugMessageReceived(const QString& message);
     void changeFontSize();
-- 
GitLab