Ryan Dwyer
d7169ee7ff
Replace list_empty with a simple alternative
7 years ago
Ryan Dwyer
9652529cc1
Allow views to skip configures
...
To do this properly, the transaction queue will only be processed if it
can be completely processed.
7 years ago
Ryan Dwyer
e6829c5991
Move unsetting of view->surface into view_unmap
7 years ago
Ryan Dwyer
be86d3aba6
Remove transaction_add_damage
...
Instead, damage each container when applying the transaction.
7 years ago
Ryan Dwyer
61c1187685
Fix nitpicks
7 years ago
Ryan Dwyer
834805f5e2
Fix crash when disconnecting output
...
We were freeing the sway_output immediately upon disconnect which left
a dangling pointer in the output's container. It then tried to use the
pointer when the container is freed.
We don't need to store the sway_output in an output's container which is
destroying, so the fix is to set the pointer to NULL and remove the use
in container_free.
Also added an arrange when the output is disconnected for good measure.
7 years ago
Ryan Dwyer
0085f64ac0
Remove timer when transaction destroys
7 years ago
Ryan Dwyer
e8001e6fbe
Damage output when views toggle fullscreen
...
Also add workspace to the transaction when a view maps in fullscreen
mode.
7 years ago
Ryan Dwyer
50190bc760
Rename view's free callback to destroy
7 years ago
Ryan Dwyer
7a922c65aa
Damage output when a fullscreen view unmaps
...
Also moved the arranging into view_unmap to avoid excessive code
duplication.
7 years ago
Ryan Dwyer
beacd4d9f9
Rename progress_queue to transaction_progress_queue
7 years ago
Ryan Dwyer
c371ff3de8
Implement per-configure debug timings
7 years ago
Ryan Dwyer
289d696adc
Implement transaction timings debug
...
Launch sway with SWAY_DEBUG=txn_timings to enable it.
7 years ago
Ryan Dwyer
1549fb719a
Implement atomic layout updates for xwayland views
7 years ago
Ryan Dwyer
33e03cb277
Fix crash related to stacks and tabs
7 years ago
Ryan Dwyer
f08a30d6d0
Force transactions to complete in order
...
This forces transactions to complete in order by using a singly linked
list stored in the sway server.
7 years ago
Ryan Dwyer
32b865e610
Fix crash when deleting last child in a tabbed or stacked container
...
There was no `current` child because the container was destroyed. This
makes it fall back to looking in the parent's current children list.
7 years ago
Ryan Dwyer
38398e2d77
Implement atomic layout updates for tree operations
...
This implements atomic layout updates for when views map, reparent or
unmap.
7 years ago
Ryan Dwyer
1c89f32533
Preserve buffers during transactions
...
* Also fix parts of the rendering where it was rendering the pending
state instead of current.
7 years ago
Ryan Dwyer
645bf446fa
Merge remote-tracking branch 'upstream/master' into atomic
7 years ago
emersion
088cae45c8
Update for swaywm/wlroots#1060
7 years ago
Ryan Dwyer
9e96cfd310
Merge remote-tracking branch 'upstream/master' into atomic
7 years ago
emersion
cfd02918c0
Render drag icons
7 years ago
emersion
88cd7616db
Fix compilation errors related to disabled outputs
7 years ago
Ryan Dwyer
bb66e6d578
Refactor everything that needs to arrange windows
...
* The arrange_foo functions are now replaced with arrange_and_commit, or
with manually created transactions and arrange_windows x2.
* The arrange functions are now only called from the highest level
functions rather than from both high level and low level functions.
* Due to the previous point, view_set_fullscreen_raw and
view_set_fullscreen are both merged into one function again.
* Floating and fullscreen are now working with transactions.
7 years ago
Ryan Dwyer
f9e6d703d2
Make main properties be the pending state
7 years ago
Ryan Dwyer
59c9488701
WIP: Atomic layout updates ground work
7 years ago
Brian Ashworth
e072fbc6d9
Switch output storing from list_t to wl_list
7 years ago
Brian Ashworth
a0bbe67076
Address emersions comments on output re-enabling
7 years ago
Brian Ashworth
a1b5b93d29
Store sway_outputs so that they can be reenabled
7 years ago
emersion
0f71547032
Merge pull request #2095 from emersion/fullscreen-damage-only-visible
...
Only send frame to visible surfaces when fullscreened
7 years ago
Ryan Dwyer
1206a60977
Don't restore focus if unmapping surface wasn't focused
7 years ago
Ryan Dwyer
9253278328
Restore focus when unmapping layer shell surfaces
7 years ago
Ryan Dwyer
74799937cf
Restore focus when unmapping unmanaged xwayland surfaces
7 years ago
emersion
55b855d867
Add SWAY_DAMAGE_DEBUG
...
Setting it to "rerender" will always re-render everything
regardless of the damaged region. Setting it to "highlight" will
clear the screen and render only damaged regions.
7 years ago
emersion
34bdf25bb5
Only send frame to visible surfaces when fullscreened
7 years ago
emersion
51eee3aecc
Schedule a frame even if damage is empty
7 years ago
emersion
65845be802
Only send frame done to visible views
...
Also don't accumulate empty damage
7 years ago
Ryan Dwyer
d466b8fa7b
Don't auto float xdg views if their dimensions are not set
7 years ago
Ryan Dwyer
c9e3a313b4
Fix fullscreen position of xwayland views
7 years ago
Ryan Dwyer
9119f87655
Fix floating position when view is floated when mapped
7 years ago
Ryan Dwyer
97672295ed
Don't unmaximize floating views
7 years ago
Ryan Dwyer
becceafa7f
Remove unfinished wants_floating implementation for xwayland
7 years ago
Ryan Dwyer
5b1601c2e3
Don't let xwayland views set position unless unmanaged
7 years ago
Ryan Dwyer
02d385e06f
Use swayc rather than wlr_output when rendering
7 years ago
Ryan Dwyer
3b1db30a5e
Use surface size if xdg shell's geometry isn't set
7 years ago
Ryan Dwyer
4371c746e4
Implement wants_floating for xdg_shell and xdg_shell_v6
7 years ago
Ryan Dwyer
3281574fa3
Remove check for if floating view intersects output
7 years ago
Ryan Dwyer
7d2b33a458
Render floating views before top layer and unmanaged
7 years ago
Ryan Dwyer
e4e912ea91
Store swayc coordinates as layout-local
7 years ago