muffinmad / emacs-mini-frame

Show minibuffer in child frame on read-from-minibuffer
GNU General Public License v3.0
314 stars 20 forks source link

Canceling the mini-buffer causes annoying glash #40

Closed jsyjr closed 3 years ago

jsyjr commented 3 years ago

After solving #39 mini-frame is working quite nicely now. One annoyance remains. If, rather than complete some action, I cancel (C-g) out of the mini-buffer, I see white flash, corresponding to the mini-buffer line. Peek 2021-04-04 13-14

Is there anyway to eliminate that flash?

muffinmad commented 3 years ago

Can you please check this in emacs -Q?

I've checked it with this minimal setup and didn't notice any flashing:

(setq mini-frame-standalone t)
(setq mini-frame-show-parameters (lambda ()
                   (let ((sf (selected-frame)))
                                     `((left . ,(frame-parameter sf 'left))
                                       (width . ,(frame-parameter sf 'width))
                                       (top   . ,(frame-parameter sf 'top))))))

This is may be GTK version specific.

jsyjr commented 3 years ago

Solved it. I forgot about visible-bell, in part because it is rendered more attractively when the minibuffer does not disappear before the flash.

This stackoverflow thread provided inspiration for a solution. I had to add abort-minibuffers to the list of suppressed commands.