-
Notifications
You must be signed in to change notification settings - Fork 122
Remove harcoded key-bindings and move them to user-config #278
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
Conversation
* org-journal.el (org-journal-mode-map): Remove hardcoded key-bindings
* README.org (An example setup): Add key-bindings to default setups with and without `use-package'
* README.org (An example setup): Require before setting variables and keymap
* README.org (Some key-bindings in org-journal conflict with org-mode key bindings): Specify README section on key-bindings
I forgot to mention that this change will require existing users to update their config to maintain the default key-bindings. I don't think there's any good way to make the change seamless for them, and creating a warn-on-update setup would definitely be overkill. |
I am incredibly torn about this. On the one hand, I agree with you and would like to remove the key bindings. Making org-journal a major mode was a bad idea to begin with, and setting fixed key bindings was equally mis-guided on my part. However, org-journal has an astonishingly large number of users, many of whom will be caught off-guard by such a change. And in all my years of working on Open Source Software, I have learned that nothing erodes trust like breaking changes. And there is always fallout that we maintainers have to deal with. Angry emails, issues, messages, maintenance overhead, and more. There have been multiple issues that discussed solutions to this problem already. For example, we might make org-journal into an optional minor mode. In fact, it is entirely unnecessary for org-journal to be a mode at all, it could just be a number of functions and hooks. At any rate, this problem needs a thoroughly documented, strongly communicated solution that goes deeper than the key bindings themselves. It will in all likelihood require a major version change. Thus, regretfully, I have to reject this pull request for now. But I invite you to discuss and implement a possible restructuring of org-journal with @cslux and me here or in a new issue. |
I understand. I can't think of a better solution for this key-binding problem, so it looks I'm going to have to port your functions into a separate library, then. On the one hand, it would have been nice to maintain I'll make sure to credit you in the future lib. Thanks for your time, and good luck for the future! |
@zaeph I'll add a customizable variable to configure the prefix argument. When it is set to an empty string no bindings will than be configured. By default nothing will change for the user. |
Splendid! Something à la |
@zaeph I agree, but some users are verylikly used to the current "C-c C-*" key bindings. I didn't change it with @bcb5bb4. You can now set |
Thanks for taking care of this. Re:
org-roam/org-roam/pull/978 is almost finished. Functionally, I've taken a lot of inspiration from Best of luck for the future. |
Closes #255.
I'm not a big fan of hardcoding key-bindings for minor-modes that are magically loaded, especially when they override existing ones. It makes it complicated for users to rebind or unbind them without first emptying the keymap.
I'd like to move those key-bindings from codebase to user-config. This is something that we've done with Org-roam, and we haven't encountered any problem with it.
I took the liberty to update the
CHANGELOG
as well.Thank you for
org-journal
. :)