-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compare with ivy-posframe #44
Comments
Hi! AFAIK Also |
Under the hood, ivy-posframe use child frame only as a mirror to the original contents in minibuffer, which means your input focus still stays in the minibuffer of current frame. This method works will if you don't need any interaction with the child frame (no mouse clicks, no drags, no In contrast, mini-frame indeed creates another minibuffer-only frame to run commands inside. This will be a little slow (due to emacs internal display engine I think) but in my experience good enough as daily use. Also, now you get a flexible and general system to work with any completion framework. You can also use child frame to accept input for |
Thanks for the reply, both! So I am planning to provide better experience with child frame in Centaur Emacs. Thanks for you patients! e.g.
My configure is Centaur Emacs. |
Try to answer some questions I can help:
Try disable
Setting the
I think mini-frame by default can be resized automatically. Check out
I don't use those packages so my comment may not be right. For compatibility issue with other packages, since different package assumes different use cases, timing and even windows layout when invoking minibuffer, you may have to put some of their APIs into Currently I'm using selectrum (for vertical completion UI), marginalia (for annotation similar to ivy-rich) and consult (counsel equivalent), those packages works normally in mini-frame. For ivy, maybe ivy-posframe is still the first choice since the author has already put many efforts for integration with other packages. |
@BooAA Thanks for your answers! They are useful to me. I am trying to integrate and improve. |
Alongside with great @BooAA answers, my few comments.
At the time I made
Don't know what is "more features" is mean here.
Can confirm. I'll take a look into this.
Can you please provide more info on this?
See #43
By default the mini-frame has fixed width but dynamical height.
Those packages does not use minibuffer, so I dont know what mini-frame can do here. About
|
@muffinmad Thank you so much for your detailed answers! Now I completely understand the differences. Regarding the |
I think the blinking issue is related to the background color and cleaning the contents. Similar issue as tumashu/ivy-posframe#30 . Another issue is the background color impacts the internal border color. If I set background-color in show-parameters, the internal-border-color doesn't work any more. Please take a look. |
Well, the
I see one line height mini frame. But after |
@muffinmad You may need to load a dark theme to test? I have the same issue on Windows. Actually My configuration is : (use-package mini-frame
:preface
(defun my-mini-frame-show-parameters ()
`((left . 0.5)
(top . ,(/ (frame-pixel-height) 2))
(background-color . ,(face-foreground 'shadow nil t))
(min-width . 80)
(min-height . ,(if (member this-command
'(swiper
swiper-backward swiper-all
swiper-isearch swiper-isearch-backward
counsel-grep-or-swiper counsel-grep-or-swiper-backward))
16
1))
(width . 0.8)
(height . 1))))
:init
(setq mini-frame-create-lazy nil
mini-frame-show-parameters #'my-mini-frame-show-parameters
mini-frame-ignore-commands '("edebug-eval-expression" debugger-eval-expression))
(mini-frame-mode 1)) |
@muffinmad You say above What is the way to make different commands have different behaving frames in mini-frame (I can manage with just at the top of frame and centre of frame but top of window would be useful as well.) |
@bestlem Take a look at the |
Yes I have looked at that variable - I have set it and I put a message in my function and altered the left hand edge but what appears on the screen does not chnage - is there a working example anywhere? |
@bestlem This changes mini-frame appearance for (defun my/mini-frame-parameters ()
"Set mini frame parameters based on `this-command'."
(if (eq this-command 'execute-extended-command)
'((top . .5)
(left . .5)
(width . .8))
'((top . 0)
(left . .5)
(width . 1.0))))
(setq mini-frame-show-parameters 'my/mini-frame-parameters) |
Hi, I tried this great package, but I am still wondering what's the difference between
mini-frame
and ivy-posframe. What's the advantage ofmini-frame
?Thanks!
The text was updated successfully, but these errors were encountered: