Dominique Martinet
71224781c4
idle_inhibit: move server data to its own struct
2018-07-02 09:29:16 +09:00
Dominique Martinet
072b334abc
idle_inhibit: stop inhibitor when views become invisible
2018-07-02 09:29:16 +09:00
Dominique Martinet
df494a7e51
transaction_apply: use float for quotient
...
Pre-dividing 1000/60 would lose 2/3 due to round-up
Found through static analysis
2018-07-02 08:03:41 +09:00
Ryan Dwyer
96c8c02483
Fix flash of background when xwayland views are mapped
...
A flash of background was happening for two reasons:
1) We were using the xsurface's dimensions to check if the surface is
ready, but these are pending dimensions.
2) In my particular setup, the default geometry of the xsurface does not
intersect any output, which prevented it from receiving a frame done
event. This made the transaction time out and the client would only
redraw once it's been rendered.
2018-06-30 14:30:14 +10:00
Ryan Dwyer
3a6ed5110c
Render saved buffers with the surface's dimensions
2018-06-29 21:13:22 +10:00
Ryan Dwyer
d7169ee7ff
Replace list_empty with a simple alternative
2018-06-29 19:44:54 +10:00
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.
2018-06-27 19:07:48 +10:00
Ryan Dwyer
be86d3aba6
Remove transaction_add_damage
...
Instead, damage each container when applying the transaction.
2018-06-27 17:46:03 +10:00
Ryan Dwyer
61c1187685
Fix nitpicks
2018-06-27 17:23:44 +10:00
Ryan Dwyer
0085f64ac0
Remove timer when transaction destroys
2018-06-26 18:51:37 +10:00
Ryan Dwyer
beacd4d9f9
Rename progress_queue to transaction_progress_queue
2018-06-25 16:50:01 +10:00
Ryan Dwyer
c371ff3de8
Implement per-configure debug timings
2018-06-25 09:25:51 +10:00
Ryan Dwyer
289d696adc
Implement transaction timings debug
...
Launch sway with SWAY_DEBUG=txn_timings to enable it.
2018-06-25 09:09:43 +10:00
Ryan Dwyer
1549fb719a
Implement atomic layout updates for xwayland views
2018-06-24 23:01:09 +10:00
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.
2018-06-24 12:33:23 +10:00
Ryan Dwyer
38398e2d77
Implement atomic layout updates for tree operations
...
This implements atomic layout updates for when views map, reparent or
unmap.
2018-06-23 16:24:11 +10:00
Ryan Dwyer
1c89f32533
Preserve buffers during transactions
...
* Also fix parts of the rendering where it was rendering the pending
state instead of current.
2018-06-18 20:42:12 +10:00
Ryan Dwyer
9e96cfd310
Merge remote-tracking branch 'upstream/master' into atomic
2018-06-11 11:03:43 +10:00
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.
2018-06-09 10:11:25 +10:00
Ryan Dwyer
f9e6d703d2
Make main properties be the pending state
2018-06-09 10:08:43 +10:00
Ryan Dwyer
59c9488701
WIP: Atomic layout updates ground work
2018-06-09 10:08:43 +10:00