All Projects → alphapapa → Yequake

alphapapa / Yequake

Licence: gpl-3.0
Drop-down Emacs frames, like Yakuake

Labels

Projects that are alternatives of or similar to Yequake

Burly.el
Save and restore frames and windows with their buffers in Emacs
Stars: ✭ 109 (-13.49%)
Mutual labels:  emacs
1pass
A caching wrapper for the 1Passworld CLI
Stars: ✭ 117 (-7.14%)
Mutual labels:  emacs
Elisp Koans
Emacs Lisp Koans -- learn elisp through test-driven development.
Stars: ✭ 123 (-2.38%)
Mutual labels:  emacs
Fcitx.el
Better fcitx integration for Emacs.
Stars: ✭ 113 (-10.32%)
Mutual labels:  emacs
Cheatsheet
Pretty cheat sheets, or ``reference cards'', obtainable from Org files.
Stars: ✭ 116 (-7.94%)
Mutual labels:  emacs
Emacs Gdb
GDB graphical interface for GNU Emacs
Stars: ✭ 119 (-5.56%)
Mutual labels:  emacs
Emacs Doom Themes
A megapack of themes for GNU Emacs.
Stars: ✭ 1,706 (+1253.97%)
Mutual labels:  emacs
Elmacro
Package to display keyboard macros or latest interactive commands as emacs lisp.
Stars: ✭ 126 (+0%)
Mutual labels:  emacs
Doom Emacs
An Emacs framework for the stubborn martian hacker
Stars: ✭ 12,774 (+10038.1%)
Mutual labels:  emacs
Emacs Solidity
The official solidity-mode for EMACS
Stars: ✭ 120 (-4.76%)
Mutual labels:  emacs
Emacs Application Framework
A free/libre and open-source extensible framework that revolutionizes the graphical capabilities of Emacs, the key to ultimately Live in Emacs
Stars: ✭ 1,932 (+1433.33%)
Mutual labels:  emacs
Emacs Mini Frame
Show minibuffer in child frame on read-from-minibuffer
Stars: ✭ 115 (-8.73%)
Mutual labels:  emacs
Walkman
Write HTTP requests in Org mode and replay them at will using cURL
Stars: ✭ 120 (-4.76%)
Mutual labels:  emacs
Dotfiles
If there is a shell, there is a way!
Stars: ✭ 112 (-11.11%)
Mutual labels:  emacs
Wgeecn
Writing GNU Emacs Extensions 翻译
Stars: ✭ 124 (-1.59%)
Mutual labels:  emacs
Marginalia
📜 marginalia.el - Marginalia in the minibuffer
Stars: ✭ 111 (-11.9%)
Mutual labels:  emacs
Mg
Micro (GNU) Emacs-like text editor ❤️ public-domain
Stars: ✭ 117 (-7.14%)
Mutual labels:  emacs
Cmd Key Happy
Swap cmd and alt keys in Terminal (useful when running emacs over ssh)
Stars: ✭ 126 (+0%)
Mutual labels:  emacs
Mypy boto3 builder
Type annotations builder for boto3 compatible with VSCode, PyCharm, Emacs, Sublime Text, pyright and mypy.
Stars: ✭ 123 (-2.38%)
Mutual labels:  emacs
Novels.org
Novels.org - Your Novels in Plain Text (Emacs . org-mode)
Stars: ✭ 120 (-4.76%)
Mutual labels:  emacs

#+TITLE: yequake #+PROPERTY: LOGGING nil

#+BEGIN_HTML #+END_HTML

Note: This readme works with the org-make-toc https://github.com/alphapapa/org-make-toc package, which automatically updates the table of contents.

[[https://melpa.org/#/yequake][file:https://melpa.org/packages/yequake-badge.svg]]

[[https://stable.melpa.org/#/package-name][file:https://stable.melpa.org/packages/yequake-badge.svg]]

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 @@html:@@M-x customize-option RET yequake-frames [email protected]@html:@@

  • Screenshots :PROPERTIES: :TOC: ignore :END:

Note that the animation of the Emacs frame in this example is provided by the window manager. Yequake simply displays the frame.

[[images/animation.gif]]

That animation was produced with this yequake-frames configuration:

#+BEGIN_SRC elisp (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))))))) #+END_SRC

To activate it, call this command from a shell, e.g. by binding it to a global keyboard shortcut:

#+BEGIN_SRC sh emacsclient -n -e '(yequake-toggle "Yequake & scratch")' #+END_SRC

  • Contents :noexport: :PROPERTIES: :TOC: this :END:

    • [[#installation][Installation]]
    • [[#usage][Usage]]
    • [[#changelog][Changelog]]
    • [[#credits][Credits]]
  • Installation :PROPERTIES: :TOC: 0 :END:

** Quelpa

[[https://framagit.org/steckerhalter/quelpa-use-package][quelpa-use-package]] makes installation easy:

#+BEGIN_SRC elisp (use-package yequake :quelpa (yequake :fetcher github :repo "alphapapa/yequake")) #+END_SRC

** MELPA

If you installed from MELPA, you're done!

** Manual

Put =yequake.el= in your =load-path=, and this in your init file:

#+BEGIN_SRC elisp (require 'yequake) #+END_SRC

  • Usage :PROPERTIES: :TOC: 0 :END:
  • Start an Emacs daemon (e.g. with =emacs --daemon=, or @@html:@@M-x server-start [email protected]@html:@@).
  • Configure =yequake-frames=, e.g. with @@html:@@M-x customize-option RET yequake-frames [email protected]@html:@@.
  • Call yequake-toggle:
    • From inside Emacs, it can be called as an interactive command with @@html:@@M-x yequake-toggle [email protected]@html:@@, and will prompt for a Yequake frame.
    • From outside Emacs, call =emacsclient= and eval the command with the name of a Yequake frame, like:

#+BEGIN_SRC sh emacsclient -n -e '(yequake-toggle "FRAME-NAME")' #+END_SRC

    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:

#+BEGIN_SRC elisp (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)))))))

#+END_SRC

You could then run:

#+BEGIN_SRC sh emacsclient -n -e '(yequake-toggle "org-capture")' #+END_SRC

And after the capture is finalized or canceled, the frame will be closed, like this:

[[images/org-capture.gif]]

  • Changelog :PROPERTIES: :TOC: 0 :END:

** 0.1

First tagged release.

  • Credits
  • This package was inspired by Benjamin Slade's [[https://gitlab.com/emacsomancer/equake][equake]] package, and by good ol' Yakuake.
  • The animations were created with [[https://github.com/alphapapa/bashcaster][Bashcaster]] and GIMP.
  • Development :PROPERTIES: :TOC: ignore :END:

Bug reports, feature requests, suggestions — /oh my/!

  • License :PROPERTIES: :TOC: ignore :END:

GPLv3

Local Variables:

eval: (require 'org-make-toc)

before-save-hook: org-make-toc

org-export-with-properties: ()

org-export-with-title: t

End:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].