-
-
Notifications
You must be signed in to change notification settings - Fork 423
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Input handling refactor #3366
Input handling refactor #3366
Conversation
ca748a4
to
68b545c
Compare
Will review by tomorrow at the latest. |
It is now done per buffer, instead of per window. Opens possibilities for further simplifying input handling such as having multiple buffers per window or binding keybindings on panel buffers. Disconnect handlers when hiding a buffer on the WebKitGTK port. Prevents the prompt buffer from having unnecessary handlers bound to it as it disappears and appears. Move command-dispatcher slot from window to browser class. Move key-stack and last-key slots from window to buffer class. Delete input-skip-dispatcher slot.
These are problems that GTK should solve, not us. Additionally GTK does not work well on macOS, particularly WebKitGTK+. See NixOS/nixpkgs#126101.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A very solid step into a much saner implementation. One chunk less of technical debt. Thanks @jmercouris.
The PR introduces a problem on the Electron port but I'll open an issue mentioning it. See #3371.
Merging with minor commit message and changelog edits.
source/changelog.lisp
Outdated
@@ -27,6 +27,9 @@ | |||
|
|||
(define-version "4.0.0" | |||
(:ul | |||
(:li "Refactor input to be handled on the buffer level rather than the window | |||
level. This will allow panel buffers to have their own hotkeys. It will also | |||
allow for vertical and horizontal splitting of buffers.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changelog isn't the right place for political campaign, right? 😄
68b545c
to
51004e0
Compare
Description
Handle input PER buffer, not PER window.
Checklist:
(asdf:test-system :nyxt/<renderer>)
)