From 117f652a6bbcf71d4b0ffff276286fe01c43f306 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Sat, 5 Sep 2020 14:26:56 +0100 Subject: [PATCH] el/dot-emacs.el, dot/emacs: Add new function to change frame colours. --- dot/emacs | 1 + el/dot-emacs.el | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/dot/emacs b/dot/emacs index 5cb3ef4..2bb3318 100644 --- a/dot/emacs +++ b/dot/emacs @@ -721,6 +721,7 @@ (global-set-key [?\C-c ?v ?i] 'vm-visit-imap-folder) (global-set-key [?\C-c ?v ?m] 'vm-visit-folder) (global-set-key [?\C-c ?v ?v] 'mdw-auto-revert) + (global-set-key [?\C-c ?w ?c] 'mdw-set-frame-colour) (global-set-key [?\C-c ?w ?d] 'mdw-divvy-window) (global-set-key [?\C-c ?w ?h] 'windmove-left) (global-set-key [?\C-c ?w ?j] 'windmove-down) diff --git a/el/dot-emacs.el b/el/dot-emacs.el index ded4030..c1beb94 100644 --- a/el/dot-emacs.el +++ b/el/dot-emacs.el @@ -263,6 +263,23 @@ P") This is sadly necessary because Emacs 26 is broken in this regard.") +(defvar mdw-frame-colour-alist + '((black . ("#000000" . "#ffffff")) + (red . ("#2a0000" . "#ffffff")) + (green . ("#002a00" . "#ffffff")) + (blue . ("#00002a" . "#ffffff"))) + "*Alist mapping symbol names to (FOREGROUND . BACKGROUND) colour pairs.") + +(defun mdw-set-frame-colour (colour &optional frame) + (interactive "xColour name or (FOREGROUND . BACKGROUND) pair: +") + (when (and colour (symbolp colour)) + (let ((entry (assq colour mdw-frame-colour-alist))) + (unless entry (error "Unknown colour `%s'" colour)) + (setf colour (cdr entry)))) + (set-frame-parameter frame 'background-color (car colour)) + (set-frame-parameter frame 'foreground-color (cdr colour))) + ;; Don't raise windows unless I say so. (defvar mdw-inhibit-raise-frame nil -- 2.11.0