|
||
---|---|---|
.github | ||
LICENCE | ||
README.org | ||
emacs-everywhere.el |
README.org
Emacs Everywhere
A re-implementation of the fantastic idea in zachcurry/emacs-anywhere.
Installation
Just install from MELPA, and you're ready to go.
Doom
Available with the :app everywhere
module (and with a nice modeline).
Dependencies
On Linux, ensure you have the following dependencies satisfied: xclip
, xdotool
, xprop
, and xwininfo
.
Usage
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)
Example
For xbindkeys, ~/.xbindkeysrc
would include the entry
"emacsclient --eval '(emacs-everywhere)'"
Alt + Mod4 + e