]> git.eshelyaron.com Git - emacs.git/commitdiff
Add new command image-mode-wallpaper-set
authorStefan Kangas <stefankangas@gmail.com>
Wed, 14 Sep 2022 13:01:58 +0000 (15:01 +0200)
committerStefan Kangas <stefankangas@gmail.com>
Wed, 14 Sep 2022 13:01:58 +0000 (15:01 +0200)
* lisp/image-mode.el (wallpaper): Require.
(image-mode-wallpaper-set): New command.
(image-mode-map): Bind above new command to "W".

etc/NEWS
lisp/image-mode.el

index 0023d5e2eb62063a0921a4fed4c47f81c012897a..a52927999480c15055653229a1260b545883ae95 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1954,6 +1954,11 @@ up as necessary.  Unlike 'image-transform-fit-both', this does not
 only scale the image down, but up as well.  It is bound to "s w" in
 Image Mode by default.
 
+---
+*** New command 'image-mode-wallpaper-set'.
+This command sets the desktop background to the current image.  It is
+bound to "W" by default.
+
 +++
 *** 'image-transform-fit-to-(height|width)' are now obsolete.
 Use the new command 'image-transform-fit-to-window' instead.
@@ -2048,8 +2053,8 @@ associated with Image-Dired.
 
 ---
 *** New command 'image-dired-wallpaper-set'.
-This command sets the wallpaper to the image at point in the thumbnail
-buffer.  It is bound to 'W' by default.
+This command sets the desktop background to the image at point in the
+thumbnail buffer.  It is bound to 'W' by default.
 
 ---
 *** 'image-dired-slideshow-start' is now bound to 'S'.
index d27462ff0a2370926b8eb541e6894eaa49cd5fc7..f2ffbd89447c40dcf71830722cde1f91f48ae09d 100644 (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))))
+
+\f
+;;; 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))
+
 \f
+;;; Image transformation
 
 (defsubst image-transform-width (width height)
   "Return the bounding box width of a rotated WIDTH x HEIGHT rectangle.