View: only send configures through transactions

This reduces the number of separate configure events sent to clients
through better batching and is also more correct.
This commit is contained in:
Isaac Freund
2023-03-01 20:44:13 +01:00
parent ed0aa73670
commit 83fe764fcd
7 changed files with 39 additions and 82 deletions

View File

@ -220,7 +220,6 @@ pub fn setFocusRaw(self: *Self, new_focus: FocusTarget) void {
switch (self.focused) {
.view => |view| {
view.pending.focus -= 1;
if (view.pending.focus == 0) view.setActivated(false);
view.destroyPopups();
},
.layer => |layer_surface| {
@ -234,7 +233,6 @@ pub fn setFocusRaw(self: *Self, new_focus: FocusTarget) void {
.view => |target_view| {
assert(server.lock_manager.state != .locked);
assert(self.focused_output == target_view.pending.output);
if (target_view.pending.focus == 0) target_view.setActivated(true);
target_view.pending.focus += 1;
target_view.pending.urgent = false;
},