#image #emacs #window
#изображение #emacs #окно
Вопрос:
Я создаю фрейм Emacs с (make-frame)
и загружаю в него изображение. Когда я запускаю Emacs с -q
опцией и запускаю свой скрипт, 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)))))
Я просматриваю документы и ищу, но, похоже, не могу найти, как это исправить. Каким был бы код для отображения изображения без этого дополнительного столбца слева (зеленый на скриншоте)?
Комментарии:
1. Тег
elisp
предназначен не только для того, чтобы спросить, как сделать что-то, связанное с Emacs Lisp.2. Извините, Дрю, я на самом деле не с вами. Для чего именно предназначен тег elisp, не определено, и я уверен, что он обозначает многие вещи. Я также уверен, что обращение за помощью по программированию elisp и Emacs API является ОДНОЙ из таких вещей, поэтому я совершенно уверен, что это должно быть помечено как emacs, так и elisp.
3.
elisp
Тег предназначен для вопросов конкретно о языке Emacs-Lisp, который является особым диалектом Lisp. Практически на каждый вопрос об использовании Emacs касается использования Elisp или на него можно ответить со ссылкой на код Elisp. Ваш вопрос о Emacs заключается в создании фрейма и вставке в него изображения. Ваш вопрос, естественно, включает код Elisp, как и ответы. Вопрос не о Elisp.4. Если бы каждый вопрос Emacs, касающийся Elisp, был помечен тегом
elisp
, то тег был бы бессмысленным и бесполезным. Щелкните по тегу, чтобы увидеть, какие вопросы помечены им (и да, ваш вопрос не единственный, с которым он ошибочно помечен).5. Кстати, возможно, вы захотите показать (например, ссылку на) созданное вами изображение и, возможно, изображение правильного внешнего вида, которое вы получаете с
emacs -q
и т.д. И изображение, на которое вы ссылаетесь, мне непонятно (FWIW) — похоже, оно не соответствует вашему описанию. Наконец, весь ли код, который вы включаете, необходим для воспроизведения проблемы? Если нет, то вы можете захотеть сократить его, чтобы помочь другим помочь вам.
Ответ №1:
Хорошо, я решил это с помощью кого-то из Reddit. Проблема была с номерами строк. У меня был включен режим глобального отображения номеров строк. Добавление
(display-line-numbers-mode -1)
решает проблему. Я отредактировал приведенный выше код для правильного решения.