From 94d2fc1815a919734353c942f224db1de4b4fcb8 Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Mon, 7 Mar 2011 09:04:49 +0100 Subject: Django, org * Added nxhtml, mostly for django support. * Changed some org settings. --- emacs.d/nxhtml/util/buffer-bg.el | 89 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 emacs.d/nxhtml/util/buffer-bg.el (limited to 'emacs.d/nxhtml/util/buffer-bg.el') diff --git a/emacs.d/nxhtml/util/buffer-bg.el b/emacs.d/nxhtml/util/buffer-bg.el new file mode 100644 index 0000000..d6459d6 --- /dev/null +++ b/emacs.d/nxhtml/util/buffer-bg.el @@ -0,0 +1,89 @@ +;;; buffer-bg.el --- Changing background color of windows +;; +;; Author: Lennart Borgman (lennart O borgman A gmail O com) +;; Created: 2008-05-22T19:06:23+0200 Thu +;; Version: 0.5 +;; Last-Updated: 2008-05-22T23:19:55+0200 Thu +;; URL: http://www.emacswiki.org/cgi-bin/wiki/buffer-bg.el +;; Keywords: +;; Compatibility: +;; +;; Features that might be required by this library: +;; +;; None +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;;; Commentary: +;; +;; There is currently no way to change background colors of Emacs +;; windows. This library implements a workaround using overlays. +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;;; Change log: +;; +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;; This program is free software; you can redistribute it and/or +;; modify it under the terms of the GNU General Public License as +;; published by the Free Software Foundation; either version 2, or +;; (at your option) any later version. +;; +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program; see the file COPYING. If not, write to +;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth +;; Floor, Boston, MA 02110-1301, USA. +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;;; Code: + +(defvar buffer-bg-overlay nil) +(put 'buffer-bg-overlay 'permanent-local t) + +;;;###autoload +(defun buffer-bg-set-color (color buffer) + "Add an overlay with background color COLOR to buffer BUFFER. +If COLOR is nil remove previously added overlay." + (interactive + (let* ((prompt (if buffer-bg-overlay + "Background color (empty string to remove): " + "Background color: ")) + (color (read-color prompt nil t))) + (when (= 0 (length color)) + (setq color nil)) + (list color (current-buffer)) + )) + (if (not color) + (when buffer-bg-overlay + (delete-overlay buffer-bg-overlay) + (setq buffer-bg-overlay nil)) + (save-restriction + (widen) + (setq buffer-bg-overlay + (make-overlay (point-min) (point-max) nil nil t)) + ;; Fix-me: Let the overlay have priority 0 which is the + ;; lowest. Change this to below char properties if this is ever + ;; allowed in Emacs. + (overlay-put buffer-bg-overlay 'priority 0) + (let* ((bg-face (list :background color)) + (bg-after (propertize (make-string 10 ?\n) + 'face bg-face + 'intangible t))) + (overlay-put buffer-bg-overlay 'face bg-face) + ;; This is just confusing, don't use it: + ;;(overlay-put buffer-bg-overlay 'after-string bg-after) + ) + ))) + + +(provide 'buffer-bg) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; buffer-bg.el ends here -- cgit v1.2.3-54-g00ecf