Add new command image-mode-wallpaper-set

* lisp/image-mode.el (wallpaper): Require.
(image-mode-wallpaper-set): New command.
(image-mode-map): Bind above new command to "W".
This commit is contained in:
Stefan Kangas 2022-09-14 15:01:58 +02:00
parent 37e1c896a0
commit d3188196cc
2 changed files with 22 additions and 2 deletions

View file

@ -45,6 +45,7 @@
(require 'image)
(require 'exif)
(require 'dired)
(require 'wallpaper)
(eval-when-compile (require 'cl-lib))
;;; Image mode window-info management.
@ -523,6 +524,9 @@ image as text, when opening such images in `image-mode'."
"S-SPC" #'image-scroll-down
"DEL" #'image-scroll-down
;; Misc
"W" #'image-mode-wallpaper-set
;; Remapped
"<remap> <forward-char>" #'image-forward-hscroll
"<remap> <backward-char>" #'image-backward-hscroll
@ -1387,7 +1391,18 @@ If no such buffer exists, it will be opened."
(prog1 (bookmark-default-handler bmk)
(when (not (string= image-type (bookmark-prop-get bmk 'image-type)))
(image-toggle-display))))
;;; Setting the wallpaper
(defun image-mode-wallpaper-set ()
"Set the desktop background to the current image.
This uses `wallpaper-set' (which see)."
(interactive nil image-mode)
(wallpaper-set buffer-file-name))
;;; Image transformation
(defsubst image-transform-width (width height)
"Return the bounding box width of a rotated WIDTH x HEIGHT rectangle.