mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 17:24:23 +00:00
; Make wallpaper--format-arg more resilient
* lisp/image/wallpaper.el (wallpaper--format-arg): Make more resilient to errors.
This commit is contained in:
parent
ed1401c64d
commit
55bd6a5cd4
1 changed files with 20 additions and 16 deletions
|
|
@ -440,9 +440,10 @@ FILE is the image file name."
|
|||
(format-spec
|
||||
format
|
||||
`((?f . ,(expand-file-name file))
|
||||
(?F . ,(mapconcat #'url-hexify-string
|
||||
(file-name-split file)
|
||||
"/"))
|
||||
(?F . ,(lambda ()
|
||||
(mapconcat #'url-hexify-string
|
||||
(file-name-split file)
|
||||
"/")))
|
||||
(?h . ,(lambda ()
|
||||
(wallpaper--get-height-or-width
|
||||
"height"
|
||||
|
|
@ -454,22 +455,25 @@ FILE is the image file name."
|
|||
#'display-pixel-width
|
||||
wallpaper-default-width)))
|
||||
;; screen number
|
||||
(?S . ,(let ((display (frame-parameter (selected-frame) 'display)))
|
||||
(if (and display
|
||||
(string-match (rx ":" (+ (in "0-9")) "."
|
||||
(group (+ (in "0-9"))) eos)
|
||||
display))
|
||||
(match-string 1 display)
|
||||
"0")))
|
||||
(?S . ,(lambda ()
|
||||
(let ((display (frame-parameter (selected-frame) 'display)))
|
||||
(if (and display
|
||||
(string-match (rx ":" (+ (in "0-9")) "."
|
||||
(group (+ (in "0-9"))) eos)
|
||||
display))
|
||||
(match-string 1 display)
|
||||
"0"))))
|
||||
;; monitor name
|
||||
(?M . ,#'wallpaper--x-monitor-name)
|
||||
;; workspace
|
||||
(?W . ,(or (and (fboundp 'x-window-property)
|
||||
(display-graphic-p)
|
||||
(number-to-string
|
||||
(or (x-window-property "_NET_CURRENT_DESKTOP" nil "CARDINAL" 0 nil t)
|
||||
(x-window-property "WIN_WORKSPACE" nil "CARDINAL" 0 nil t))))
|
||||
"0")))))
|
||||
(?W . ,(lambda ()
|
||||
(or (and (fboundp 'x-window-property)
|
||||
(display-graphic-p)
|
||||
(number-to-string
|
||||
(or (x-window-property "_NET_CURRENT_DESKTOP" nil "CARDINAL" 0 nil t)
|
||||
(x-window-property "WIN_WORKSPACE" nil "CARDINAL" 0 nil t)
|
||||
0)))
|
||||
"0"))))))
|
||||
|
||||
(defun wallpaper-default-set-function (file)
|
||||
"Set the wallpaper to FILE using a command.
|
||||
|
|
|
|||
Loading…
Reference in a new issue