((eq side 'left) 1)
(t 2))))
+(defun mdw-horizontal-window-overhead ()
+ "Computes the horizontal window overhead.
+This is the number of columns used by fringes, scroll bars and other such
+cruft."
+ (if (not window-system)
+ 1
+ (let ((tot 0))
+ (dolist (what '(scroll-bar fringe))
+ (dolist (side '(left right))
+ (incf tot (funcall (intern (concat (symbol-name what) "-columns"))
+ side))))
+ tot)))
+
+(defun mdw-split-window-horizontally (&optional width)
+ "Split a window horizontally.
+Without a numeric argument, split the window approximately in
+half. With a numeric argument WIDTH, allocate WIDTH columns to
+the left-hand window (if positive) or -WIDTH columns to the
+right-hand window (if negative). Space for scroll bars and
+fringes is not taken out of the allowance for WIDTH, unlike
+\\[split-window-horizontally]."
+ (interactive "P")
+ (split-window-horizontally
+ (cond ((null width) nil)
+ ((>= width 0) (+ width (mdw-horizontal-window-overhead)))
+ ((< width 0) width))))
+
(defun mdw-divvy-window (&optional width)
"Split a wide window into appropriate widths."
(interactive "P")
77)
(t 78)))
(let* ((win (selected-window))
- (sb-width (if (not window-system)
- 1
- (let ((tot 0))
- (dolist (what '(scroll-bar fringe))
- (dolist (side '(left right))
- (incf tot
- (funcall (intern (concat (symbol-name what)
- "-columns"))
- side))))
- tot)))
+ (sb-width (mdw-horizontal-window-overhead))
(c (/ (+ (window-width) sb-width)
(+ width sb-width))))
(while (> c 1)
(select-window window)))))
(defvar mdw-good-url-browsers
- '((w3m . mdw-w3m-browse-url)
+ '(browse-url-generic
+ (w3m . mdw-w3m-browse-url)
browse-url-w3
browse-url-mozilla)
"List of good browsers for mdw-good-url-browsers.
(when (and (boundp 'whitespace-style)
(fboundp 'whitespace-mode))
(let ((whitespace-style (remove 'trailing whitespace-style)))
- (whitespace-mode arg))))
+ (whitespace-mode arg))
+ (setq show-trailing-whitespace whitespace-mode)))
(defun mdw-misc-mode-config ()
(and mdw-auto-indent
(mdw-whitespace-mode 1)
(and (fboundp 'gtags-mode)
(gtags-mode))
- (outline-minor-mode t)
- (hs-minor-mode t)
+ (if (fboundp 'hs-minor-mode)
+ (hs-minor-mode t)
+ (outline-minor-mode t))
(reveal-mode t)
(trap (turn-on-font-lock)))
(mdw-define-face comint-highlight-input
(t nil))
+(mdw-define-face dired-directory
+ (t :foreground "cyan" :weight bold))
+(mdw-define-face dired-symlink
+ (t :foreground "cyan"))
+(mdw-define-face dired-perm-write
+ (t nil))
+
(mdw-define-face trailing-whitespace
(((class color)) :background "red")
(t :inverse-video t))
(((type tty)) :foreground "green") (t :foreground "SeaGreen1"))
(mdw-define-face message-header-name
(((type tty)) :foreground "green") (t :foreground "SeaGreen1"))
+(mdw-define-face which-func
+ (t nil))
(mdw-define-face diff-index
(t :weight bold))
(modify-syntax-entry ?\n ">" messages-mode-syntax-table)
(setq comment-start "# ")
(setq comment-end "")
- (turn-on-font-lock-if-enabled)
(run-hooks 'messages-mode-hook))
(defun cpp-messages-mode ()
"\\)\\>\\|[0-9]+\\|$\\)\\)")
'(1 font-lock-keyword-face)))
messages-mode-keywords)))
- (turn-on-font-lock-if-enabled)
(run-hooks 'cpp-messages-mode-hook))
(add-hook 'messages-mode-hook 'mdw-misc-mode-config t)
(modify-syntax-entry ?\n ">" mallow-driver-mode-syntax-table)
(setq comment-start "%# ")
(setq comment-end "")
- (turn-on-font-lock-if-enabled)
(run-hooks 'mallow-driver-mode-hook))
(add-hook 'mallow-driver-hook 'mdw-misc-mode-config t)
'("\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" (0 mdw-punct-face))))
(setq font-lock-defaults
'(nfast-debug-mode-keywords nil nil nil nil))
- (turn-on-font-lock-if-enabled)
(run-hooks 'nfast-debug-mode-hook))
;;;--------------------------------------------------------------------------