jyp / boon

Ergonomic Command Mode for Emacs
GNU General Public License v3.0
331 stars 35 forks source link

About C-g, ESC and restoring the default cursor-type when exiting boon-mode from INSERT mode #134

Open Ikuyu opened 1 year ago

Ikuyu commented 1 year ago

Great package. Keep up the good work!

I have two question though:

1) How can I use C-g to leave INSERT mode without affecting the global use of C-g? 2) How can I revert the ESC key to its default behaviour?

Obviously I don't want to use ESC but C-g to leave INSERT mode.

Below is probably a bug that I'd like to see fixed:

If one is in INSERT mode and executes 'boon-mode' using M-x, the cursor-type is not restored to my global setting:

(setq-default cursor-type 'box).

jyp commented 1 year ago

For the cursor types, they can be set with the variables boon-*-cursor-type.

I remember having problems rebinding C-g so I decided to leave it alone. But could you try setting boon-quit-key to C-g and see if you get the desired effect?

On Thu, Apr 6, 2023 at 3:12 PM Edwin H. Jonkvorst @.***> wrote:

Great package. Keep up the good work!

I have two question though:

  1. How can I use C-g to leave INSERT mode without affecting the global use of C-g?
  2. How can I revert the ESC key to its default behaviour?

Obviously I don't want to use ESC but C-g to leave INSERT mode.

This might be a bug I'd like to see fixed:

If one is in INSERT mode and executes (boon-mode) using M-x, the cursor-typeis not restored to my global setting: (setq-default cursor-type 'box).

— Reply to this email directly, view it on GitHub https://github.com/jyp/boon/issues/134, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAGYYYNKTO4PFTJCIWT2GDW726M7ANCNFSM6AAAAAAWVMVDFY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

Ikuyu commented 1 year ago

After trying a bit, this works:

(use-package boon :config (require 'boon-qwerty) (require 'boon-powerline) (boon-powerline-theme) :bind (:map boon-insert-map ("C-g" . (lambda () (interactive) (setq boon-command-state t)))) (:map boon-special-map ("C-g" . (lambda () (interactive) (setq boon-command-state t)))))