aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-03-04presentation-time: support protocolIsaac Freund1-0/+3
2023-03-04Server: remove headless backendIsaac Freund1-5/+0
This was previously used to create a noop output, but we no longer rely on that hack.
2023-03-04SceneNodeData: allow access from wlr_surfacesIsaac Freund11-53/+80
This replaces the old View.fromWlrSurface function and is more general. This commit also moves the xdg activation request_activate listener to Server as it has no reason to be in View.
2023-03-04river: clean up some uneeded TODOsIsaac Freund4-9/+0
2023-03-04river: fix a few leaksIsaac Freund4-0/+8
2023-03-04Cursor: store offset and warp cursor during moveIsaac Freund1-4/+17
This is more reliable since it uses absolute coordinates instead of a relative movement which could cause the cursor position to get out of sync with the view. This is the same approach used for resize.
2023-03-04View: rework configure abstractionIsaac Freund4-105/+110
- Move the decision whether a configure should be tracked or not into the xdg toplevel/xwayland code. - Only track configures for xdg toplevels with the transaction system if the dimensions of the view are affected.
2023-03-03xdg-shell: honor client move/resize requestsIsaac Freund2-1/+50
2023-03-03Cursor: allow resizing from all edgesIsaac Freund1-45/+157
Co-authored-by: Leon Henrik Plickat <leonhenrik.plickat@stud.uni-goettingen.de>
2023-03-03deps: update zig-wlroots to fix Xwayland crashIsaac Freund2-2/+2
2023-03-03Xwayland: hide override redirect windows if lockedIsaac Freund1-0/+11
2023-03-03Root: keep all fullscreen views the correct sizeIsaac Freund3-41/+16
Currently we may resize fullscreen views when they become visible/not visible when switching tags even if their fullscreen state remains constant. This is suboptimal, and as it turns out also much more complex to implement.
2023-03-02XdgToplevel: fix size_changed check on commitIsaac Freund1-16/+18
We need to initialize the geometry on map to ensure the first commit is handled correctly. Also we don't care about the x/y of the geometry, only the width/height.
2023-03-02Xwayland: fix has_fixed_size heuristic for floatingIsaac Freund1-1/+2
2023-03-02View: handle destroy during inflight layout demandIsaac Freund4-47/+39
2023-03-02river: render floating views above the layoutIsaac Freund2-5/+20
2023-03-01View: fix frame perfection on unmapIsaac Freund2-3/+15
2023-03-01View: only send configures through transactionsIsaac Freund7-82/+39
This reduces the number of separate configure events sent to clients through better batching and is also more correct.
2023-03-01Output: fix background of transformed outputsIsaac Freund2-13/+18
2023-03-01Root: fix use of view.current before updateIsaac Freund1-2/+2
In commitTransaction() we currently the current view state to determine whether or not to enable the view's scene tree. However we don't update the view's current state until after that check.
2023-03-01View: clamp to output on exiting float/fullscreenIsaac Freund4-42/+51
2023-03-01View: move borders state to State structIsaac Freund5-10/+9
This state affects rendering, so it should pass through the transaction system like the rest.
2023-03-01Root: fix more fullscreen bugsIsaac Freund2-28/+39
Moving fullscreen views between outputs now works properly. A case in which we did not inform the client that it is no longer fullscreen has been fixed as well.
2023-03-01session-lock: fix race with multiple outputsIsaac Freund1-2/+10
The race is as follows: 1. Output A commits and sets render state to pending_lock_surface 2. Output B commits and sets render state to pending_lock_surface 3. Output A presents and sets render state to lock_surface 4. maybeLock() does not lock because waiting on output B 5. Output A commits and sets render state to pending_lock_surface 6. Output B presents and sets render state to lock_surface 4. maybeLock() does not lock because waiting on output A
2023-03-01Output: inline renderOutput functionIsaac Freund2-68/+40
Having this in a separate file no longer makes sense since the switch to the scene graph.
2023-03-01Root: centralize focus(null) calls in applyPending()Isaac Freund11-39/+21
2023-02-28csd-filter-add/remove: add missing applyPending()Isaac Freund1-0/+2
A transaction is now necessary to update border state.
2023-02-28river: fix various fullscreen related bugsIsaac Freund5-87/+111
2023-02-28LayerSurface: fix use-after-free on destroyIsaac Freund4-10/+12
The scene_layer_surface may be destroyed before handleDestroy is called, which means we can't rely on it to access the wlr_layer_surface in destroyPopups().
2023-02-28OutputStatus: rework implementationIsaac Freund5-128/+147
This was motivated by the view tags not being proplerly updated by Root.commitTransaction() when there were no views on an output.
2023-02-28river: rework core data structures & transactionsIsaac Freund34-1537/+1021
2023-02-28View: use saved surface trees for transactionsIsaac Freund4-108/+86
2023-02-28Xwayland: render using the scene graphIsaac Freund6-59/+79
2023-02-28DragIcon: render using the scene graphIsaac Freund5-20/+99
2023-02-28xdg-shell: implement version 5Isaac Freund2-1/+3
2023-02-28XdgPopup: reimplement using the scene graphIsaac Freund7-10/+185
xdg-shell version 3 is now implemented, supporting popup repositioning.
2023-02-28LayerSurface: render using the scene graphIsaac Freund7-290/+152
This also brings a lot of code cleanup and proper support for version 4 of the protocol.
2023-02-28View: remove dead codeIsaac Freund1-18/+0
wl_output.enter/leave is handled by wlr_scene now.
2023-02-28Xwayland: create scene treeIsaac Freund1-2/+8
2023-02-28View: implement borders with scene graphIsaac Freund4-12/+56
2023-02-28Output: use separate scene trees for layersIsaac Freund6-20/+92
2023-02-28session-lock: use the scene graphIsaac Freund9-62/+135
2023-02-28Cursor: remove surfaceAt()Isaac Freund6-307/+152
We now use the wlr_scene API to find out what is at the cursor location.
2023-02-28render: use wlr_scene to render viewsIsaac Freund13-440/+77
2023-02-28wlr-foreign-toplevel-management: remove protocolIsaac Freund2-77/+2
This can be re implemented after the migration to the scene graph is complete.
2023-02-28render: remove damage trackingIsaac Freund14-503/+7
This will be handled by wlr_scene shortly.
2023-02-28pointer-constraints: remove protocolIsaac Freund5-207/+6
This implementation as it stands is incomplete/buggy and will make updating to wlr_scene more complex. It will be reimplemented after updating to wlr_scene is complete.
2023-02-28Keyboard: fix keyboard-layout mapping crashIsaac Freund1-1/+4
2023-02-27deps: update to latest zig-wayland/zig-wlrootsIsaac Freund2-0/+0
2023-02-27deps: update to latest zig-wayland/zig-wlrootsIsaac Freund3-1/+1