Edit mode for EXWM
Similar to atomic-chrome
except this package is made to work with EXWM and it works with any editable element of any app
The idea is very simple - when you invoke the edit,
it simulates C-a + C-c (select all & copy), or simply C-c if you already have something pre-selected.
Then it opens a buffer and yanks (pastes) the content so you can edit it,
after you done - it grabs (now edited text) and pastes back to where it’s started
Now that opens interesting possibilities, for example:
- when typing in ChromeDevTools console, you can initiate exwm-edit, then change major mode to whatever your favorite javascript mode is, have all the JS syntax highlighting, flycheck, etc;
- you can edit GitHub issues and wiki pages using markdown-mode and use your syntax checker and thesaurus;
- quickly modify url in browser address bar using multiple-cursors and regexp-replace things;
- edit and modify code snippets with ease in Slack;
- etc. and etc.
In your init.el file, put the following use-package declaration before
the call to exwm-enable, since adjustments to exwm-input-global-keys
only take effect before EXWM is enabled.
(use-package exwm-edit
:config
;; Edit text in an *exwm-edit* buffer
(add-to-list 'exwm-input-global-keys '([?\C-c ?\'] . exwm-edit--compose))
(add-to-list 'exwm-input-global-keys '([?\C-c ?\'] . exwm-edit--compose))
;; You can use hooks to, e.g., set desired mode:
(defun ag-exwm/on-exwm-edit-compose ()
(spacemacs/toggle-visual-line-navigation-on)
(funcall 'markdown-mode))
(add-hook 'exwm-edit-compose-hook 'ag-exwm/on-exwm-edit-compose))In the *exwm-edit* buffer, you can use C-c ', C-c C-', C-c C-c, or
whatever key you have bound to save-buffer to insert the buffer
contents into the X program. To discard the contents of the
*exwm-edit* buffer and go back to the X program, press C-c C-k.
Nothing new yet…
- Autoload
exwm-edit--composeandexwm-edit--compose-minibuffer - Just loading
exwm-editno longer binds any keys - Window display now uses standard
display-bufferactions. Customizeexwm-edit-display-buffer-actioninstead ofexwm-edit-split. - Require Emacs 27.1 or later
- Bug fixes
