emacs 30.2, my screen is flickering, both linux and macos
my config:
(use-package zoom
:straight t
:config (custom-set-variables '(zoom-mode t))
(defun size-callback ()
(cond
((> (frame-pixel-width) 1280)
'(90 . 0.75))
(t
'(0.5 . 0.5))))
(custom-set-variables '(zoom-size 'size-callback))
(custom-set-variables
'(zoom-ignored-major-modes '(dired-mode markdown-mode))
'(zoom-ignored-buffer-names '("zoom.el" "init.el"))
'(zoom-ignored-buffer-name-regexps '("^*calc"))
'(zoom-ignore-predicates '((lambda () (> (count-lines (point-min) (point-max)) 20))))))
https://github.com/user-attachments/assets/695cd43b-9498-456b-8c9a-67c16cf58414
Here is my screen shot. If I disable this zoom config, it does not flicker.
Does this also happen with Zoom only? That config cannot justify the flickering of course, so I cannot reproduce the issue. There must be some kind of conflict with some other mode.
(use-package auto-dim-other-buffers
:straight t
:diminish auto-dim-other-buffers-mode
:init
(add-hook
'after-init-hook
(lambda ()
(when (fboundp 'auto-dim-other-buffers-mode)
(auto-dim-other-buffers-mode t))))
:config (set-face-attribute 'auto-dim-other-buffers-face nil :background "#42444C"))
I also use this, but only I disable zoom, it works.
You use a bunch of other modes it seems, I cannot help you unless you provide some minimal config that reproduces the issue.
I have test shell, term, eshell, and eat command, only vterm command makes it flickering, it might be vterm + zoom bug
my vterm config:
(use-package
vterm
:straight t
:defer t
:when (memq window-system '(mac ns x pgtk))
:bind
(:map
vterm-mode-map ("C-y" . vterm-yank) ("M-y" . vterm-yank-pop) ("C-k" . vterm-send-C-k-and-kill)
)
:custom-face
(vterm-color-black ((t (:foreground "#0f0f0f" :background "#707880"))))
(vterm-color-red ((t (:foreground "#bf616a"))))
(vterm-color-green ((t (:foreground "#a3be8c"))))
(vterm-color-yellow ((t (:foreground "#ebcb8b"))))
(vterm-color-blue ((t (:foreground "#81a1c1"))))
(vterm-color-cyan ((t (:foreground "#88c0c0"))))
(vterm-color-magenta ((t (:foreground "#b48ead"))))
:custom
(vterm-module-cmake-args "-DUSE_SYSTEM_LIBVTERM=yes")
(vterm-always-compile-module t)
(vterm-buffer-name-string "*my-own-vterm*")
(vterm-use-vterm-prompt-detection-method t)
(vterm-max-scrollback 10000)
(vterm-copy-exclude-prompt t)
(vterm-shell "zsh")
(vterm-kill-buffer-on-exit t)
(term-prompt-regexp "^[^#$%>\n]*[#$%>] *")
(vterm-cursor-blink-mode t)
:config
(add-to-list 'vterm-eval-cmds '("update-pwd" (lambda (path) (setq default-directory path))))
(add-to-list 'vterm-eval-cmds '("find-file-other-window" find-file-other-window))
(defun vterm-send-C-k-and-kill ()
"Send `C-k' to libvterm, and put content in kill-ring."
(interactive)
(kill-ring-save (point) (vterm-end-of-line))
(vterm-send-key "k" nil nil t))
(defun turn-off-chrome ()
(hl-line-mode -1)
(display-line-numbers-mode -1)
(emojify-mode -1)
(which-key-mode -1)
(super-save-mode -1)
(which-function-mode -1)
(aggressive-indent-mode -1)
(setq-local global-hl-line-mode nil)
(ligature-mode -1)
(setq show-trailing-whitespace nil)
)
:hook
(vterm-mode . turn-off-chrome)
(minemacs-build-functions . vterm-module-compile)
(vterm-mode . compilation-shell-minor-mode)
)
(defun old-version-of-vterm--get-color (index &rest args)
"This is the old version before it was broken by commit
https://github.com/akermu/emacs-libvterm/commit/e96c53f5035c841b20937b65142498bd8e161a40.
Re-introducing the old version fixes auto-dim-other-buffers for vterm buffers."
(cond
((and (>= index 0) (< index 16))
(face-foreground (elt vterm-color-palette index) nil 'default))
((= index -11)
(face-foreground 'vterm-color-underline nil 'default))
((= index -12)
(face-background 'vterm-color-inverse-video nil 'default))
(t
nil)))
(advice-add 'vterm--get-color :override #'old-version-of-vterm--get-color)
I'd need a standalone and minimal Emacs config with Zoom and other conflicting packages in order to help you... I use vterm all the time with Zoom and I have no issues with it.