Blob Blame History Raw
From 6fd2279b0f5c5cc3d42d1af2858144cc0297fde0 Mon Sep 17 00:00:00 2001
From: Neal Gompa <neal@gompa.dev>
Date: Mon, 29 Jan 2024 06:46:38 -0500
Subject: [PATCH] Switch the Wayland greeter default to use Weston's Kiosk
 shell

Weston introduced the kiosk shell in Weston 9.0 and deprecated the
fullscreen shell in Weston 12.0.
---
 data/man/sddm.conf.rst.in  | 2 +-
 src/common/Configuration.h | 2 +-
 src/daemon/Greeter.cpp     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/data/man/sddm.conf.rst.in b/data/man/sddm.conf.rst.in
index 32bebf8..0d00919 100644
--- a/data/man/sddm.conf.rst.in
+++ b/data/man/sddm.conf.rst.in
@@ -170,7 +170,7 @@ The `UserAuthFile=` option was removed, the file is always created as
 
 `CompositorCommand=`
         Path of the compositor to execute when starting the greeter.
-        Default value is "weston --shell=fullscreen-shell.so".
+        Default value is "weston --shell=kiosk".
 
 `SessionDir=`
 	Comma-separated list of directories containing session files.
diff --git a/src/common/Configuration.h b/src/common/Configuration.h
index 54bcace..4c3572d 100644
--- a/src/common/Configuration.h
+++ b/src/common/Configuration.h
@@ -78,7 +78,7 @@ namespace SDDM {
         );
 
         Section(Wayland,
-            Entry(CompositorCommand,   QString,     _S("weston --shell=fullscreen-shell.so"),   _S("Path of the Wayland compositor to execute when starting the greeter"));
+            Entry(CompositorCommand,   QString,     _S("weston --shell=kiosk"),                 _S("Path of the Wayland compositor to execute when starting the greeter"));
             Entry(SessionDir,          QStringList, {_S("/usr/local/share/wayland-sessions"),
                                                      _S("/usr/share/wayland-sessions")},        _S("Comma-separated list of directories containing available Wayland sessions"));
             Entry(SessionCommand,      QString,     _S(WAYLAND_SESSION_COMMAND),                _S("Path to a script to execute when starting the desktop session"));
diff --git a/src/daemon/Greeter.cpp b/src/daemon/Greeter.cpp
index c0437ae..33d3aab 100644
--- a/src/daemon/Greeter.cpp
+++ b/src/daemon/Greeter.cpp
@@ -207,7 +207,7 @@ namespace SDDM {
                 m_auth->setCookie(qobject_cast<XorgDisplayServer*>(displayServer)->cookie());
             } else if (m_display->displayServerType() == Display::WaylandDisplayServerType) {
                 env.insert(QStringLiteral("QT_QPA_PLATFORM"), QStringLiteral("wayland"));
-                env.insert(QStringLiteral("QT_WAYLAND_SHELL_INTEGRATION"), QStringLiteral("fullscreen-shell-v1"));
+                env.insert(QStringLiteral("QT_WAYLAND_SHELL_INTEGRATION"), QStringLiteral("xdg-shell"));
             }
             m_auth->insertEnvironment(env);
 
-- 
2.43.0