summaryrefslogtreecommitdiff
path: root/src/Compositor.hpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-02 13:02:16 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-02 13:02:16 +0200
commit4db773b1e7d51cd008ae24f4c457710e8360fef7 (patch)
treeea4eef4525593111bc8c8fcfe17445a6f8b727f6 /src/Compositor.hpp
parentca2459e56331d7522a5e05bb258e06ad30388968 (diff)
Fix popups focus on native GDK
Diffstat (limited to 'src/Compositor.hpp')
-rw-r--r--src/Compositor.hpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Compositor.hpp b/src/Compositor.hpp
index 5d67356d..bca0e3c5 100644
--- a/src/Compositor.hpp
+++ b/src/Compositor.hpp
@@ -60,6 +60,7 @@ public:
void startCompositor();
wlr_surface* m_pLastFocus = nullptr;
+ wlr_surface* m_pLastFocusWindow = nullptr;
SMonitor* m_pLastMonitor = nullptr;
SSeat m_sSeat;
@@ -71,13 +72,14 @@ public:
SMonitor* getMonitorFromVector(const Vector2D&);
void removeWindowFromVectorSafe(CWindow*);
void focusWindow(CWindow*);
- void focusSurface(wlr_surface*);
+ void focusSurface(wlr_surface*, CWindow* pWindowOwner = nullptr);
bool windowExists(CWindow*);
bool windowValidMapped(CWindow*);
CWindow* vectorToWindow(const Vector2D&);
CWindow* vectorToWindowIdeal(const Vector2D&);
CWindow* vectorToWindowTiled(const Vector2D&);
wlr_surface* vectorToLayerSurface(const Vector2D&, std::list<SLayerSurface*>*, Vector2D*);
+ wlr_surface* vectorWindowToSurface(const Vector2D&, CWindow*, Vector2D& sl);
CWindow* windowFromCursor();
CWindow* windowFloatingFromCursor();
SMonitor* getMonitorFromOutput(wlr_output*);
@@ -91,6 +93,7 @@ public:
void fixXWaylandWindowsOnWorkspace(const int&);
CWindow* getFullscreenWindowOnWorkspace(const int&);
bool doesSeatAcceptInput(wlr_surface*);
+ bool isWindowActive(CWindow*);
private:
void initAllSignals();