Shared mem file monitoring

This commit is contained in:
wheaney 2025-07-17 14:22:31 -07:00
parent 0d2d879ab5
commit 126f69936c
2 changed files with 8 additions and 5 deletions

View File

@ -7,6 +7,7 @@
#include <QAction> #include <QAction>
#include <QFile> #include <QFile>
#include <QFileSystemWatcher>
#include <QLoggingCategory> #include <QLoggingCategory>
#include <QQuickItem> #include <QQuickItem>
#include <QTimer> #include <QTimer>
@ -53,10 +54,11 @@ BreezyDesktopEffect::BreezyDesktopEffect()
setSource(QUrl::fromLocalFile(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kwin/effects/breezy_desktop/qml/main.qml")))); setSource(QUrl::fromLocalFile(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kwin/effects/breezy_desktop/qml/main.qml"))));
m_xrRotationTimer = new QTimer(this); // Monitor the IMU file for changes
m_xrRotationTimer->setInterval(16); // ~60Hz const QString shmPath = QStringLiteral("/dev/shm/breezy_desktop_imu");
connect(m_xrRotationTimer, &QTimer::timeout, this, &BreezyDesktopEffect::updateXrRotation); m_xrRotationFileWatcher = new QFileSystemWatcher(this);
m_xrRotationTimer->start(); m_xrRotationFileWatcher->addPath(shmPath);
connect(m_xrRotationFileWatcher, &QFileSystemWatcher::fileChanged, this, &BreezyDesktopEffect::updateXrRotation);
m_cursorUpdateTimer = new QTimer(this); m_cursorUpdateTimer = new QTimer(this);
connect(m_cursorUpdateTimer, &QTimer::timeout, this, &BreezyDesktopEffect::updateCursorPos); connect(m_cursorUpdateTimer, &QTimer::timeout, this, &BreezyDesktopEffect::updateCursorPos);

View File

@ -3,6 +3,7 @@
#include <effect/quickeffect.h> #include <effect/quickeffect.h>
#include <QAction> #include <QAction>
#include <QFileSystemWatcher>
#include <QImage> #include <QImage>
#include <QKeySequence> #include <QKeySequence>
#include <QQuaternion> #include <QQuaternion>
@ -86,7 +87,7 @@ namespace KWin
bool m_isMouseHidden = false; bool m_isMouseHidden = false;
QQuaternion m_xrRotation; QQuaternion m_xrRotation;
QTimer *m_xrRotationTimer = nullptr; QFileSystemWatcher *m_xrRotationFileWatcher = nullptr;
QPointF m_cursorPos; QPointF m_cursorPos;
QTimer *m_cursorUpdateTimer = nullptr; QTimer *m_cursorUpdateTimer = nullptr;
}; };