diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-09-04 20:00:04 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-09-04 20:00:04 +1000 |
commit | 7797490e9e285589f501e46202df36b6bf8afcfd (patch) | |
tree | 9e581c403ef8b99df78bddb7e54be856ada4514e /include/sway | |
parent | 6dd3e0caf574ab9c328025489d3ea605fcdd7fc8 (diff) |
Deny repeating reload by holding key
Fixes #2568
The binding that gets stored in the keyboard's `repeat_binding` would
get freed on reload, leaving a dangling pointer.
Rather than attempt to unset the keyboard's `repeat_binding` along with
the other bindings, I opted to just not set it for the reload command
because there's no point in reloading repeatedly by holding the binding.
This disables repeat bindings for the reload command.
As we now need to detect whether it's a reload command in two places,
I've added a binding flag to track whether it's a reload or not.
Diffstat (limited to 'include/sway')
-rw-r--r-- | include/sway/config.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/include/sway/config.h b/include/sway/config.h index 4ee8c3c2..6024f0f6 100644 --- a/include/sway/config.h +++ b/include/sway/config.h @@ -31,10 +31,11 @@ enum binding_input_type { enum binding_flags { BINDING_RELEASE=1, - BINDING_LOCKED=2, // keyboard only - BINDING_BORDER=4, // mouse only; trigger on container border - BINDING_CONTENTS=8, // mouse only; trigger on container contents - BINDING_TITLEBAR=16 // mouse only; trigger on container titlebar + BINDING_LOCKED=2, // keyboard only + BINDING_BORDER=4, // mouse only; trigger on container border + BINDING_CONTENTS=8, // mouse only; trigger on container contents + BINDING_TITLEBAR=16, // mouse only; trigger on container titlebar + BINDING_RELOAD=32, // the binding runs the reload command }; /** |