Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rationale
The hot corner feature is very useful but I end up triggering it all the time when I do not mean to. This PR implements a configurable short delay during which the cursor must be held in the hot corner before the overview is opened, similar to KDE's hot corner functionality.
Changes
open-delay-msto thehot-cornersconfiguration object.open-delay-msmilliseconds after the cursor enters the hot corner region. The callback is canceled upon leaving the hot corner region.hot-cornersconfiguration object,open-region-widthandopen-region-height.open-region-widthhorizontal pixels of the corner andopen-region-heightvertical pixels of the corner.Remarks
This PR is functional, but I am not fully satisfied with the code quality. Reviews are heavily requested to ensure that the code conforms to the style preferred by active niri developers. I think that my additions to the hot corners configuration could certainly be cleaned up, but I got lost in the complexity of changing the configuration format too much.
This PR also provides no documentation or tests. This is intentional as through the review process the exact form of the feature and its configuration is liable to change. I will write both, but I may need guidance through some aspects.
I have tested the code on my end, however, and a screencast showing the correct functioning of all added features will be forthcoming.