]> git.eshelyaron.com Git - emacs.git/commitdiff
Add :type to wallpaper-command
authorStefan Kangas <stefankangas@gmail.com>
Wed, 14 Sep 2022 11:22:22 +0000 (13:22 +0200)
committerStefan Kangas <stefankangas@gmail.com>
Wed, 14 Sep 2022 13:01:37 +0000 (15:01 +0200)
* lisp/image/wallpaper.el (wallpaper-command): Make it easier to
customize by adding a :type declaration covering all supported values.

lisp/image/wallpaper.el

index e25ce448c1071b2ec03fcc4173957622bc27df32..a3bf44a5c38b4b262e8a412295313c89b6a7053d 100644 (file)
@@ -47,6 +47,7 @@
 ;;; Finding the wallpaper command
 
 (defvar wallpaper--default-commands
+  ;; When updating this, also update the custom :type for `wallpaper-command'.
   '(
     ;; Sway (Wayland)
     ("swaybg" "-o" "*" "-i" "%f" "-m" "fill")
@@ -124,16 +125,32 @@ will be replaced as described in `wallpaper-command-args'.")
   "Executable used for setting the wallpaper.
 A suitable command for your environment should be detected
 automatically, so there is usually no need to customize this.
-However, if you do need to change this, you might also want to
-customize `wallpaper-command-args' to match.
+
+If you set this to any supported command using customize or
+`setopt', the user option `wallpaper-command-args' is
+automatically updated to match.  If you need to change this to an
+unsupported command, you will want to manually customize
+`wallpaper-command-args' to match.
 
 Note: If you find that you need to use a command in your
 environment that is not automatically detected, we would love to
 hear about it!  Please send an email to bug-gnu-emacs@gnu.org and
 tell us the command (and all options) that worked for you.  You
 can also use \\[report-emacs-bug]."
-  :type '(choice string
-                 (const :tag "Not set" nil))
+  :type
+  '(choice
+    (radio
+     (const :tag "gsettings                   (GNOME)"            "gsettings")
+     (const :tag "plasma-apply-wallpaperimage (KDE Plasma)"       "plasma-apply-wallpaperimage")
+     (const :tag "swaybg                      (Wayland/Sway)"     "swaybg")
+     (const :tag "wbg                         (Wayland)"          "wbg")
+     (const :tag "gm                          (X Window System)"  "gm")
+     (const :tag "display                     (X Window System)"  "display")
+     (const :tag "feh                         (X Window System)"  "feh")
+     (const :tag "xwallpaper                  (X Window System)"  "xwallpaper")
+     (const :tag "xloadimage                  (X Window System)"  "xloadimage")
+     (const :tag "xsetbg                      (X Window System)"  "xsetbg"))
+    (const :tag "Other (specify)"         string))
   :set #'wallpaper--set-wallpaper-command
   :group 'image
   :version "29.1")