aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsaac Freund <ifreund@ifreund.xyz>2021-05-13 15:08:53 +0200
committerIsaac Freund <ifreund@ifreund.xyz>2021-05-13 15:08:53 +0200
commit50cdcf3ee48a912f8f89f5cb350c284e65290fce (patch)
treee8a50860dc31a7b1a705aefb47b5608ff2bc53c9
parent3d031631c768dc9030b4a2a69cfd23def22d5e63 (diff)
downloadriver-50cdcf3ee48a912f8f89f5cb350c284e65290fce.tar.gz
river-50cdcf3ee48a912f8f89f5cb350c284e65290fce.tar.xz
river: remove all stored *Root pointers
These are no longer needed as server is global.
-rw-r--r--river/Output.zig1
-rw-r--r--river/Server.zig2
-rw-r--r--river/View.zig1
-rw-r--r--river/XwaylandUnmanaged.zig13
4 files changed, 6 insertions, 11 deletions
diff --git a/river/Output.zig b/river/Output.zig
index 9731192..f66ffee 100644
--- a/river/Output.zig
+++ b/river/Output.zig
@@ -33,7 +33,6 @@ const Box = @import("Box.zig");
const LayerSurface = @import("LayerSurface.zig");
const Layout = @import("Layout.zig");
const LayoutDemand = @import("LayoutDemand.zig");
-const Root = @import("Root.zig");
const View = @import("View.zig");
const ViewStack = @import("view_stack.zig").ViewStack;
const AttachMode = @import("view_stack.zig").AttachMode;
diff --git a/river/Server.zig b/river/Server.zig
index d887541..0f059e0 100644
--- a/river/Server.zig
+++ b/river/Server.zig
@@ -236,7 +236,7 @@ fn handleNewXwaylandSurface(listener: *wl.Listener(*wlr.XwaylandSurface), wlr_xw
// The unmanged surface will add itself to the list of unmanaged views
// in Root when it is mapped.
const node = util.gpa.create(std.TailQueue(XwaylandUnmanaged).Node) catch return;
- node.data.init(&self.root, wlr_xwayland_surface);
+ node.data.init(wlr_xwayland_surface);
return;
}
diff --git a/river/View.zig b/river/View.zig
index 8d09e8e..394dde4 100644
--- a/river/View.zig
+++ b/river/View.zig
@@ -29,7 +29,6 @@ const util = @import("util.zig");
const Box = @import("Box.zig");
const Output = @import("Output.zig");
-const Root = @import("Root.zig");
const Seat = @import("Seat.zig");
const ViewStack = @import("view_stack.zig").ViewStack;
const XdgToplevel = @import("XdgToplevel.zig");
diff --git a/river/XwaylandUnmanaged.zig b/river/XwaylandUnmanaged.zig
index f6ac480..d7d3fdd 100644
--- a/river/XwaylandUnmanaged.zig
+++ b/river/XwaylandUnmanaged.zig
@@ -21,12 +21,10 @@ const std = @import("std");
const wlr = @import("wlroots");
const wl = @import("wayland").server.wl;
+const server = &@import("main.zig").server;
const util = @import("util.zig");
const Box = @import("Box.zig");
-const Root = @import("Root.zig");
-
-root: *Root,
/// The corresponding wlroots object
xwayland_surface: *wlr.XwaylandSurface,
@@ -40,8 +38,8 @@ destroy: wl.Listener(*wlr.XwaylandSurface) = wl.Listener(*wlr.XwaylandSurface).i
map: wl.Listener(*wlr.XwaylandSurface) = wl.Listener(*wlr.XwaylandSurface).init(handleMap),
unmap: wl.Listener(*wlr.XwaylandSurface) = wl.Listener(*wlr.XwaylandSurface).init(handleUnmap),
-pub fn init(self: *Self, root: *Root, xwayland_surface: *wlr.XwaylandSurface) void {
- self.* = .{ .root = root, .xwayland_surface = xwayland_surface };
+pub fn init(self: *Self, xwayland_surface: *wlr.XwaylandSurface) void {
+ self.* = .{ .xwayland_surface = xwayland_surface };
// Add listeners that are active over the the entire lifetime
xwayland_surface.events.request_configure.add(&self.request_configure);
@@ -75,11 +73,10 @@ fn handleDestroy(listener: *wl.Listener(*wlr.XwaylandSurface), xwayland_surface:
/// Called when the xwayland surface is mapped, or ready to display on-screen.
fn handleMap(listener: *wl.Listener(*wlr.XwaylandSurface), xwayland_surface: *wlr.XwaylandSurface) void {
const self = @fieldParentPtr(Self, "map", listener);
- const root = self.root;
// Add self to the list of unmanaged views in the root
const node = @fieldParentPtr(std.TailQueue(Self).Node, "data", self);
- root.xwayland_unmanaged_views.prepend(node);
+ server.root.xwayland_unmanaged_views.prepend(node);
// TODO: handle keyboard focus
// if (wlr_xwayland_or_surface_wants_focus(self.xwayland_surface)) { ...
@@ -91,5 +88,5 @@ fn handleUnmap(listener: *wl.Listener(*wlr.XwaylandSurface), xwayland_surface: *
// Remove self from the list of unmanged views in the root
const node = @fieldParentPtr(std.TailQueue(Self).Node, "data", self);
- self.root.xwayland_unmanaged_views.remove(node);
+ server.root.xwayland_unmanaged_views.remove(node);
}