profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/muffinmad/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Andrii Kolomoiets muffinmad Kherson, Ukraine

joaotavora/eglot 1149

A client for Language Server Protocol servers

muffinmad/emacs-mini-frame 126

Show minibuffer in child frame on read-from-minibuffer

muffinmad/pidgin-im-gnome-shell-extension 27

Make Pidgin IM conversations appear in the Gnome Shell message tray

muffinmad/anakin-language-server 17

Yet another Jedi Python language server

muffinmad/emacs-completions-frame 13

Show completions buffer in child frame

muffinmad/emacs-ibuffer-project 13

Group ibuffer's list by project

muffinmad/emacs-pdb-capf 10

Completion-at-point function for pdb (Python debugger)

muffinmad/emacs-find-file-rg 7

Find file in current project using rg --files command

muffinmad/emacs-ctrlxo 5

Maybe better window switcher than "C-x o"

muffinmad/emacs-django-commands 4

Run django commands in inferior-python-mode

startedmuffinmad/emacs-mini-frame

started time in a day

issue commentmuffinmad/emacs-mini-frame

Compare with ivy-posframe

@muffinmad You may need to load a dark theme to test?

seagle0128

comment created time in 17 days

issue commentmuffinmad/emacs-mini-frame

Compare with ivy-posframe

I think the blinking issue is related to the background color and cleaning the contents. Similar issue as https://github.com/tumashu/ivy-posframe/pull/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.

seagle0128

comment created time in 17 days

issue commentmuffinmad/emacs-mini-frame

Compare with ivy-posframe

I made a recording today. It seems a little bit blinking.

emacs

seagle0128

comment created time in 20 days

startedmuffinmad/emacs-mini-frame

started time in 21 days

startedmuffinmad/emacs-mini-frame

started time in 23 days

issue commentmuffinmad/emacs-mini-frame

Compare with ivy-posframe

@muffinmad Thank you so much for your detailed answers! Now I completely understand the differences.

Regarding the shackle and anzu, I think they are the same issue, and your answer has covered.

seagle0128

comment created time in 24 days

issue commentmuffinmad/emacs-mini-frame

Compare with ivy-posframe

@BooAA Thanks for your answers! They are useful to me. I am trying to integrate and improve.

seagle0128

comment created time in 25 days

issue commentmuffinmad/emacs-mini-frame

Compare with ivy-posframe

Try to answer some questions I can help:

It's slow to display with white flashing at the first startup. I think it's too slow to set background if using dark theme?

Try disable mini-frame-create-lazy, so that child frame will be created when Emacs boots. I use mini-frame-color-shift-step to get a slightly different background to help distinguishing contents in different frames.

Always blinking in swiper. This is annoying. (Update: set min-height to address this issue)

Setting the height frame parameter to number of displayed candidates + 1 should avoid some blinking.

The width and height are fixed, while they are dynamic in ivy-posframe.

I think mini-frame by default can be resized automatically. Check out mini-frame-resize.

Also, how to integrate which-key, hydra, org-agenda, etc.?

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 mini-frame-ignore-commands or mini-frame-ignore-functions so that they can be executed correctly.

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.

seagle0128

comment created time in a month

issue commentmuffinmad/emacs-mini-frame

Compare with ivy-posframe

Thanks for the reply!

So mini-frame has more features. I'd like use mini-frame instead of ivy-posframe according you described above. Then I tried and got some wired issues. I hope it's more stable.

e.g.

  1. Incompatible with anzu-query-replace .
  2. No content displayed in child frame some times on Linux.
seagle0128

comment created time in a month

issue commentmuffinmad/emacs-mini-frame

Compare with ivy-posframe

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 C-x 5 o to jump to other frame when you're doing completions, etc).

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 occur or yes-or-no if you like.

seagle0128

comment created time in a month

issue openedmuffinmad/emacs-mini-frame

Display matches on no input for vertico

