System-wide popup Emacs windows for quick edits
Go to file
Diego Alvarez 44775589ad
Make clipboard sleep delay customisable
2023-07-06 19:52:47 +08:00
.github Update CI python version 2023-07-06 19:52:43 +08:00
LICENCE Initial commit 2021-02-07 04:36:59 +08:00 Update donation badge 2022-10-13 23:45:56 +08:00
emacs-everywhere.el Make clipboard sleep delay customisable 2023-07-06 19:52:47 +08:00

Emacs Everywhere

A re-implementation of the fantastic idea in zachcurry/emacs-anywhere.


Just install from MELPA, and you're ready to go.


Available with the :app everywhere module (and with a nice modeline).


On Linux, ensure you have the following dependencies satisfied: xclip, xdotool, xprop, and xwininfo.


Invoke the Emacs Everywhere executable. I recommend doing this by binding a shortcut to:

emacsclient --eval "(emacs-everywhere)"

A new Emacs frame will appear, within which you can type away to your heart's content. It will remember which window you have focused.

By default, emacs-everywhere-insert-selection is a hook in emacs-everywhere-init-hooks, and will insert the last text selection into your new buffer. To clear this, type DEL or C-SPC before anything else.

Once you've finished and want to insert the text into the window you triggered Emacs Everywhere from, just press C-c C-c or C-x 5 0 to close the frame and paste the content into the window (as long as emacs-everywhere-paste-p is non-nil).

If you do not wish to paste the buffer content into the original window, C-c C-k still copies the content to the clipboard, but never pastes.

*†* This requires the Emacs daemon to be running, but that's super easy. Just call emacs --daemon and you're sorted!

Binding a Shortcut

Emacs-everywhere needs a way to launch when a not-emacs application has focus. The easiest way to do this is to have a global keybinding/keyboard shortcut dedicated to launching (same as above): emacsclient --eval "(emacs-everywhere)"

On linux/bsd, use your desktop environment, windows manager, or a dedicated processes (like sxhkd, xbindkeys). The ubuntu and archlinux guides are informative.

On MacOS, options include hammerspoon, alfred, thor, or karabiner. (Untested, see the relevant issue)


For xbindkeys, ~/.xbindkeysrc would include the entry

"emacsclient --eval '(emacs-everywhere)'"
  Alt + Mod4 + e