Skip to content

Disable edge-resistance for now, re-enableable via dconf toggle

Chris Billington requested to merge chrisjbillington/mutter:master into master

Add edge-resistance dconf setting controlling whether windows snap to the edges of other window automatically, and set it by default to false.

Edge-resistance gives the appearance of dropped frames and jerky, unsmooth window motion, and is less needed on modern DEs due to the newer edge-snapping functionality.

This change removes the behaviour by default, but allows it to be re-enabled via dconf.

I would like to remove edge-resistance entirely, and this change is a potential path to that. Disabling it by default for one release or so and seeing if there is much user feedback will give some information about how desired the feature is. If the result is that nobody notices or cares, then the edge-resistance behaviour and this dconf setting can perhaps be removed entirely in a subsequent release. But if it turns out the feature is widely relied upon, then users (or more likely, distros) can re-enable it via the dconf toggle in the meantime, and we can reassess if there is a way to make a win-win solution - such as enabling edge-resistance via a modifier key, or basing it on window speed so that edge-resistance only occurs when moving windows at low speed, as per other discussions in this thread and the below linked bugzilla thread. I feel that going those routes now is premature in the absence of evidence that the feature is still useful, so would like to move tentatively on this trajectory toward removing it completely, with room to change course if it turns out to be a bad idea.

Though a dconf setting is a nonzero long-term maintenance burden, it will either be removed (along with much other code) if the feature is removed entirely in the future, or replaced with another solution (modifier-key or velocity-based), so it is not intended to be permanent.

I am happy to make a MR to remove the feature entirely in a future release if that ends up being palatable, though I likely lack the chops to implement the velocity-based or modifier-key alternatives so I cannot commit to that.

This addresses bugzilla issue 679609:

Edited by Jonas Dreßler

Merge request reports