summaryrefslogtreecommitdiffstats
path: root/emacs.d/nxhtml/util/buffer-bg.el
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2011-03-07 09:04:49 +0100
committerGravatar Tom Willemsen2011-03-07 09:04:49 +0100
commit94d2fc1815a919734353c942f224db1de4b4fcb8 (patch)
tree4168e816ead132bfa3510e272427837c3895f5e2 /emacs.d/nxhtml/util/buffer-bg.el
parentd0e7674fdb1de12c8de202d4028a5d7ed3669a6e (diff)
downloaddotfiles-94d2fc1815a919734353c942f224db1de4b4fcb8.tar.gz
dotfiles-94d2fc1815a919734353c942f224db1de4b4fcb8.zip
Django, org
* Added nxhtml, mostly for django support. * Changed some org settings.
Diffstat (limited to 'emacs.d/nxhtml/util/buffer-bg.el')
-rw-r--r--emacs.d/nxhtml/util/buffer-bg.el89
1 files changed, 89 insertions, 0 deletions
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