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

Feature request: flag for allowing duplicate key bindings (override support) #3613

Open
chamkank opened this Issue Feb 7, 2019 · 2 comments

Comments

Projects
None yet
3 participants
@chamkank
Copy link

chamkank commented Feb 7, 2019

I'm submitting a…

[ ] Bug
[x] Feature Request
[ ] Documentation Request
[ ] Other (Please describe in detail)

Description

I'm considering separating my config file into a default config (containing the standard i3 key bindings) and custom config (containing all changes I've made that override the default key bindings) that will ultimately be concatenated into a single config for i3 to read. I know that the config folder feature was rejected in #1197 and it was recommended to use concatenation instead.

I'm happy with this workaround but the issue that I'm running into is that you can't have duplicate key bindings in the config file (an error is thrown). I couldn't find a flag in the docs to disable this. Would it be acceptable to implement a flag that disables this constraint, and for conflicting key bindings, uses the key binding that's furthest down in the config file?

@i3bot i3bot added the enhancement label Feb 7, 2019

@Airblader

This comment has been minimized.

Copy link
Member

Airblader commented Feb 7, 2019

What's the benefit of splitting like this over just having a config file that contains the entire truth of what is configured?

@chamkank

This comment has been minimized.

Copy link
Author

chamkank commented Feb 7, 2019

My main reason is being able to quickly tell what's different from the default config. The only other way of doing that which I can think of is viewing the git history of that file - imo having it in a separate file is much cleaner.

Also if you have two separate configs (ex: for laptop & desktop), it would be nice to be able follow the DRY principle (i.e. you don't want to repeat the defaults in both the laptop and desktop config files, instead just have the default, laptop, and desktop configs which are concatenated into either default + laptop or default + desktop).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment