File 0001-Also-theme-the-default-cursor-for-the-root-window.patch of Package sddm

From ddbf5d75cb9504279a190b641a3d74edf43d9e76 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Fri, 5 May 2017 23:17:26 +0200
Subject: [PATCH] Also theme the default cursor for the root window

The root window is still accessible in some cases, like context menu overlays.
---
 src/daemon/XorgDisplayServer.cpp | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp
index d06d89a1..76568566 100644
--- a/src/daemon/XorgDisplayServer.cpp
+++ b/src/daemon/XorgDisplayServer.cpp
@@ -249,7 +249,7 @@ namespace SDDM {
         env.insert(QStringLiteral("SHELL"), QStringLiteral("/bin/sh"));
         displayStopScript->setProcessEnvironment(env);
 
-        // start display setup script
+        // start display stop script
         qDebug() << "Running display stop script " << displayStopCommand;
         displayStopScript->start(displayStopCommand);
 
@@ -285,8 +285,18 @@ namespace SDDM {
         env.insert(QStringLiteral("PATH"), mainConfig.Users.DefaultPath.get());
         env.insert(QStringLiteral("XAUTHORITY"), m_authPath);
         env.insert(QStringLiteral("SHELL"), QStringLiteral("/bin/sh"));
+        env.insert(QStringLiteral("XCURSOR_THEME"), mainConfig.Theme.CursorTheme.get());
         displayScript->setProcessEnvironment(env);
 
+        qDebug() << "Setting default cursor";
+        displayScript->start(QStringLiteral("xsetroot -cursor_name left_ptr"));
+
+        // wait for finished
+        if (!displayScript->waitForFinished(1000)) {
+            qWarning() << "Could not setup default cursor";
+            displayScript->kill();
+        }
+
         // delete displayScript on finish
         connect(displayScript, SIGNAL(finished(int,QProcess::ExitStatus)), displayScript, SLOT(deleteLater()));
 
openSUSE Build Service is sponsored by