zoom icon indicating copy to clipboard operation
zoom copied to clipboard

emacs 30.2, my screen is flickering, both linux and macos

Open getong opened this issue 5 months ago • 6 comments

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))))))

getong avatar Sep 08 '25 16:09 getong

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.

getong avatar Sep 08 '25 16:09 getong

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.

cyrus-and avatar Sep 08 '25 20:09 cyrus-and

(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.

getong avatar Sep 09 '25 01:09 getong

You use a bunch of other modes it seems, I cannot help you unless you provide some minimal config that reproduces the issue.

cyrus-and avatar Sep 09 '25 09:09 cyrus-and

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)

getong avatar Sep 10 '25 13:09 getong

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.

cyrus-and avatar Sep 10 '25 13:09 cyrus-and