aboutsummaryrefslogtreecommitdiff
path: root/x11-wm/hyprland/files/patch-wlroots-0.17
blob: f489a10606b1a966e054e4b69db35848075038eb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Revert to wlroots 0.17 API as 0.18 is a moving target, so hard to
use as system package with more than one consumer.

https://github.com/hyprwm/hyprland/commit/2ebfd0c7456e
https://github.com/hyprwm/hyprland/commit/d2c3b23ace74

--- src/Compositor.cpp.orig	2023-11-30 15:20:08 UTC
+++ src/Compositor.cpp
@@ -190,7 +190,7 @@ void CCompositor::initServer() {
 
     m_sWLRGammaCtrlMgr = wlr_gamma_control_manager_v1_create(m_sWLDisplay);
 
-    m_sWLROutputLayout = wlr_output_layout_create(m_sWLDisplay);
+    m_sWLROutputLayout = wlr_output_layout_create();
 
     m_sWLROutputPowerMgr = wlr_output_power_manager_v1_create(m_sWLDisplay);
 
@@ -282,7 +282,7 @@ void CCompositor::initAllSignals() {
 
 void CCompositor::initAllSignals() {
     addWLSignal(&m_sWLRBackend->events.new_output, &Events::listen_newOutput, m_sWLRBackend, "Backend");
-    addWLSignal(&m_sWLRXDGShell->events.new_toplevel, &Events::listen_newXDGToplevel, m_sWLRXDGShell, "XDG Shell");
+    addWLSignal(&m_sWLRXDGShell->events.new_surface, &Events::listen_newXDGToplevel, m_sWLRXDGShell, "XDG Shell");
     addWLSignal(&m_sWLRCursor->events.motion, &Events::listen_mouseMove, m_sWLRCursor, "WLRCursor");
     addWLSignal(&m_sWLRCursor->events.motion_absolute, &Events::listen_mouseMoveAbsolute, m_sWLRCursor, "WLRCursor");
     addWLSignal(&m_sWLRCursor->events.button, &Events::listen_mouseButton, m_sWLRCursor, "WLRCursor");
--- src/events/Windows.cpp.orig	2023-11-30 15:20:08 UTC
+++ src/events/Windows.cpp
@@ -1171,10 +1171,12 @@ void Events::listener_newXDGToplevel(wl_listener* list
 
 void Events::listener_newXDGToplevel(wl_listener* listener, void* data) {
     // A window got opened
-    const auto XDGTOPLEVEL = (wlr_xdg_toplevel*)data;
-    const auto XDGSURFACE  = XDGTOPLEVEL->base;
+    const auto XDGSURFACE = (wlr_xdg_surface*)data;
 
-    Debug::log(LOG, "New XDG Toplevel created. (class: {})", XDGSURFACE->toplevel->app_id ? XDGSURFACE->toplevel->app_id : "null");
+    if (XDGSURFACE->role != WLR_XDG_SURFACE_ROLE_TOPLEVEL)
+        return;
+
+    Debug::log(LOG, "New XDG Surface created. (class: {})", XDGSURFACE->toplevel->app_id ? XDGSURFACE->toplevel->app_id : "null");
 
     const auto PNEWWINDOW      = g_pCompositor->m_vWindows.emplace_back(std::make_unique<CWindow>()).get();
     PNEWWINDOW->m_uSurface.xdg = XDGSURFACE;
--- src/includes.hpp.orig	2023-11-30 15:20:08 UTC
+++ src/includes.hpp
@@ -105,7 +105,6 @@ extern "C" {
 #include <wlr/types/wlr_cursor_shape_v1.h>
 #include <wlr/types/wlr_tearing_control_v1.h>
 #include <wlr/util/box.h>
-#include <wlr/util/transform.h>
 #include <wlr/render/swapchain.h>
 #include <wlr/render/egl.h>