minad / corfu

:desert_island: corfu.el - COmpletion in Region FUnction

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Configuring properties of corfu child frames

mcraveiro opened this issue · comments

Thanks very much for an amazing mode. I just moved over from company and I am loving corfu thus far. I have a small question related to configuring the properties of the corfu child frames. At present I use whitespace mode [1] to track whenever I go past column 80 and I use dimmer mode [2] to highlight the active buffer. I'd like to ignore corfu frames for both of these modes because I find they do not help with completion:

Screenshot from 2024-03-14 08-41-05

For dimmer mode it appears you can exclude buffers based on regexes, e.g.:

(use-package dimmer
  :if window-system
  :defer 1
  :config
  (setq dimmer-exclusion-predicates
        '(helm--alive-p window-minibuffer-p echo-area-p))
  (setq dimmer-exclusion-regexp-list
        '("^\\*[h|H]elm.*\\*" "^\\*Minibuf-[0-9]+\\*"
          "^.\\*which-key\\*$" "^*Messages*" "*LV*"
          "^*[e|E]cho [a|A]rea 0*" "*scratch*"
          "transient"))
  (dimmer-mode t))

But I am unsure as to how to identify the corfu frames. For whitespace mode, it seems people rely mainly on hooks [3], e.g.:

(define turn-off-whitespace-mode ()
  "Unconditionally turn off Whitespace mode."
  (whitespace-mode -1))

(add-hook 'magit-section-mode-hook #'turn-off-whitespace-mode)

So my questions are:

  • do you have any suggestions on how to go about this?
  • if the regex approach is a good one, how do I find out the names of the frames created by corfu.

Many thanks for your time.

[1] https://www.emacswiki.org/emacs/WhiteSpace
[2] https://github.com/gonewest818/dimmer.el
[3] https://www.reddit.com/r/emacs/comments/fmd2qo/disabling_globalwhitespacemode_in_magit_buffers/