如何用图像填充整个帧?

问题描述 投票:0回答:1

我正在用(make-frame)创建一个Emacs框架并将图像加载到其中。当我使用-q选项启动Emacs并运行我的脚本时,Emacs会创建一个框架并用图像填充整个框架。

然而,当我从普通的Emacs会话(emacsclient)运行它时,Emacs将1插入到图像的左侧,并在图像左侧的帧的整个高度上创建一个列:

Screenshot

下面是我创建框架和插入图像的代码:

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

我一直在研究文档和搜索,但我似乎无法找到如何解决这个问题。在没有左边的额外列的情况下显示图像的代码是什么(屏幕截图中为绿色)?

emacs elisp
1个回答
0
投票

好的,我已经在Reddit的帮助下解决了这个问题。问题在于行号。我有全局显示行号码模式。添加

(display-line-numbers-mode -1)

解决了这个问题。我已经编辑了上面的代码以获得正确的解

© www.soinside.com 2019 - 2024. All rights reserved.