diff options
author | Tudor Brindus <me@tbrindus.ca> | 2020-10-18 17:29:59 -0400 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2020-10-19 01:40:10 +0200 |
commit | cc8d318aa1ab380166aa8183dba84a8d2a9ab2aa (patch) | |
tree | 26be07c551d9a648167caa383bc96f4b76657ebf /sway/desktop/xdg_shell.c | |
parent | 8355884fbd4ea04203614172424b27c5b74018ab (diff) |
transaction: make transaction collapsing smarter with > 2 views
Sway maintains a list of pending transactions, and tries to merge
consecutive transactions applying to the same views into one. Given
a pending transactions list on views {A, B, C} of:
A -> A' -> A'' -> B -> B' -> B''
Sway will collapse the transactions into just A'' -> B''. This works
fine when doing things like resizing views by their border. However,
when interactively resizing layouts like H[V[A B] C], we end up with
pending transaction lists like:
A -> B -> C -> A' -> B' -> C' -> A'' -> B'' -> C''
Previously, Sway would not be able to simplify this transaction list,
and execute many more transactions than would be necessary (the final
state is determined by {A'', B'', C''}).
After this commit, the transaction list gets simplified to A'' -> B'' ->
C'', resolving performance problems (that were particularly noticeable
with high-refresh-rate mice).
Fixes #5736.
Diffstat (limited to 'sway/desktop/xdg_shell.c')
0 files changed, 0 insertions, 0 deletions