Refactoring to maintainability

Fixing keybinding stealing

The Setup

As I was working on my website as per the Some funkiness with iOS and CSS I realized that the keybinding that I use for Ace window(M-o) was instead being used by Facemenu whenever I was editing an html page (which uses the MHTML mode). Darn it! I use Ace Window a lot.

The Solution

It doesn’t seem that I can use use-package to modify modes that come with Emacs. Slightly annoying. So I have to add a standard hook to change what was happening.

(add-hook 'mhtml-mode-hook (lambda ()
                             (define-key html-mode-map (kbd "M-o") nil)
                             (define-key html-mode-map (kbd "C-c C-p") 'facemenu-keymap)
                             (define-key html-mode-map (kbd "M-o") 'ace-window)))

So undo the binding, make sure that we still have access to the facemenu keymap and reset the ace-window keybinding. I think the first one is not needed, now that I look at it, so will have a test after I publish this post.