Interactions between Hyprland and the Emacs minibuffer-frame
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Mitchell Marquez 14500783c8 updated for bedrock linux etc, plus merge xorg stuff 2 months ago
.gitignore Initial commit 6 months ago
LICENSE Initial commit 6 months ago updated for bedrock linux etc, plus merge xorg stuff 2 months ago
hypop.el updated for bedrock linux etc, plus merge xorg stuff 2 months ago

hypop - emacs minibuffer-frame + hyprland



(use-package hypop
  :elpaca (:repo "")
  :demand t)


(use-package hypop
  :straight (:repo "")
  :demand t)


(package! hypop
	:recipe (:host nil
			:repo "")
	:files ("*.el"))


ehh, just download hypop.el and stick it in your load-path .


  • hypop--frame-name : Title of the frame to configure on the hyprland side. Set to dentarthurdent as it's a simple string but unlikely to be used by anything else.
  • hypop--scratch-workspace : name of hyprland scratch workspace. If you don't have one, just set it to the desktop you look at least - that's what I did.

Hyprland integration

Window Rules

windowrule = float,title:dentarthurdent        # match frame-name obviously
windowrule = size 1000 245,title:dentarthurdent
windowrule = center,title:dentarthurdent
windowrule = nofocus,title:dentarthurdent
windowrule = pin,title:dentarthurdent
windowrule = noanim,title:dentarthurdent


Just make sure you have a scratchpad set up, or pretend to. The actual window-moving is done on the lisp side with calls to hyprctl .

Other Emacs packages that help

Vertico + Consult + Marginalia + Orderless + Embark

This suite of packages provides a modular but elegant completing experience - which has been documented extensively elsewhere. Google is your friend.

Since this package just enables a built-in feature of Emacs (minibuffer frame) and rigs the window manager up to it, minibuffer-based completion frameworks work pretty simply.

Ivy + Counsel + Swiper

Same situation as Verticoたち. Untested though…


Normally eldoc (built in) displays variable and function type signatures in the echo area. However, since we're using a minibuffer-frame, the main Emacs window has no echo area.

Eldoc-box solves this by instead showing eldoc type hints as frame overlays (child frames).


(Disclosure: I wrote this package. It's not perfect nor even fully featured, but does mostly work in the meantime.)

Puts the current-message in a little childframe notification box. Inspired by similar plugins for nvim.


Provides a menu from which to launch desktop apps, like rofi or dmenu.

Ivy+Counsel users also have counsel-linux-app built in - see for inspiration.