Skip to content

Commit

Permalink
fix: cannot set wallpaper
Browse files Browse the repository at this point in the history
not set current user

Log:
  • Loading branch information
justforlxz committed Jan 24, 2024
1 parent cfe096f commit 75c1347
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 5 deletions.
5 changes: 0 additions & 5 deletions src/treeland/quick/protocols/qwpersonalizationmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -107,11 +107,6 @@ QuickPersonalizationManager::QuickPersonalizationManager(QObject *parent)
}

PERSONALIZATION_MANAGER = this;

#ifndef NDEBUG
#include <unistd.h>
setCurrentUserId(getuid());
#endif
}

void QuickPersonalizationManager::create() {
Expand Down
3 changes: 3 additions & 0 deletions src/treeland/quick/qml/Main.qml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ Item {

PersonalizationManager {
id: personalizationManager
Component.onCompleted: {
TreeLand.personalManager = personalizationManager
}
}

WaylandBackend {
Expand Down
10 changes: 10 additions & 0 deletions src/treeland/treeland.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@
#include <QQmlApplicationEngine>
#include <QQuickStyle>

#include <pwd.h>

Q_IMPORT_PLUGIN(TreeLand_ProtocolsPlugin)
Q_IMPORT_PLUGIN(TreeLand_UtilsPlugin)

Expand Down Expand Up @@ -148,6 +150,11 @@ void TreeLand::setSocketProxy(WaylandSocketProxy *socketProxy)
m_socketProxy = socketProxy;
}

void TreeLand::setPersonalManager(QuickPersonalizationManager *manager)
{
m_personalManager = manager;
}

void TreeLand::retranslate() noexcept {
m_engine->retranslate();
}
Expand Down Expand Up @@ -193,6 +200,9 @@ void TreeLand::readyRead() {
input >> user;

m_socketProxy->activateUser(user);

struct passwd *pwd = getpwnam(user.toUtf8());
m_personalManager->setCurrentUserId(pwd->pw_uid);
}
break;
case DaemonMessages::SwitchToGreeter: {
Expand Down
8 changes: 8 additions & 0 deletions src/treeland/treeland.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#pragma once

#include "waylandsocketproxy.h"
#include "quick/protocols/qwpersonalizationmanager.h"

#include <QGuiApplication>
#include <QLocalSocket>
Expand All @@ -20,6 +21,7 @@ struct TreeLandAppContext {
class TreeLand : public QObject {
Q_OBJECT
Q_PROPERTY(WaylandSocketProxy* socketProxy READ socketProxy WRITE setSocketProxy)
Q_PROPERTY(QuickPersonalizationManager* personalManager READ personalManager WRITE setPersonalManager)
Q_PROPERTY(bool testMode READ testMode CONSTANT)

public:
Expand All @@ -29,6 +31,10 @@ class TreeLand : public QObject {
return m_socketProxy;
}

inline QuickPersonalizationManager* personalManager() const {
return m_personalManager;
}

Q_INVOKABLE void retranslate() noexcept;

bool testMode() const;
Expand All @@ -45,12 +51,14 @@ private Q_SLOTS:
private:
void setup();
void setSocketProxy(WaylandSocketProxy *socketProxy);
void setPersonalManager(QuickPersonalizationManager *manager);

private:
TreeLandAppContext m_context;
QLocalSocket *m_socket;
QLocalSocket *m_helperSocket;
QQmlApplicationEngine *m_engine;
WaylandSocketProxy *m_socketProxy;
QuickPersonalizationManager *m_personalManager;
};
}

0 comments on commit 75c1347

Please sign in to comment.