Edit mode for EXWM
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE Initial commit May 16, 2018



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.


Default keybindings are just like in Org-mode (for editing source blocks):

C-c '​ or C-c C-'​ - edit

C-c '​ or C-c C-c - finish editing

C-c C-k - cancel editing


You can use hooks to set desired mode, etc, e.g.:

(use-package exwm-edit
  (defun ag-exwm/on-exwm-edit-compose ()
    (funcall 'markdown-mode))

  (add-hook 'exwm-edit-compose-hook 'ag-exwm/on-exwm-edit-compose))