cc8d318aa1
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. |
||
---|---|---|
.. | ||
commands | ||
config | ||
desktop | ||
input | ||
tree | ||
commands.c | ||
config.c | ||
criteria.c | ||
decoration.c | ||
ipc-json.c | ||
ipc-server.c | ||
main.c | ||
meson.build | ||
server.c | ||
sway-bar.5.scd | ||
sway-input.5.scd | ||
sway-ipc.7.scd | ||
sway-output.5.scd | ||
sway.1.scd | ||
sway.5.scd | ||
swaynag.c | ||
xdg_decoration.c |