Skip to content
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

feat(ui): configuration screen + configure non-colliding keys at runtime #3502

Merged
merged 6 commits into from
Jul 17, 2024

Conversation

imsnif
Copy link
Member

@imsnif imsnif commented Jul 17, 2024

This PR adds a configuration screen that currently allows us to configure non-colliding keys at runtime (triggered by default now with Ctrl o + c).

2024-07-17 14-47-24

Through this configuration screen, we are now also able to change the leader keys to either the default config or the new non-colliding config.

In the future, we'll be able to change the entire application config from this screen at runtime, as well as optionally save it so that it persists between sessions.

This PR changes the "rebind_keys" API call to "reconfigure" to reflect the fact that it will gradually accept an entire KDL configuration to override that of the current session. Right now, "reconfigure" supports "keybinds" and "default_mode".

Context

This is almost the last PR in the effort to solve the "colliding keybindings" problem. Some previous related PRs: #3422, #3383, #3475

The last piece left which will be added in an upcoming PR is to allow saving these configuration changes to disk so that they persist between sessions (right now they are limited to the current session).

@imsnif imsnif merged commit 84ff29d into main Jul 17, 2024
6 checks passed
Tomcat-42 pushed a commit to Tomcat-42/zellij that referenced this pull request Nov 9, 2024
…ime (zellij-org#3502)

* rebind => reconfigure

* persist keybinds and mode info to new tabs

* add configuration plugin

* make tests pass

* remove warnings

* style(fmt): rustfmt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant