Colors in emacs
Picking the right color in emacs is... laborious.
Where's M-x show-color-list (like: complete with colors displayed)?
Well, I happened upon this lisp. Works wonderfully.
This will print a full html file that you can load into a browser and use for whatever purpose.
Where's M-x show-color-list (like: complete with colors displayed)?
Well, I happened upon this lisp. Works wonderfully.
This will print a full html file that you can load into a browser and use for whatever purpose.
(defun list-colors-display-htm (&optional list)
"Create HTML page which lists all the defined colors."
(interactive)
(if (and (null list) window-system)
(progn
(setq list (x-defined-colors))
;; Delete duplicate colors.
(let ((l list))
(while (cdr l)
(if (facemenu-color-equal (car l) (car (cdr l)))
(setcdr l (cdr (cdr l)))
(setq l (cdr l)))))))
(with-output-to-temp-buffer "*Colors*"
(save-excursion
(set-buffer standard-output)
(insert "<html>\n"
"<head>\n"
"<meta http-equiv=\"Content-Style-Type\" content=\"text/css\">\n"
"<title>Colors</title>\n"
"</head>\n"
"<body>\n"
"<h1>Colors</h1>\n"
"<p>\n"
"<pre>\n")
(let (s)
(while list
(insert (format (concat "<span style=\"background-color:%s\">%-20s</span>"
" "
"<span style=\"color:%s\">%s</span>"
"\n")
(html-color (car list)) (car list)
(html-color (car list)) (car list)))
(setq list (cdr list))))
(insert "</pre>"
"</body>"
"</html>"))))
(defun html-color (string)
"Convert colors names to rgb(n1,n2,n3) strings."
(format "rgb(%d,%d,%d)"
(/ (nth 0 (x-color-values string)) 256)
(/ (nth 1 (x-color-values string)) 256)
(/ (nth 2 (x-color-values string)) 256)))
"Create HTML page which lists all the defined colors."
(interactive)
(if (and (null list) window-system)
(progn
(setq list (x-defined-colors))
;; Delete duplicate colors.
(let ((l list))
(while (cdr l)
(if (facemenu-color-equal (car l) (car (cdr l)))
(setcdr l (cdr (cdr l)))
(setq l (cdr l)))))))
(with-output-to-temp-buffer "*Colors*"
(save-excursion
(set-buffer standard-output)
(insert "<html>\n"
"<head>\n"
"<meta http-equiv=\"Content-Style-Type\" content=\"text/css\">\n"
"<title>Colors</title>\n"
"</head>\n"
"<body>\n"
"<h1>Colors</h1>\n"
"<p>\n"
"<pre>\n")
(let (s)
(while list
(insert (format (concat "<span style=\"background-color:%s\">%-20s</span>"
" "
"<span style=\"color:%s\">%s</span>"
"\n")
(html-color (car list)) (car list)
(html-color (car list)) (car list)))
(setq list (cdr list))))
(insert "</pre>"
"</body>"
"</html>"))))
(defun html-color (string)
"Convert colors names to rgb(n1,n2,n3) strings."
(format "rgb(%d,%d,%d)"
(/ (nth 0 (x-color-values string)) 256)
(/ (nth 1 (x-color-values string)) 256)
(/ (nth 2 (x-color-values string)) 256)))

0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home