emacs-mini-frame
emacs-mini-frame copied to clipboard
Ivy actions not working by key
I'm using mini-frame-mode
along with ivy
and counsel
. When I set ivy-read-action-function
to 'ivy-read-action-by-key
, I can press C-o
when I have an item selected in ivy to see some alternate actions. I press i
for one of the default actions, but instead of doing the action it just goes back to the original ivy prompt. So I'm unable to do any alternate actions with ivy while mini-frame-mode
is enabled.
This is the error stack-trace:
Debugger entered--Lisp error: (error "Cannot resize the root window of a frame")
error("Cannot resize the root window of a frame")
window-resize(nil 0)
ivy-shrink-after-dispatching()
ivy-read-action-by-key((1 ("o" counsel-M-x-action "default") ("i" ivy--action-insert "insert") ("w" ivy--action-copy "copy") ("d" counsel--find-symbol "definition") ("h" #f(compiled-function (x) #<bytecode 0x1fc164baa8f343>) "help")))
ivy-read-action()
ivy-dispatching-done()
funcall-interactively(ivy-dispatching-done)
command-execute(ivy-dispatching-done)
#<subr read-from-minibuffer>("M-x " nil (keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) keymap (67108903 . ivy-avy) (67108877 . ivy-immediate-done) (12 . ivy-alt-done) (67108896 . ivy-call-and-recenter) (insert-state keymap "Auxiliary keymap for Insert state" (11 . previous-line) (10 . next-line)) (33554443 . scroll-down-command) (33554442 . scroll-up-command) (11 . previous-line) (26 closure (t) (&rest _) (interactive) (condition-case nil (progn (call-interactively #'undo)) (error nil))) (23 . doom/delete-backward-word) (21 . evil-delete-back-to-indentation) (1 . move-beginning-of-line) (escape . abort-recursive-edit) (19 . counsel-minibuffer-history) (36 . ivy-magic-read-file-env) (3 keymap (5 . +ivy/woccur) (19 . ivy-rotate-sort) (1 . ivy-toggle-ignore) (15 . ivy-occur)) (33554464 . ivy-restrict-to-matches) (15 . ivy-dispatching-done) (22 . yank) (prior . ivy-scroll-down-command) (next . ivy-scroll-up-command) (7 . minibuffer-keyboard-quit) (right . ivy-forward-char) (32 . self-insert-command) (18 . evil-paste-from-register) (remap keymap (doom/delete-backward-word . ivy-backward-kill-word) (describe-mode . ivy-help) (kill-ring-save . ivy-kill-ring-save) (kill-whole-line . ivy-kill-whole-line) (kill-line . ivy-kill-line) (scroll-down-command . ivy-scroll-down-command) (scroll-up-command . ivy-scroll-up-command) (end-of-buffer . ivy-end-of-buffer) (beginning-of-buffer . ivy-beginning-of-buffer) (kill-word . ivy-kill-word) (forward-char . ivy-forward-char) (delete-char . ivy-delete-char) (backward-kill-word . ivy-backward-kill-word) (backward-delete-char-untabify . ivy-backward-delete-char) (delete-backward-char . ivy-backward-delete-char) (previous-line . ivy-previous-line) (next-line . ivy-next-line)) (9 . ivy-partial-or-done) (10 . next-line) (27 keymap (1 . ivy-read-action) (15 . ivy-dispatching-call) (111 . hydra-ivy/body) (25 . ivy-insert-current-full) (105 . ivy-insert-current) (106 . ivy-yank-word) (114 . ivy-toggle-regexp-quote) (97 . ivy-toggle-marks) (16 . ivy-previous-line-and-call) (14 . ivy-next-line-and-call) (118 . ivy-scroll-down-command) (112 . ivy-previous-history-element) (110 . ivy-next-history-element) (10 . ivy-immediate-done) (13 . ivy-call)) (mouse-3 . ivy-mouse-dispatching-done) (mouse-1 . ivy-mouse-done) (down-mouse-1 . ignore) (13 . ivy-done)) nil counsel-M-x-history nil nil)
mini-frame--display(#<subr read-from-minibuffer> ("M-x " nil (keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) keymap (67108903 . ivy-avy) (67108877 . ivy-immediate-done) (12 . ivy-alt-done) (67108896 . ivy-call-and-recenter) (insert-state keymap "Auxiliary keymap for Insert state" (11 . previous-line) (10 . next-line)) (33554443 . scroll-down-command) (33554442 . scroll-up-command) (11 . previous-line) (26 closure (t) (&rest _) (interactive) (condition-case nil (progn (call-interactively #'undo)) (error nil))) (23 . doom/delete-backward-word) (21 . evil-delete-back-to-indentation) (1 . move-beginning-of-line) (escape . abort-recursive-edit) (19 . counsel-minibuffer-history) (36 . ivy-magic-read-file-env) (3 keymap (5 . +ivy/woccur) (19 . ivy-rotate-sort) (1 . ivy-toggle-ignore) (15 . ivy-occur)) (33554464 . ivy-restrict-to-matches) (15 . ivy-dispatching-done) (22 . yank) (prior . ivy-scroll-down-command) (next . ivy-scroll-up-command) (7 . minibuffer-keyboard-quit) (right . ivy-forward-char) (32 . self-insert-command) (18 . evil-paste-from-register) (remap keymap (doom/delete-backward-word . ivy-backward-kill-word) (describe-mode . ivy-help) (kill-ring-save . ivy-kill-ring-save) (kill-whole-line . ivy-kill-whole-line) (kill-line . ivy-kill-line) (scroll-down-command . ivy-scroll-down-command) (scroll-up-command . ivy-scroll-up-command) (end-of-buffer . ivy-end-of-buffer) (beginning-of-buffer . ivy-beginning-of-buffer) (kill-word . ivy-kill-word) (forward-char . ivy-forward-char) (delete-char . ivy-delete-char) (backward-kill-word . ivy-backward-kill-word) (backward-delete-char-untabify . ivy-backward-delete-char) (delete-backward-char . ivy-backward-delete-char) (previous-line . ivy-previous-line) (next-line . ivy-next-line)) (9 . ivy-partial-or-done) (10 . next-line) (27 keymap (1 . ivy-read-action) (15 . ivy-dispatching-call) (111 . hydra-ivy/body) (25 . ivy-insert-current-full) (105 . ivy-insert-current) (106 . ivy-yank-word) (114 . ivy-toggle-regexp-quote) (97 . ivy-toggle-marks) (16 . ivy-previous-line-and-call) (14 . ivy-next-line-and-call) (118 . ivy-scroll-down-command) (112 . ivy-previous-history-element) (110 . ivy-next-history-element) (10 . ivy-immediate-done) (13 . ivy-call)) (mouse-3 . ivy-mouse-dispatching-done) (mouse-1 . ivy-mouse-done) (down-mouse-1 . ignore) (13 . ivy-done)) nil counsel-M-x-history))
mini-frame-read-from-minibuffer(#<subr read-from-minibuffer> "M-x " nil (keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) keymap (67108903 . ivy-avy) (67108877 . ivy-immediate-done) (12 . ivy-alt-done) (67108896 . ivy-call-and-recenter) (insert-state keymap "Auxiliary keymap for Insert state" (11 . previous-line) (10 . next-line)) (33554443 . scroll-down-command) (33554442 . scroll-up-command) (11 . previous-line) (26 closure (t) (&rest _) (interactive) (condition-case nil (progn (call-interactively #'undo)) (error nil))) (23 . doom/delete-backward-word) (21 . evil-delete-back-to-indentation) (1 . move-beginning-of-line) (escape . abort-recursive-edit) (19 . counsel-minibuffer-history) (36 . ivy-magic-read-file-env) (3 keymap (5 . +ivy/woccur) (19 . ivy-rotate-sort) (1 . ivy-toggle-ignore) (15 . ivy-occur)) (33554464 . ivy-restrict-to-matches) (15 . ivy-dispatching-done) (22 . yank) (prior . ivy-scroll-down-command) (next . ivy-scroll-up-command) (7 . minibuffer-keyboard-quit) (right . ivy-forward-char) (32 . self-insert-command) (18 . evil-paste-from-register) (remap keymap (doom/delete-backward-word . ivy-backward-kill-word) (describe-mode . ivy-help) (kill-ring-save . ivy-kill-ring-save) (kill-whole-line . ivy-kill-whole-line) (kill-line . ivy-kill-line) (scroll-down-command . ivy-scroll-down-command) (scroll-up-command . ivy-scroll-up-command) (end-of-buffer . ivy-end-of-buffer) (beginning-of-buffer . ivy-beginning-of-buffer) (kill-word . ivy-kill-word) (forward-char . ivy-forward-char) (delete-char . ivy-delete-char) (backward-kill-word . ivy-backward-kill-word) (backward-delete-char-untabify . ivy-backward-delete-char) (delete-backward-char . ivy-backward-delete-char) (previous-line . ivy-previous-line) (next-line . ivy-next-line)) (9 . ivy-partial-or-done) (10 . next-line) (27 keymap (1 . ivy-read-action) (15 . ivy-dispatching-call) (111 . hydra-ivy/body) (25 . ivy-insert-current-full) (105 . ivy-insert-current) (106 . ivy-yank-word) (114 . ivy-toggle-regexp-quote) (97 . ivy-toggle-marks) (16 . ivy-previous-line-and-call) (14 . ivy-next-line-and-call) (118 . ivy-scroll-down-command) (112 . ivy-previous-history-element) (110 . ivy-next-history-element) (10 . ivy-immediate-done) (13 . ivy-call)) (mouse-3 . ivy-mouse-dispatching-done) (mouse-1 . ivy-mouse-done) (down-mouse-1 . ignore) (13 . ivy-done)) nil counsel-M-x-history)
apply(mini-frame-read-from-minibuffer #<subr read-from-minibuffer> ("M-x " nil (keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) keymap (67108903 . ivy-avy) (67108877 . ivy-immediate-done) (12 . ivy-alt-done) (67108896 . ivy-call-and-recenter) (insert-state keymap "Auxiliary keymap for Insert state" (11 . previous-line) (10 . next-line)) (33554443 . scroll-down-command) (33554442 . scroll-up-command) (11 . previous-line) (26 closure (t) (&rest _) (interactive) (condition-case nil (progn (call-interactively #'undo)) (error nil))) (23 . doom/delete-backward-word) (21 . evil-delete-back-to-indentation) (1 . move-beginning-of-line) (escape . abort-recursive-edit) (19 . counsel-minibuffer-history) (36 . ivy-magic-read-file-env) (3 keymap (5 . +ivy/woccur) (19 . ivy-rotate-sort) (1 . ivy-toggle-ignore) (15 . ivy-occur)) (33554464 . ivy-restrict-to-matches) (15 . ivy-dispatching-done) (22 . yank) (prior . ivy-scroll-down-command) (next . ivy-scroll-up-command) (7 . minibuffer-keyboard-quit) (right . ivy-forward-char) (32 . self-insert-command) (18 . evil-paste-from-register) (remap keymap (doom/delete-backward-word . ivy-backward-kill-word) (describe-mode . ivy-help) (kill-ring-save . ivy-kill-ring-save) (kill-whole-line . ivy-kill-whole-line) (kill-line . ivy-kill-line) (scroll-down-command . ivy-scroll-down-command) (scroll-up-command . ivy-scroll-up-command) (end-of-buffer . ivy-end-of-buffer) (beginning-of-buffer . ivy-beginning-of-buffer) (kill-word . ivy-kill-word) (forward-char . ivy-forward-char) (delete-char . ivy-delete-char) (backward-kill-word . ivy-backward-kill-word) (backward-delete-char-untabify . ivy-backward-delete-char) (delete-backward-char . ivy-backward-delete-char) (previous-line . ivy-previous-line) (next-line . ivy-next-line)) (9 . ivy-partial-or-done) (10 . next-line) (27 keymap (1 . ivy-read-action) (15 . ivy-dispatching-call) (111 . hydra-ivy/body) (25 . ivy-insert-current-full) (105 . ivy-insert-current) (106 . ivy-yank-word) (114 . ivy-toggle-regexp-quote) (97 . ivy-toggle-marks) (16 . ivy-previous-line-and-call) (14 . ivy-next-line-and-call) (118 . ivy-scroll-down-command) (112 . ivy-previous-history-element) (110 . ivy-next-history-element) (10 . ivy-immediate-done) (13 . ivy-call)) (mouse-3 . ivy-mouse-dispatching-done) (mouse-1 . ivy-mouse-done) (down-mouse-1 . ignore) (13 . ivy-done)) nil counsel-M-x-history))
read-from-minibuffer("M-x " nil (keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) keymap (67108903 . ivy-avy) (67108877 . ivy-immediate-done) (12 . ivy-alt-done) (67108896 . ivy-call-and-recenter) (insert-state keymap "Auxiliary keymap for Insert state" (11 . previous-line) (10 . next-line)) (33554443 . scroll-down-command) (33554442 . scroll-up-command) (11 . previous-line) (26 closure (t) (&rest _) (interactive) (condition-case nil (progn (call-interactively #'undo)) (error nil))) (23 . doom/delete-backward-word) (21 . evil-delete-back-to-indentation) (1 . move-beginning-of-line) (escape . abort-recursive-edit) (19 . counsel-minibuffer-history) (36 . ivy-magic-read-file-env) (3 keymap (5 . +ivy/woccur) (19 . ivy-rotate-sort) (1 . ivy-toggle-ignore) (15 . ivy-occur)) (33554464 . ivy-restrict-to-matches) (15 . ivy-dispatching-done) (22 . yank) (prior . ivy-scroll-down-command) (next . ivy-scroll-up-command) (7 . minibuffer-keyboard-quit) (right . ivy-forward-char) (32 . self-insert-command) (18 . evil-paste-from-register) (remap keymap (doom/delete-backward-word . ivy-backward-kill-word) (describe-mode . ivy-help) (kill-ring-save . ivy-kill-ring-save) (kill-whole-line . ivy-kill-whole-line) (kill-line . ivy-kill-line) (scroll-down-command . ivy-scroll-down-command) (scroll-up-command . ivy-scroll-up-command) (end-of-buffer . ivy-end-of-buffer) (beginning-of-buffer . ivy-beginning-of-buffer) (kill-word . ivy-kill-word) (forward-char . ivy-forward-char) (delete-char . ivy-delete-char) (backward-kill-word . ivy-backward-kill-word) (backward-delete-char-untabify . ivy-backward-delete-char) (delete-backward-char . ivy-backward-delete-char) (previous-line . ivy-previous-line) (next-line . ivy-next-line)) (9 . ivy-partial-or-done) (10 . next-line) (27 keymap (1 . ivy-read-action) (15 . ivy-dispatching-call) (111 . hydra-ivy/body) (25 . ivy-insert-current-full) (105 . ivy-insert-current) (106 . ivy-yank-word) (114 . ivy-toggle-regexp-quote) (97 . ivy-toggle-marks) (16 . ivy-previous-line-and-call) (14 . ivy-next-line-and-call) (118 . ivy-scroll-down-command) (112 . ivy-previous-history-element) (110 . ivy-next-history-element) (10 . ivy-immediate-done) (13 . ivy-call)) (mouse-3 . ivy-mouse-dispatching-done) (mouse-1 . ivy-mouse-done) (down-mouse-1 . ignore) (13 . ivy-done)) nil counsel-M-x-history)
(setq ivy-read-action-function 'ivy-read-action-ivy)
Does work, but isn't the type of action completion that I ultimately want.
I can press
C-o
when I have an item selected in ivy to see some alternate actions
For me it's M-o
.
So I'm unable to do any alternate actions with ivy while
mini-frame-mode
is enabled.
I can reproduce this error without mini-frame-mode
but with minibuffer-only frame:
emacs -Q --eval "(setq default-frame-alist '((minibuffer . nil)))"
M-x package-initialize
M-x ivy-mode
M-x M-o o
Can you please report this to ivy
devs?
I was able to make ivy-read-action-by-key
work by advicing the ivy-shrink-after-dispatching
function
This is what I have in my config
(defun +ivy-shrink-after-dispatching-a(f &rest a)
(unless mini-frame-mode
(apply f a)))
(advice-add 'ivy-shrink-after-dispatching :around #'+ivy-shrink-after-dispatching-a)