aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorvaxerski <[email protected]>2022-11-19 16:28:04 +0000
committervaxerski <[email protected]>2022-11-19 16:28:04 +0000
commitdf132e5ff3395a15c1b48461cc588e4222ae1e02 (patch)
tree93c701bf79af1c8033f105f6db40926aab1272de
parent0ffaa8d6673c02e9360865c8cde69a606c036af7 (diff)
downloadHyprland-df132e5ff3395a15c1b48461cc588e4222ae1e02.tar.gz
Hyprland-df132e5ff3395a15c1b48461cc588e4222ae1e02.zip
update wlroots dep
-rw-r--r--src/Compositor.cpp6
-rw-r--r--src/events/Events.hpp1
-rw-r--r--src/events/Monitors.cpp7
-rw-r--r--src/helpers/Monitor.cpp4
-rw-r--r--src/helpers/Monitor.hpp2
-rw-r--r--src/helpers/SubsurfaceTree.cpp4
m---------subprojects/wlroots0
7 files changed, 16 insertions, 8 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index 5e8910e6..e6a39c7b 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -53,7 +53,7 @@ CCompositor::CCompositor() {
wl_event_loop_add_signal(m_sWLEventLoop, SIGTERM, handleCritSignal, nullptr);
//wl_event_loop_add_signal(m_sWLEventLoop, SIGINT, handleCritSignal, nullptr);
- m_sWLRBackend = wlr_backend_autocreate(m_sWLDisplay);
+ m_sWLRBackend = wlr_backend_autocreate(m_sWLDisplay, &m_sWLRSession);
if (!m_sWLRBackend) {
Debug::log(CRIT, "m_sWLRBackend was NULL!");
@@ -132,7 +132,7 @@ CCompositor::CCompositor() {
m_sWLRIdle = wlr_idle_create(m_sWLDisplay);
- m_sWLRLayerShell = wlr_layer_shell_v1_create(m_sWLDisplay);
+ m_sWLRLayerShell = wlr_layer_shell_v1_create(m_sWLDisplay, 4);
m_sWLRServerDecoMgr = wlr_server_decoration_manager_create(m_sWLDisplay);
m_sWLRXDGDecoMgr = wlr_xdg_decoration_manager_v1_create(m_sWLDisplay);
@@ -173,8 +173,6 @@ CCompositor::CCompositor() {
m_sWLRPointerGestures = wlr_pointer_gestures_v1_create(m_sWLDisplay);
- m_sWLRSession = wlr_backend_get_session(m_sWLRBackend);
-
m_sWLRTextInputMgr = wlr_text_input_manager_v3_create(m_sWLDisplay);
m_sWLRIMEMgr = wlr_input_method_manager_v2_create(m_sWLDisplay);
diff --git a/src/events/Events.hpp b/src/events/Events.hpp
index 4b6d8f76..e3088110 100644
--- a/src/events/Events.hpp
+++ b/src/events/Events.hpp
@@ -96,6 +96,7 @@ namespace Events {
// Monitor part 2 the sequel
DYNLISTENFUNC(monitorFrame);
DYNLISTENFUNC(monitorDestroy);
+ DYNLISTENFUNC(monitorStateRequest);
// XWayland
LISTENER(readyXWayland);
diff --git a/src/events/Monitors.cpp b/src/events/Monitors.cpp
index 1924fe22..4414187a 100644
--- a/src/events/Monitors.cpp
+++ b/src/events/Monitors.cpp
@@ -354,3 +354,10 @@ void Events::listener_monitorDestroy(void* owner, void* data) {
}
}
}
+
+void Events::listener_monitorStateRequest(void* owner, void* data) {
+ const auto PMONITOR = (CMonitor*)owner;
+ const auto E = (wlr_output_event_request_state*)data;
+
+ wlr_output_commit_state(PMONITOR->output, E->state);
+}
diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp
index c7fc6750..76150f9b 100644
--- a/src/helpers/Monitor.cpp
+++ b/src/helpers/Monitor.cpp
@@ -5,8 +5,10 @@
void CMonitor::onConnect(bool noRule) {
hyprListener_monitorDestroy.removeCallback();
hyprListener_monitorFrame.removeCallback();
+ hyprListener_monitorStateRequest.removeCallback();
hyprListener_monitorFrame.initCallback(&output->events.frame, &Events::listener_monitorFrame, this);
hyprListener_monitorDestroy.initCallback(&output->events.destroy, &Events::listener_monitorDestroy, this);
+ hyprListener_monitorStateRequest.initCallback(&output->events.request_state, &Events::listener_monitorStateRequest, this);
if (m_bEnabled) {
wlr_output_enable(output, 1);
@@ -183,7 +185,7 @@ void CMonitor::onDisconnect() {
if (!BACKUPMON) {
Debug::log(WARN, "Unplugged last monitor, entering an unsafe state. Good luck my friend.");
- hyprListener_monitorMode.removeCallback();
+ hyprListener_monitorStateRequest.removeCallback();
hyprListener_monitorDestroy.removeCallback();
g_pCompositor->m_bUnsafeState = true;
diff --git a/src/helpers/Monitor.hpp b/src/helpers/Monitor.hpp
index 0f789781..c2cc179b 100644
--- a/src/helpers/Monitor.hpp
+++ b/src/helpers/Monitor.hpp
@@ -56,7 +56,7 @@ public:
DYNLISTENER(monitorFrame);
DYNLISTENER(monitorDestroy);
- DYNLISTENER(monitorMode);
+ DYNLISTENER(monitorStateRequest);
// hack: a group = workspaces on a monitor.
// I don't really care lol :P
diff --git a/src/helpers/SubsurfaceTree.cpp b/src/helpers/SubsurfaceTree.cpp
index 349f5090..a41030f5 100644
--- a/src/helpers/SubsurfaceTree.cpp
+++ b/src/helpers/SubsurfaceTree.cpp
@@ -3,8 +3,8 @@
#include "../Compositor.hpp"
void addSurfaceGlobalOffset(SSurfaceTreeNode* node, int* lx, int* ly) {
- *lx += node->pSurface->sx;
- *ly += node->pSurface->sy;
+ *lx += node->pSurface->current.dx;
+ *ly += node->pSurface->current.dy;
if (node->offsetfn) {
// This is the root node
diff --git a/subprojects/wlroots b/subprojects/wlroots
-Subproject 627a5c511278e67c3c308cdc6a639cbb490f48c
+Subproject 4ff46e6cf9463e594605928feeb7c55cf323b5e