View: fix checks to respect client side move/resize
This commit is contained in:
		| @ -311,7 +311,7 @@ fn handleCommit(listener: *wl.Listener(*wlr.Surface), surface: *wlr.Surface) voi | ||||
|         view.surface_box = new_box; | ||||
|         // If the client has decided to resize itself and the view is floating, | ||||
|         // then respect that resize. | ||||
|         if (view.pending.float and size_changed) { | ||||
|         if ((self.view.pending.float or self.view.output.pending.layout == null) and size_changed) { | ||||
|             view.pending.box.width = new_box.width; | ||||
|             view.pending.box.height = new_box.height; | ||||
|             view.applyPending(); | ||||
| @ -348,7 +348,7 @@ fn handleRequestMove( | ||||
| ) void { | ||||
|     const self = @fieldParentPtr(Self, "request_move", listener); | ||||
|     const seat = @intToPtr(*Seat, event.seat.seat.data); | ||||
|     if ((self.view.pending.float or self.view.output.current.layout == null) and !self.view.pending.fullscreen) | ||||
|     if ((self.view.pending.float or self.view.output.pending.layout == null) and !self.view.pending.fullscreen) | ||||
|         seat.cursor.enterMode(.move, self.view); | ||||
| } | ||||
|  | ||||
| @ -356,7 +356,7 @@ fn handleRequestMove( | ||||
| fn handleRequestResize(listener: *wl.Listener(*wlr.XdgToplevel.event.Resize), event: *wlr.XdgToplevel.event.Resize) void { | ||||
|     const self = @fieldParentPtr(Self, "request_resize", listener); | ||||
|     const seat = @intToPtr(*Seat, event.seat.seat.data); | ||||
|     if ((self.view.pending.float or self.view.output.current.layout == null) and !self.view.pending.fullscreen) | ||||
|     if ((self.view.pending.float or self.view.output.pending.layout == null) and !self.view.pending.fullscreen) | ||||
|         seat.cursor.enterMode(.resize, self.view); | ||||
| } | ||||
|  | ||||
|  | ||||
| @ -140,7 +140,7 @@ fn apply(view: *View) void { | ||||
|     // dimensions are set by a layout client. If however the views are | ||||
|     // unarranged, leave them as non-floating so the next active layout can | ||||
|     // affect them. | ||||
|     if (view.output.current.layout != null) | ||||
|     if (view.output.pending.layout != null) | ||||
|         view.pending.float = true; | ||||
|  | ||||
|     view.float_box = view.pending.box; | ||||
|  | ||||
| @ -38,7 +38,7 @@ pub fn toggleFloat( | ||||
|         // If views are unarranged, don't allow changing the views float status. | ||||
|         // It would just lead to confusing because this state would not be | ||||
|         // visible immediately, only after a layout is connected. | ||||
|         if (view.output.current.layout == null) | ||||
|         if (view.output.pending.layout == null) | ||||
|             return; | ||||
|  | ||||
|         // Don't float fullscreen views | ||||
|  | ||||
		Reference in New Issue
	
	Block a user