feat: add plasma-face-unlock
This commit is contained in:
commit
f671acc93b
105 files changed
+13862
No files matched your search
@@ -0,0 +1,43 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
//
|
||||
// The window the bubble lives in.
|
||||
//
|
||||
// A layer-shell surface on the overlay layer, anchored to the top edge and
|
||||
// transparent to input, so it floats above everything the way the island on a
|
||||
// phone does and never takes a click or a key from what is under it.
|
||||
//
|
||||
// On top of that it asks KWin to keep showing it while the screen is locked
|
||||
// (kde_lockscreen_overlay_v1). KWin only grants that to programs whose desktop
|
||||
// file lists the interface, which the one installed with this does. The
|
||||
// request has to be made for every new surface role, before it is mapped, so
|
||||
// it is repeated each time the window is shown again.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <QPointer>
|
||||
|
||||
#include <memory>
|
||||
|
||||
class QQuickView;
|
||||
class QQmlEngine;
|
||||
class BubbleController;
|
||||
class LockscreenOverlay;
|
||||
|
||||
class BubbleWindow : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
BubbleWindow(QQmlEngine *engine, BubbleController *controller, QObject *parent = nullptr);
|
||||
~BubbleWindow() override;
|
||||
|
||||
private:
|
||||
void create();
|
||||
void update();
|
||||
void allowOverLockscreen();
|
||||
|
||||
QQmlEngine *m_engine;
|
||||
BubbleController *m_controller;
|
||||
QPointer<QQuickView> m_view;
|
||||
std::unique_ptr<LockscreenOverlay> m_overlay;
|
||||
};
|
||||
Reference in new issue
Block a user