cursormgr: fix cursor gsettings on session change (#7295)

This commit is contained in:
Ikalco 2024-08-13 12:27:00 -05:00 committed by GitHub
parent 77cf651825
commit 39df1f4dbf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 11 additions and 4 deletions

View File

@ -393,6 +393,7 @@ void CCompositor::initAllSignals() {
}
g_pConfigManager->m_bWantsMonitorReload = true;
g_pCursorManager->syncGsettings();
} else {
Debug::log(LOG, "Session got deactivated!");

View File

@ -337,4 +337,8 @@ bool CCursorManager::changeTheme(const std::string& name, const int size) {
updateTheme();
return true;
}
}
void CCursorManager::syncGsettings() {
m_pXcursor->syncGsettings();
}

View File

@ -53,6 +53,7 @@ class CCursorManager {
void updateTheme();
SCursorImageData dataFor(const std::string& name); // for xwayland
void setXWaylandCursor();
void syncGsettings();
void tickAnimatedCursor();
@ -75,4 +76,4 @@ class CCursorManager {
Hyprcursor::SCursorShapeData m_sCurrentCursorShapeData;
};
inline std::unique_ptr<CCursorManager> g_pCursorManager;
inline std::unique_ptr<CCursorManager> g_pCursorManager;

View File

@ -5,6 +5,7 @@
#include <gio/gsettingsschema.h>
#include "config/ConfigValue.hpp"
#include "helpers/CursorShapes.hpp"
#include "../managers/CursorManager.hpp"
#include "debug/Log.hpp"
#include "XCursorManager.hpp"

View File

@ -31,6 +31,7 @@ class CXCursorManager {
void loadTheme(const std::string& name, int size);
SP<SXCursors> getShape(std::string const& shape, int size);
void syncGsettings();
private:
SP<SXCursors> createCursor(std::string const& shape, XcursorImages* xImages);
@ -38,11 +39,10 @@ class CXCursorManager {
std::string getLegacyShapeName(std::string const& shape);
std::vector<SP<SXCursors>> loadStandardCursors(std::string const& name, int size);
std::vector<SP<SXCursors>> loadAllFromDir(std::string const& path, int size);
void syncGsettings();
int lastLoadSize = 0;
std::string themeName = "";
SP<SXCursors> defaultCursor;
SP<SXCursors> hyprCursor;
std::vector<SP<SXCursors>> cursors;
};
};