Below is what I used to reproduce the bug:

  1. (setq mini-frame-standalone t) ;; this is a buggy option and I enable it intentionally
  2. Call something with many candidates, for example: describe-function or describe-variable, then you may see something like this: Screenshot_2021-05-24_22-45-27

This is not 100% reproducible, you might have to try several times.

  1. After 2 is success, now invoke find-file, then you'll get no candidate displayed when no input. Screenshot_2021-05-24_22-48-47

I use edebug to trace mini-frame--display and find problem occurs at this line. Actually, child frame displays normally at first but shrinks to height 1 immediately, so this may be a bug related to mini-frame-resize.

Reference: https://github.com/minad/vertico/issues/34

created time in a month

issue openedmuffinmad/emacs-mini-frame

Compare with ivy-posframe

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 of mini-frame?

Thanks!

created time in a month

startedmuffinmad/emacs-mini-frame

started time in a month

startedmuffinmad/emacs-mini-frame

started time in a month

startedmuffinmad/anakin-language-server

started time in a month

startedmuffinmad/anakin-language-server

started time in a month

startedmuffinmad/emacs-mini-frame

started time in a month

startedmuffinmad/emacs-mini-frame

started time in a month

fork yaegassy/anakin-language-server

Yet another Jedi Python language server

fork in a month

startedmuffinmad/anakin-language-server

started time in a month

pull request commentmuffinmad/emacs-mini-frame

Add mini-frame-accept-commands customization

Cool Thanks!

chmouel

comment created time in a month

PR closed muffinmad/emacs-mini-frame

Add mini-frame-accept-commands customization

This PR add the mini-frame-accept-commands command to customize which commands we always want to show the mini-frame for.

This allows to do some configuration like this :

(setq mini-frame-accept-commands '(switch-to-buffer))
(setq mini-frame-ignore-commands '(".*"))

Which will show the mini-frame only for the switch-to-buffer and not for others.

Signed-off-by: Chmouel Boudjnah chmouel@chmouel.com

+18 -6

1 comment

2 changed files

chmouel

pr closed time in a month

startedmuffinmad/emacs-mini-frame

started time in a month

issue commentmuffinmad/emacs-mini-frame

Conflict with consult?

I can't see attached video in the linked issue.

I use chrome in desktop, video playing normally, are you using mobile device?

I find this bug not 100% reproducible, somehow if I start Emacs with -Q and eval configs line by line, the bug seems to disappear.

Below is what I use as a minimal config to test: OS: Debian/sid Emacs 28 master (without native-compilation)

;; init.el
(package-initialize)
(require 'selectrum)
(require 'mini-frame)
(require 'consult)
(selectrum-mode)
(mini-frame-mode)
(global-set-key [remap switch-to-buffer-other-window] #'consult-buffer-other-window)

After starting emacs with config above, use C-x 4 b to invoke consult-buffer-other-window and type several characters, then the contents of whole minibuffer disappear, remain just the background color. This is not 100% reproducible, you may have to try many times. Also, only consult-buffer-other-* series commands seems to have this problem, if I memory is correct I've never encountered any issue with consult-buffer.

Screenshot (result after typing "*s" to search for *scratch* buffer) issue

I doubt about whether this is really bug related with mini-frame or is some weird display engine bug related with internal Emacs.

BooAA

comment created time in a month

startedmuffinmad/emacs-mini-frame

started time in a month

issue openedmuffinmad/emacs-mini-frame

Conflict with consult?

I have encountered some issues when using the preview feature of consult with mini-frame. See https://github.com/minad/consult/issues/286 for details.

created time in 2 months

issue closedjoaotavora/eglot

List _all_ diagnostics across multiple files

I'm in the midst of a big refactoring. It would be great if eglot could show a list of all diagnostics across all the files it's managing. Currently each file has a flymake diagnostics buffer (flymake-show-diagnostics-buffer) which is useful but I'd like to see a global version of that like VS Code has.

closed time in 2 months

garyo

issue commentjoaotavora/eglot

List _all_ diagnostics across multiple files

Let's continue in #683

garyo

comment created time in 2 months

CommitCommentEvent