lorniu / go-translate

Translator on Emacs. Supports multiple engines such as Google, Bing, deepL, ChatGPT, StarDict, Youdao and so on.
GNU General Public License v3.0
274 stars 37 forks source link

The cursor is gone #51

Closed e190 closed 1 year ago

e190 commented 1 year ago

下面是我的配置:

(use-package go-translate
  :ensure t
  :commands (my-default-translator
              bing-translate-pop)
  :config
  (setq gts-translate-list '(("en" "zh")))
  (setq gts-default-translator
        (gts-translator
        :picker (gts-noprompt-picker)
        :engines (gts-google-engine)
        :render
        (gts-posframe-pop-render)))

  (defvar bing-translator-pop
    (gts-translator :picker (gts-noprompt-picker)
                    :engines (gts-bing-engine)
                    :render (gts-posframe-pop-render)))

  (defun bing-translate-pop ()
    (interactive)
    (gts-translate bing-translator-pop))
  )

我使用 bing-translate-pop 命令后, 翻译成功后,按 ESC 键,把 posframe 的弹出框 取消, 但是 这时候 光标也一起消失了。

lorniu commented 1 year ago

我没能复现你的问题。能提供一些更详细的使用环境的情况吗?

e190 commented 1 year ago

我拉的最新 emacs-git, emacs-29分支,自行编译,测试的

lorniu commented 1 year ago

还是没能复现你的问题。我也是自行编译的最新 emacs,在 linux/windows 上都没发现问题。我不知道是不是我理解有误,或者说是你那边受其他设置影响了。有没有通过 emacs -Q 的方式测试过?

e190 commented 1 year ago
(require 'package)

(setq package-archives
      '(("melpa"  . "https://melpa.org/packages/")
        ("gnu"    . "https://elpa.gnu.org/packages/")
        ("nongnu" . "https://elpa.nongnu.org/nongnu/")))

(package-initialize)

;; Bootstrap `use-package'
(unless (package-installed-p 'use-package)
  (package-refresh-contents)
  (package-install 'use-package))

(eval-and-compile
  (setq use-package-always-ensure nil)
  (setq use-package-always-defer nil)
  (setq use-package-always-demand nil)
  (setq use-package-expand-minimally nil)
  (setq use-package-enable-imenu-support t))
(eval-when-compile
  (require 'use-package))

(setq debug-on-error t)

(setq custom-file (locate-user-emacs-file "custom.el"))

(use-package posframe
  :ensure t
  )

(use-package go-translate
  :ensure t
  :commands (my-default-translator
              bing-translate-pop)
  :config
  (setq gts-translate-list '(("en" "zh")))
  (setq gts-default-translator
        (gts-translator
        :picker (gts-noprompt-picker)
        :engines (gts-google-engine)
        :render
        (gts-posframe-pop-render)))

  (defvar bing-translator-pop
    (gts-translator :picker (gts-noprompt-picker)
                    :engines (gts-bing-engine)
                    :render (gts-posframe-pop-render)))

  (defun bing-translate-pop ()
    (interactive)
    (gts-translate bing-translator-pop))
  )

(when (file-exists-p custom-file)
  (load custom-file))

这是我的init.el 文件。

.emacs.d/
├── auto-save-list
├── custom.el
├── custom.el~
├── elpa
│   ├── archives
│   │   ├── gnu
│   │   │   ├── archive-contents
│   │   │   └── archive-contents.signed
│   │   ├── melpa
│   │   │   └── archive-contents
│   │   └── nongnu
│   │       ├── archive-contents
│   │       └── archive-contents.signed
│   ├── gnupg
│   │   ├── private-keys-v1.d
│   │   ├── pubring.kbx
│   │   ├── pubring.kbx~
│   │   ├── S.gpg-agent
│   │   └── trustdb.gpg
│   ├── go-translate-20230112.1532
│   │   ├── go-translate-autoloads.el
│   │   ├── go-translate.el
│   │   ├── go-translate.elc
│   │   ├── go-translate-pkg.el
│   │   ├── gts-core.el
│   │   ├── gts-core.elc
│   │   ├── gts-engine-bing.el
│   │   ├── gts-engine-bing.elc
│   │   ├── gts-engine-deepl.el
│   │   ├── gts-engine-deepl.elc
│   │   ├── gts-engine-google.el
│   │   ├── gts-engine-google.elc
│   │   ├── gts-engine-google-rpc.el
│   │   ├── gts-engine-google-rpc.elc
│   │   ├── gts-engine-stardict.el
│   │   ├── gts-engine-stardict.elc
│   │   ├── gts-engine-youdao.el
│   │   ├── gts-engine-youdao.elc
│   │   ├── gts-faces.el
│   │   ├── gts-faces.elc
│   │   ├── gts-implements.el
│   │   └── gts-implements.elc
│   └── posframe-20221220.544
│       ├── posframe-autoloads.el
│       ├── posframe-benchmark.el
│       ├── posframe-benchmark.elc
│       ├── posframe.el
│       ├── posframe.elc
│       └── posframe-pkg.el
└── init.el

10 directories, 40 files

这是我的 .emacs.d 目录。

https://user-images.githubusercontent.com/39932163/212237099-a23e5cc1-4f4d-445e-a260-5d3079b662cf.mp4

我上传了视频,可以看见 在 执行 bing-translate-pop 命令前, 光标是一闪一闪的,执行命令后,光标变成了 白色空白的。 如果安装了evil,一些主题后, 光标直接都看不见了。 但是 有时候 多等一会,也会出来。

lorniu commented 1 year ago

反复尝试,没一次复现问题。childframe 的问题还是诡异。

e190 commented 1 year ago

我在ubuntu 下就会有问题,但是 在 archlinux 下就没有问题