parent
00d771f520
commit
de9b08e3f2
@ -1,2 +1 @@
|
||||
/v0.10.0.tar.gz
|
||||
/v0.11.0.tar.gz
|
||||
/v0.12.0.tar.gz
|
||||
|
@ -1,109 +0,0 @@
|
||||
From c1d1c0c8050d45a6316217f2e2ada632b8eddb66 Mon Sep 17 00:00:00 2001
|
||||
From: David Edmundson <kde@davidedmundson.co.uk>
|
||||
Date: Wed, 12 Nov 2014 16:36:26 +0100
|
||||
Subject: [PATCH 01/70] Replace signal handling method of detecting X startup
|
||||
with FD method
|
||||
|
||||
Using SIGUSR1 to detect when X has started doesn't work with multi seat
|
||||
as we end up starting two X servers in such fast succession that one
|
||||
signal gets lost.
|
||||
|
||||
Xorg also supports an approach where we pass a file descriptor as an
|
||||
argument and X will write the used dislay ID (i.e :0) into this file
|
||||
when it is ready. Apparently this is the preferred approach for
|
||||
detecting X startup.
|
||||
---
|
||||
src/daemon/XorgDisplayServer.cpp | 55 ++++++++++++++++++++++++++++++----------
|
||||
1 file changed, 42 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp
|
||||
index f10ad82..dcebb81 100644
|
||||
--- a/src/daemon/XorgDisplayServer.cpp
|
||||
+++ b/src/daemon/XorgDisplayServer.cpp
|
||||
@@ -137,6 +137,17 @@ namespace SDDM {
|
||||
QStringList args;
|
||||
args << m_display << "-ac" << "-br" << "-noreset" << "-screen" << "800x600";
|
||||
process->start("/usr/bin/Xephyr", args);
|
||||
+
|
||||
+
|
||||
+ // wait for display server to start
|
||||
+ if (!process->waitForStarted()) {
|
||||
+ // log message
|
||||
+ qCritical() << "Failed to start display server process.";
|
||||
+
|
||||
+ // return fail
|
||||
+ return false;
|
||||
+ }
|
||||
+ emit started();
|
||||
} else {
|
||||
// set process environment
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
@@ -145,8 +156,12 @@ namespace SDDM {
|
||||
env.insert("XCURSOR_THEME", mainConfig.Theme.CursorTheme.get());
|
||||
process->setProcessEnvironment(env);
|
||||
|
||||
- // tell the display server to notify us when we can connect
|
||||
- SignalHandler::ignoreSigusr1();
|
||||
+ //create pipe for communicating with X server
|
||||
+ //0 == read from X, 1== write to from X
|
||||
+ int pipeFds[2];
|
||||
+ if (pipe(pipeFds) != 0) {
|
||||
+ qCritical("Could not create pipe to start X server");
|
||||
+ }
|
||||
|
||||
// start display server
|
||||
QStringList args;
|
||||
@@ -155,25 +170,39 @@ namespace SDDM {
|
||||
<< "-nolisten" << "tcp"
|
||||
<< "-background" << "none"
|
||||
<< "-noreset"
|
||||
+ << "-displayfd" << QString::number(pipeFds[1])
|
||||
<< QString("vt%1").arg(displayPtr()->terminalId());
|
||||
qDebug() << "Running:"
|
||||
<< qPrintable(mainConfig.XDisplay.ServerPath.get())
|
||||
<< qPrintable(args.join(" "));
|
||||
process->start(mainConfig.XDisplay.ServerPath.get(), args);
|
||||
- SignalHandler::initializeSigusr1();
|
||||
- connect(DaemonApp::instance()->signalHandler(), SIGNAL(sigusr1Received()), this, SIGNAL(started()));
|
||||
- }
|
||||
|
||||
- // wait for display server to start
|
||||
- if (!process->waitForStarted()) {
|
||||
- // log message
|
||||
- qCritical() << "Failed to start display server process.";
|
||||
+ // wait for display server to start
|
||||
+ if (!process->waitForStarted()) {
|
||||
+ // log message
|
||||
+ qCritical() << "Failed to start display server process.";
|
||||
+
|
||||
+ // return fail
|
||||
+ close(pipeFds[0]);
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ QFile readPipe;
|
||||
+
|
||||
+ if (!readPipe.open(pipeFds[0], QIODevice::ReadOnly)) {
|
||||
+ qCritical("Failed to open pipe to start X Server ");
|
||||
+
|
||||
+ close(pipeFds[0]);
|
||||
+ return false;
|
||||
+ }
|
||||
+ QByteArray displayNumber = readPipe.readLine();
|
||||
+
|
||||
+
|
||||
+ // close our pipe
|
||||
+ close(pipeFds[0]);
|
||||
|
||||
- // return fail
|
||||
- return false;
|
||||
- }
|
||||
- if (daemonApp->testing())
|
||||
emit started();
|
||||
+ }
|
||||
|
||||
// set flag
|
||||
m_started = true;
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,44 +0,0 @@
|
||||
From 207d03e309ef8a4a94754d2d9d76c72b7ca503bd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||
Date: Sat, 21 Feb 2015 19:57:41 +0100
|
||||
Subject: [PATCH 19/70] handle merge of libsystemd-journal -> libsystemd for
|
||||
systemd >= 209
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
see [1]:
|
||||
|
||||
'The APIs "sd-journal.h", "sd-login.h", "sd-id128.h", "sd-daemon.h" are no
|
||||
longer found in individual libraries libsystemd-journal.so, , libsystemd-login.so,
|
||||
libsystemd-id128.so, libsystemd-daemon.so. Instead, we have merged them into
|
||||
a single library, libsystemd.so, which provides all symbols.
|
||||
|
||||
[1] http://cgit.freedesktop.org/systemd/systemd/tree/NEWS
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||
---
|
||||
CMakeLists.txt | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 61230a4..3a34ba6 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -98,7 +98,12 @@ if(SYSTEMD_FOUND)
|
||||
add_definitions(-DHAVE_SYSTEMD)
|
||||
set(CMAKE_AUTOMOC_MOC_OPTIONS -DHAVE_SYSTEMD)
|
||||
|
||||
- pkg_check_modules(JOURNALD "libsystemd-journal")
|
||||
+ # libsystemd-journal was merged into libsystemd in 209
|
||||
+ if(${SYSTEMD_VERSION} VERSION_LESS 209)
|
||||
+ pkg_check_modules(JOURNALD "libsystemd-journal")
|
||||
+ else()
|
||||
+ pkg_check_modules(JOURNALD "libsystemd")
|
||||
+ endif()
|
||||
|
||||
if(ENABLE_JOURNALD)
|
||||
if(JOURNALD_FOUND)
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 2b1a51ad3dce0d9e96ba30593b895541937fb1a5 Mon Sep 17 00:00:00 2001
|
||||
From: Simon Clemente <simon_clemente@yahoo.com>
|
||||
Date: Sat, 11 Apr 2015 14:15:37 +0800
|
||||
Subject: [PATCH 28/70] Correcting small typo in TextConstants.qml
|
||||
|
||||
"loginSucceded," in particular.
|
||||
---
|
||||
components/common/TextConstants.qml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/components/common/TextConstants.qml b/components/common/TextConstants.qml
|
||||
index 81a4b33..25cea20 100644
|
||||
--- a/components/common/TextConstants.qml
|
||||
+++ b/components/common/TextConstants.qml
|
||||
@@ -29,7 +29,7 @@ QtObject {
|
||||
readonly property string layout: qsTr("Layout")
|
||||
readonly property string login: qsTr("Login")
|
||||
readonly property string loginFailed: qsTr("Login failed")
|
||||
- readonly property string loginSucceded: qsTr("Login succeeded")
|
||||
+ readonly property string loginSucceeded: qsTr("Login succeeded")
|
||||
readonly property string password: qsTr("Password")
|
||||
readonly property string prompt: qsTr("Enter your username and password")
|
||||
readonly property string promptSelectUser: qsTr("Select your user and enter password")
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,33 +0,0 @@
|
||||
From 815975c707faf23d458f28130edf108de9c5fa64 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Ploskey <zach@ploskey.com>
|
||||
Date: Sat, 30 May 2015 17:37:59 -0700
|
||||
Subject: [PATCH 34/70] fix typo
|
||||
|
||||
---
|
||||
components/2.0/Background.qml | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/components/2.0/Background.qml b/components/2.0/Background.qml
|
||||
index 5eb13ac..952894c 100644
|
||||
--- a/components/2.0/Background.qml
|
||||
+++ b/components/2.0/Background.qml
|
||||
@@ -25,7 +25,7 @@
|
||||
import QtQuick 2.0
|
||||
|
||||
FocusScope {
|
||||
- id: containter
|
||||
+ id: container
|
||||
|
||||
property alias source: image.source
|
||||
property alias fillMode: image.fillMode
|
||||
@@ -43,6 +43,6 @@ FocusScope {
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
- onClicked: containter.focus = true
|
||||
+ onClicked: container.focus = true
|
||||
}
|
||||
}
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,64 +0,0 @@
|
||||
From b6a43bb50bf055a327e50eb292565d08b8e6b6a5 Mon Sep 17 00:00:00 2001
|
||||
From: Leonardo <leonardo.guilherme@gmail.com>
|
||||
Date: Wed, 11 Mar 2015 12:12:44 -0300
|
||||
Subject: [PATCH 45/70] Provid the role 'needsPassword' in UserModel
|
||||
|
||||
---
|
||||
src/greeter/UserModel.cpp | 5 +++++
|
||||
src/greeter/UserModel.h | 3 ++-
|
||||
2 files changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/greeter/UserModel.cpp b/src/greeter/UserModel.cpp
|
||||
index e28f40a..82d123c 100644
|
||||
--- a/src/greeter/UserModel.cpp
|
||||
+++ b/src/greeter/UserModel.cpp
|
||||
@@ -37,6 +37,7 @@ namespace SDDM {
|
||||
QString realName { "" };
|
||||
QString homeDir { "" };
|
||||
QString icon { "" };
|
||||
+ bool needsPassword { false };
|
||||
int uid { 0 };
|
||||
int gid { 0 };
|
||||
};
|
||||
@@ -75,6 +76,7 @@ namespace SDDM {
|
||||
user->homeDir = QString(current_pw->pw_dir);
|
||||
user->uid = int(current_pw->pw_uid);
|
||||
user->gid = int(current_pw->pw_gid);
|
||||
+ user->needsPassword = strcmp(current_pw->pw_passwd, "") != 0;
|
||||
|
||||
// search for face icon
|
||||
QString userFace = QString("%1/.face.icon").arg(user->homeDir);
|
||||
@@ -113,6 +115,7 @@ namespace SDDM {
|
||||
roleNames[RealNameRole] = "realName";
|
||||
roleNames[HomeDirRole] = "homeDir";
|
||||
roleNames[IconRole] = "icon";
|
||||
+ roleNames[NeedsPasswordRole] = "needsPassword";
|
||||
|
||||
return roleNames;
|
||||
}
|
||||
@@ -145,6 +148,8 @@ namespace SDDM {
|
||||
return user->homeDir;
|
||||
else if (role == IconRole)
|
||||
return user->icon;
|
||||
+ else if (role == NeedsPasswordRole)
|
||||
+ return user->needsPassword;
|
||||
|
||||
// return empty value
|
||||
return QVariant();
|
||||
diff --git a/src/greeter/UserModel.h b/src/greeter/UserModel.h
|
||||
index 8cc355f..99d2770 100644
|
||||
--- a/src/greeter/UserModel.h
|
||||
+++ b/src/greeter/UserModel.h
|
||||
@@ -37,7 +37,8 @@ namespace SDDM {
|
||||
NameRole = Qt::UserRole + 1,
|
||||
RealNameRole,
|
||||
HomeDirRole,
|
||||
- IconRole
|
||||
+ IconRole,
|
||||
+ NeedsPasswordRole
|
||||
};
|
||||
|
||||
UserModel(QObject *parent = 0);
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,25 +0,0 @@
|
||||
From a823ae659f705e80546444a7e991c92b54e48826 Mon Sep 17 00:00:00 2001
|
||||
From: Leonardo <leonardo.guilherme@gmail.com>
|
||||
Date: Wed, 11 Mar 2015 12:21:00 -0300
|
||||
Subject: [PATCH 49/70] Set showPassword according to needsPassword role in
|
||||
maui theme
|
||||
|
||||
---
|
||||
data/themes/maui/Main.qml | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/data/themes/maui/Main.qml b/data/themes/maui/Main.qml
|
||||
index 89c443c..9b3bc78 100644
|
||||
--- a/data/themes/maui/Main.qml
|
||||
+++ b/data/themes/maui/Main.qml
|
||||
@@ -72,6 +72,7 @@ Rectangle {
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
name: (model.realName === "") ? model.name : model.realName
|
||||
icon: model.icon
|
||||
+ showPassword: model.needsPassword
|
||||
|
||||
focus: (listView.currentIndex === index) ? true : false
|
||||
state: (listView.currentIndex === index) ? "active" : ""
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,30 +0,0 @@
|
||||
From 07866210800743a5930f6e77a4ad6cb85b8e51b7 Mon Sep 17 00:00:00 2001
|
||||
From: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
|
||||
Date: Sun, 21 Jun 2015 12:18:17 +0200
|
||||
Subject: [PATCH 50/70] Add a note about needsPassword role and shadow
|
||||
|
||||
The flag will always be true when shadow is used because pw_passwd
|
||||
will contain 'x' even if the password was erased.
|
||||
|
||||
When shadow is used we'll still see the password prompt but we'll
|
||||
be able to login just pressing enter.
|
||||
---
|
||||
src/greeter/UserModel.cpp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/greeter/UserModel.cpp b/src/greeter/UserModel.cpp
|
||||
index 82d123c..2365828 100644
|
||||
--- a/src/greeter/UserModel.cpp
|
||||
+++ b/src/greeter/UserModel.cpp
|
||||
@@ -76,6 +76,8 @@ namespace SDDM {
|
||||
user->homeDir = QString(current_pw->pw_dir);
|
||||
user->uid = int(current_pw->pw_uid);
|
||||
user->gid = int(current_pw->pw_gid);
|
||||
+ // if shadow is used pw_passwd will be 'x' nevertheless, so this
|
||||
+ // will always be true
|
||||
user->needsPassword = strcmp(current_pw->pw_passwd, "") != 0;
|
||||
|
||||
// search for face icon
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,29 +0,0 @@
|
||||
From f7c44a4ece6ec90e33bb61080092430d34394569 Mon Sep 17 00:00:00 2001
|
||||
From: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
|
||||
Date: Tue, 23 Jun 2015 01:00:35 +0200
|
||||
Subject: [PATCH 59/70] Add new platformTheme key to themes
|
||||
|
||||
Set QT_QPA_PLATFORMTHEME based on what the theme says.
|
||||
This allows greeter themes to be further customized with special settings.
|
||||
---
|
||||
src/greeter/GreeterApp.cpp | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/greeter/GreeterApp.cpp b/src/greeter/GreeterApp.cpp
|
||||
index cec9d5e..71c7d86 100644
|
||||
--- a/src/greeter/GreeterApp.cpp
|
||||
+++ b/src/greeter/GreeterApp.cpp
|
||||
@@ -107,6 +107,10 @@ namespace SDDM {
|
||||
if (m_themeConfig->contains("cursorTheme"))
|
||||
qputenv("XCURSOR_THEME", m_themeConfig->value("cursorTheme").toString().toUtf8());
|
||||
|
||||
+ // set platform theme
|
||||
+ if (m_themeConfig->contains("platformTheme"))
|
||||
+ qputenv("QT_QPA_PLATFORMTHEME", m_themeConfig->value("platformTheme").toString().toUtf8());
|
||||
+
|
||||
// create models
|
||||
|
||||
m_sessionModel = new SessionModel();
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,26 +0,0 @@
|
||||
From c7572aa01c9d36124eeacde54f37dcbd4bab6433 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Leclanche <jerome@leclan.ch>
|
||||
Date: Thu, 16 Jul 2015 16:40:59 +0200
|
||||
Subject: [PATCH 69/70] Clock: Do not hardcode date format
|
||||
|
||||
Fixes #384
|
||||
---
|
||||
components/2.0/Clock.qml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/components/2.0/Clock.qml b/components/2.0/Clock.qml
|
||||
index 2f2d811..f03d0bf 100644
|
||||
--- a/components/2.0/Clock.qml
|
||||
+++ b/components/2.0/Clock.qml
|
||||
@@ -54,7 +54,7 @@ Column {
|
||||
|
||||
color: container.color
|
||||
|
||||
- text : Qt.formatDate(container.dateTime, "dddd, MMM dd")
|
||||
+ text : Qt.formatDate(container.dateTime, Qt.DefaultLocaleLongDate)
|
||||
|
||||
font.pointSize: 24
|
||||
}
|
||||
--
|
||||
2.4.3
|
||||
|
Loading…
Reference in new issue