我正在用(make-frame)
创建一个Emacs框架并将图像加载到其中。当我使用-q
选项启动Emacs并运行我的脚本时,Emacs会创建一个框架并用图像填充整个框架。
然而,当我从普通的Emacs会话(emacsclient
)运行它时,Emacs将1
插入到图像的左侧,并在图像左侧的帧的整个高度上创建一个列:
下面是我创建框架和插入图像的代码:
(defvar bckgimg "~/a.jpg" "Image used for desktop background")
(progn
(setq backgr-frame
(make-frame
`((name . "background-frame")
(width . ,(display-pixel-width))
(height . ,(display-pixel-height))
(undecorated . t)
(fringe . nil)
(below . t)
(left-fringe . 0)
(right-fringe . 0)
(tool-bar-lines . 0)
(menu-bar-lines . 0)
(unsplittable . t)
(mode-line . nil)
(buffer-predicate . (lambda (x) nil))
(internal-border-width . 0)
(z-group . below)
(visibility . nil)
(skip-taskbar . t)
(minibuffer . nil)
(top . 0)
(left . 0))))
(with-selected-frame backgr-frame
(toggle-frame-maximized)
(lower-frame backgr-frame)
(make-frame-visible backgr-frame)
(with-output-to-temp-buffer "backgr"
(switch-to-buffer "backgr")
(setq mode-line-format nil)
(if (fboundp 'display-line-numbers-mode)
(display-line-numbers-mode -1))
(if (fboundp 'linnum-mode)
(linnum-mode -1))
(insert-image (create-image bckgimg
'jpeg nil
:width 3840)))))
我一直在研究文档和搜索,但我似乎无法找到如何解决这个问题。在没有左边的额外列的情况下显示图像的代码是什么(屏幕截图中为绿色)?
好的,我已经在Reddit的帮助下解决了这个问题。问题在于行号。我有全局显示行号码模式。添加
(display-line-numbers-mode -1)
解决了这个问题。我已经编辑了上面的代码以获得正确的解