yequake
This package provides configurable, drop-down Emacs frames, similar to drop-down terminal windows programs, like Yakuake. Each frame can be customized to display certain buffers in a certain way, at the desired height, width, and opacity. The idea is to call the yequake-toggle
command from outside Emacs, using emacsclient
, by binding a shell command to a global keyboard shortcut in the desktop environment. Then, with a single keypress, the desired Emacs frame can be toggled on and off, showing the desired buffers.
There are many options to configure yequake-frames
, but the customization UI makes it easy. Try M-x customize-option RET yequake-frames RET
Screenshots
Note that the animation of the Emacs frame in this example is provided by the window manager. Yequake simply displays the frame.
That animation was produced with this yequake-frames
configuration:
(setq yequake-frames
'(("Yequake & scratch" .
((width . 0.75)
(height . 0.5)
(alpha . 0.95)
(buffer-fns . ("~/src/emacs/yequake/yequake.el"
split-window-horizontally
"*scratch*"))
(frame-parameters . ((undecorated . t)))))))
To activate it, call this command from a shell, e.g. by binding it to a global keyboard shortcut:
emacsclient -n -e '(yequake-toggle "Yequake & scratch")'
Contents
Installation
Quelpa
quelpa-use-package makes installation easy:
(use-package yequake
:quelpa (yequake :fetcher github :repo "alphapapa/yequake"))
MELPA
If you installed from MELPA, youβre done!
Manual
Put yequake.el
in your load-path
, and this in your init file:
(require 'yequake)
Usage
- Start an Emacs daemon (e.g. with
emacs --daemon
, or M-x server-start RET). - Configure
yequake-frames
, e.g. with M-x customize-option RET yequake-frames RET. - Call
yequake-toggle
:- From inside Emacs, it can be called as an interactive command with M-x yequake-toggle RET, and will prompt for a Yequake frame.
- From outside Emacs, call
emacsclient
and eval the command with the name of a Yequake frame, like:
emacsclient -n -e '(yequake-toggle "FRAME-NAME")'
Youβll probably want to bind that to a global keyboard shortcut in your desktop environment.
- Call
yequake-toggle
again to hide the frame.
Tips
- You can customize settings in the
yequake
group. - The
yequake-retoggle
command toggles the most recently toggled frame.
Org Capture
The yequake-org-capture
function is suitable for use in a Yequake frame used for Org Capture. It calls org-capture
and sets org-capture-after-finalize-hook
to close the Yequake frame after the capture is finalized or canceled. (Note that if another Yequake frame is toggled before the capture is finalized, when the capture is finalized, the wrong Yequake frame will be toggled.) For example, with this configuration:
(use-package yequake
:quelpa (yequake :fetcher github :repo "alphapapa/yequake")
:custom
(yequake-frames
'(("org-capture"
(buffer-fns . (yequake-org-capture))
(width . 0.75)
(height . 0.5)
(alpha . 0.95)
(frame-parameters . ((undecorated . t)
(skip-taskbar . t)
(sticky . t)))))))
You could then run:
emacsclient -n -e '(yequake-toggle "org-capture")'
And after the capture is finalized or canceled, the frame will be closed, like this:
Changelog
0.1
First tagged release.
Credits
- This package was inspired by Benjamin Sladeβs equake package, and by good olβ Yakuake.
- The animations were created with Bashcaster and GIMP.
Development
Bug reports, feature requests, suggestions β oh my!
License
GPLv3