((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)
(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 variable-pitch
(((type x)) :family "sans" :height 100))
(mdw-define-face variable-pitch
- (((type x)) :family "helvetica" :height 120)))
+ (((type x)) :family "helvetica" :height 90)))
(mdw-define-face region
(((type tty) (class color)) :background "blue")
(((type tty) (class mono)) :inverse-video t)
(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))
(arglist-cont-nonempty . mdw-c-lineup-arglist)
(topmost-intro . mdw-c-indent-extern-mumble)
(cpp-define-intro . 0)
+ (knr-argdecl . 0)
(inextern-lang . [0])
(label . 0)
(case-label . +)
(access-label . -)
(inclass . +)
(inline-open . ++)
- (statement-cont . 0)
+ (statement-cont . +)
(statement-case-intro . +)))
t))
;;;--------------------------------------------------------------------------
;;; Erlang configuration.
-(setq erlang-electric-commannds
- '(erlang-electric-newline erlang-electric-semicolon))
+(setq erlang-electric-commands nil)
(defun mdw-fontify-erlang ()
(save-match-data
(replace-regexp-in-string "\\..*$" "" (system-name)))
" "
- (eshell/pwd)
+ (let* ((pwd (eshell/pwd)) (npwd (length pwd))
+ (home (expand-file-name "~")) (nhome (length home)))
+ (if (and (>= npwd nhome)
+ (or (= nhome npwd)
+ (= (elt pwd nhome) ?/))
+ (string= (substring pwd 0 nhome) home))
+ (concat "~" (substring pwd (length home)))
+ pwd))
right)))
(setq eshell-prompt-function 'mdw-eshell-prompt)
(setq eshell-prompt-regexp "^\\[[^]>]+\\(\\]\\|>>?\\)")
-(defalias 'eshell/e 'find-file)
-(defalias 'eshell/w3m 'w3m-goto-url)
+(defun eshell/e (file) (find-file file) nil)
+(defun eshell/ee (file) (find-file-other-window file) nil)
+(defun eshell/w3m (url) (w3m-goto-url url) nil)
(mdw-define-face eshell-prompt (t :weight bold))
(mdw-define-face eshell-ls-archive (t :weight bold :foreground "red"))