msanders / emacs-everywhere

System-wide popup Emacs windows for quick edits

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Emacs Everywhere

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

https://user-images.githubusercontent.com/20903656/107152385-814f2c00-69a2-11eb-978f-b3e78067b3f3.gif

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.

macOS

Hammerspoon

A hotkey can be defined on macOS using Hammerspoon with the following:

hyper = {"cmd", "alt", "ctrl"}
hs.hotkey.bindSpec({hyper, "e"}, function ()
    hs.task.new("/bin/sh", nil, {
        "-l",
        "-c",
        "emacsclient --eval '(emacs-everywhere)'"
    }):start()
end)

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

About

System-wide popup Emacs windows for quick edits

License:GNU General Public License v3.0


Languages

Language:Emacs Lisp 100.0%