revert upstream commit that makes Wayland the default session [release 0.19.0-4mamba;Fri Jan 27 2023]

This commit is contained in:
Silvan Calarco 2024-01-05 17:41:29 +01:00
parent f86cc42e02
commit 44388d6c3a
2 changed files with 93 additions and 1 deletions

View File

@ -0,0 +1,87 @@
From 994fa67b01ccfac1aaac08572302bbbea7842dc3 Mon Sep 17 00:00:00 2001
From: Neal Gompa <ngompa13@gmail.com>
Date: Sun, 18 Oct 2020 19:33:52 -0400
Subject: [PATCH] Prefer Wayland sessions over X11 ones
As a general goal and preference, we want to make the change
to Wayland as the default and X11 as the fallback.
This change codifies that preference.
Reference: https://fedoraproject.org/wiki/Changes/WaylandByDefaultForPlasma
---
src/common/Session.cpp | 8 ++++----
src/daemon/Display.cpp | 6 +++---
src/greeter/SessionModel.cpp | 6 +++---
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/src/common/Session.cpp b/src/common/Session.cpp
index ab25822b5..f8c91450f 100644
--- a/src/common/Session.cpp
+++ b/src/common/Session.cpp
@@ -131,14 +131,14 @@ namespace SDDM {
m_desktopNames.clear();
switch (type) {
- case X11Session:
- m_dir = QDir(mainConfig.X11.SessionDir.get());
- m_xdgSessionType = QStringLiteral("x11");
- break;
case WaylandSession:
m_dir = QDir(mainConfig.Wayland.SessionDir.get());
m_xdgSessionType = QStringLiteral("wayland");
break;
+ case X11Session:
+ m_dir = QDir(mainConfig.X11.SessionDir.get());
+ m_xdgSessionType = QStringLiteral("x11");
+ break;
default:
m_xdgSessionType.clear();
break;
diff --git a/src/daemon/Display.cpp b/src/daemon/Display.cpp
index 4a5e267d4..bd91446cc 100644
--- a/src/daemon/Display.cpp
+++ b/src/daemon/Display.cpp
@@ -115,10 +115,10 @@ namespace SDDM {
if (autologinSession.isEmpty()) {
autologinSession = stateConfig.Last.Session.get();
}
- if (findSessionEntry(mainConfig.X11.SessionDir.get(), autologinSession)) {
- sessionType = Session::X11Session;
- } else if (findSessionEntry(mainConfig.Wayland.SessionDir.get(), autologinSession)) {
+ if (findSessionEntry(mainConfig.Wayland.SessionDir.get(), autologinSession)) {
sessionType = Session::WaylandSession;
+ } else if (findSessionEntry(mainConfig.X11.SessionDir.get(), autologinSession)) {
+ sessionType = Session::X11Session;
} else {
qCritical() << "Unable to find autologin session entry" << autologinSession;
return false;
diff --git a/src/greeter/SessionModel.cpp b/src/greeter/SessionModel.cpp
index 655f793d0..1953c76a2 100644
--- a/src/greeter/SessionModel.cpp
+++ b/src/greeter/SessionModel.cpp
@@ -41,8 +41,8 @@ namespace SDDM {
SessionModel::SessionModel(QObject *parent) : QAbstractListModel(parent), d(new SessionModelPrivate()) {
// initial population
beginResetModel();
- populate(Session::X11Session, mainConfig.X11.SessionDir.get());
populate(Session::WaylandSession, mainConfig.Wayland.SessionDir.get());
+ populate(Session::X11Session, mainConfig.X11.SessionDir.get());
endResetModel();
// refresh everytime a file is changed, added or removed
@@ -50,12 +50,12 @@ namespace SDDM {
connect(watcher, &QFileSystemWatcher::directoryChanged, [this](const QString &path) {
beginResetModel();
d->sessions.clear();
- populate(Session::X11Session, mainConfig.X11.SessionDir.get());
populate(Session::WaylandSession, mainConfig.Wayland.SessionDir.get());
+ populate(Session::X11Session, mainConfig.X11.SessionDir.get());
endResetModel();
});
- watcher->addPath(mainConfig.X11.SessionDir.get());
watcher->addPath(mainConfig.Wayland.SessionDir.get());
+ watcher->addPath(mainConfig.X11.SessionDir.get());
}
SessionModel::~SessionModel() {

View File

@ -3,7 +3,7 @@
Name: sddm
Epoch: 1
Version: 0.19.0
Release: 3mamba
Release: 4mamba
Summary: QML based X11 and Wayland display manager
Group: Graphical Desktop/Applications/Environment
Vendor: openmamba
@ -21,6 +21,7 @@ Patch5: sddm-0.19.0-upstream-retry-starting-the-xserver.patch
Patch6: sddm-0.19.0-upstream-only_use_the_basename_for_desktop_session.patch
Patch7: sddm-0.19.0-fix-sessions-being-started-as-the-wrong-type-on-autologin.patch
Patch8: sddm-0.19.0-fix-build.patch
Patch9: sddm-0.19.0-revert-prefer_wayland_sessions_over_X11_ones.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
@ -50,6 +51,7 @@ QML based X11 and Wayland display manager.
%patch6 -p1
%patch7 -p1 -b .fix-sessions-being-started-as-the-wrong-type-on-autologin
%patch8 -p1 -b .fix-build
%patch9 -p1 -R -b .revert-prefer_wayland_sessions_over_X11_ones
%build
%cmake -d build
@ -145,6 +147,9 @@ fi
%doc LICENSE
%changelog
* Fri Jan 27 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 0.19.0-4mamba
- revert upstream commit that makes Wayland the default session
* Fri Apr 01 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 0.19.0-3mamba
- added upstream patch to fix autologin sessions being start with wrong type (e.g. wayland with plasma-X11)
- pam/sddm-autologin: fix arguments passed to pam_faillock.so