config: use hash sets for filters, clean up code
This commit is contained in:
@ -18,6 +18,7 @@
|
||||
const Self = @This();
|
||||
|
||||
const std = @import("std");
|
||||
const mem = std.mem;
|
||||
const wlr = @import("wlroots");
|
||||
const wl = @import("wayland").server.wl;
|
||||
|
||||
@ -62,11 +63,9 @@ fn handleRequestMode(
|
||||
const self = @fieldParentPtr(Self, "request_mode", listener);
|
||||
|
||||
const toplevel = self.xdg_toplevel_decoration.surface.role_data.toplevel;
|
||||
const app_id: [*:0]const u8 = if (toplevel.app_id) |id| id else "NULL";
|
||||
|
||||
_ = self.xdg_toplevel_decoration.setMode(
|
||||
for (server.config.csd_filter.items) |filter_app_id| {
|
||||
if (std.mem.eql(u8, std.mem.span(app_id), filter_app_id)) break .client_side;
|
||||
} else .server_side,
|
||||
);
|
||||
if (toplevel.app_id != null and server.config.csd_filter.contains(mem.span(toplevel.app_id.?))) {
|
||||
_ = self.xdg_toplevel_decoration.setMode(.client_side);
|
||||
} else {
|
||||
_ = self.xdg_toplevel_decoration.setMode(.server_side);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user