seat: implement drag and drop

This commit is contained in:
Isaac Freund
2020-09-10 01:13:47 +02:00
parent 976a3ce73d
commit f597e7da63
5 changed files with 122 additions and 22 deletions

View File

@ -29,6 +29,7 @@ const Server = @import("Server.zig");
const View = @import("View.zig");
const ViewStack = @import("view_stack.zig").ViewStack;
const XwaylandUnmanaged = @import("XwaylandUnmanaged.zig");
const DragIcon = @import("DragIcon.zig");
/// Responsible for all windowing operations
server: *Server,
@ -40,6 +41,8 @@ outputs: std.TailQueue(Output) = std.TailQueue(Output).init(),
/// It is not advertised to clients.
noop_output: Output = undefined,
drag_icons: std.SinglyLinkedList(DragIcon) = std.SinglyLinkedList(DragIcon).init(),
/// This list stores all unmanaged Xwayland windows. This needs to be in root
/// since X is like the wild west and who knows where these things will go.
xwayland_unmanaged_views: if (build_options.xwayland)