dot/emacs: Inhibit server from raising windows.
[profile] / dot / emacs
index 167c3b8..da7d116 100644 (file)
--- a/dot/emacs
+++ b/dot/emacs
 (require 'paren)
 (trap (show-paren-mode t))
 (or window-system (mdw-emacs-version-p 22) (menu-bar-mode -1))
-(setq x-select-enable-clipboard nil
-      x-select-enable-primary t
-      mouse-drag-copy-region t)
+(if (eq window-system 'x)
+    (setq x-select-enable-clipboard nil
+         x-select-enable-primary t))
+(setq mouse-drag-copy-region t)
 
 ;; Multiple cursors.
 
      (not (and (fboundp 'daemonp) (daemonp)))
      (progn (setq server-temp-file-regexp (concat "^" tmpdir "\\|/draft$")
                  edit-server-new-frame nil
+                 server-raise-frame nil
                  gnuserv-frame t)
            (trap (let ((warning-suppress-types
                         (cons '(server)
 
 ;; Postscript printing.
 
-(setq ps-paper-type 'a4
-      ps-print-only-one-header t
-      ps-print-color-p t
-      ps-landscape-mode t ps-number-of-columns 4
-      ps-line-number t ps-line-number-step 5 ps-line-number-start 5
-      ps-zebra-stripes nil ps-zebra-stripe-height 5
-      ps-spool-duplex t ps-spool-tumble nil ps-spool-config 'setpagedevice
-      ps-top-margin (* 12 (/ 72 25.4))
-      ps-bottom-margin (* 16 (/ 72 25.4))
-      ps-header-offset (* 8 (/ 72 25.4))
-      ps-left-margin (* 12 (/ 72 25.4))
-      ps-right-margin (* 12 (/ 72 25.4))
-      ps-inter-column (* 4 (/ 72 25.4))
-      ps-font-family 'CourierCondensed ps-font-size '(4.5 . 5.16)
-      ps-line-number-font 'Palatino ps-line-number-font-size 3
-      ps-header-font-family 'Helvetica
-       ps-header-title-font-size '(8 . 10)
-       ps-header-font-size '(6 . 8))
+(let ((mm (/ 72 25.4)))
+  (setq ps-paper-type 'a4
+       ps-print-only-one-header t
+       ps-print-color-p t
+       ps-landscape-mode t ps-number-of-columns 4
+       ps-line-number t ps-line-number-step 5 ps-line-number-start 5
+       ps-zebra-stripes nil ps-zebra-stripe-height 5
+       ps-spool-duplex t ps-spool-tumble nil ps-spool-config 'setpagedevice
+       ps-top-margin (* 12 mm)
+       ps-bottom-margin (* 16 mm)
+       ps-header-offset (* 8 mm)
+       ps-left-margin (* 12 mm)
+       ps-right-margin (* 12 mm)
+       ps-inter-column (* 4 mm)
+       ps-font-family 'CourierCondensed ps-font-size '(4.5 . 5.16)
+       ps-line-number-font 'Palatino ps-line-number-font-size 3
+       ps-header-font-family 'Helvetica
+         ps-header-title-font-size '(8 . 10)
+         ps-header-font-size '(6 . 8)))
 
 ;; Splash screen stuff.
 
 
 (trap (resize-minibuffer-mode 1))      ;Make minibuffer grow dynamically
 (auto-compression-mode 1)              ;Enable automatic compression
+(xterm-mouse-mode 1)
 (setq enable-local-variables :safe
       enable-local-eval nil)
 (setq dabbrev-case-replace nil)                ;Retain case when completing
 (setq linum-format "%7d ")
 (setq next-line-add-newlines nil)      ;Don't add weird newlines
 (setq split-height-threshold nil)      ;Reuse windows where sensible
-(setq display-buffer-reuse-frames nil  ;Don't confuse me by showing buffers
-      iswitchb-default-method 'samewindow ;in other random frames
-      ido-default-file-method 'selected-window
-      ido-default-buffer-method 'selected-window)
+(setq compilation-scroll-output 'first-error)
+(setq iswitchb-default-method 'samewindow ;Don't confuse me by showing
+      ido-default-file-method 'selected-window ;buffers in other random
+      ido-default-buffer-method 'selected-window) ;frames
 (setq ido-enable-prefix t
       ido-enable-flex-matching t
       ido-everywhere t
 (setq read-quoted-char-radix 16)       ;C-q HEX-STUFF [RET]
 (setq case-fold-file-names nil)                ;Don't translate file names (grr...)
 (setq scroll-step 5)                   ;Don't scroll too much at a time
+(setq custom-unlispify-tag-names nil   ;Display variable names properly
+      custom-unlispify-menu-entries nil
+      custom-buffer-done-kill t)
 (setq blink-cursor-blinks 0)           ;Keep blinking the cursor
 (setq-default fill-column mdw-text-width) ;I use rather narrow windows
 (setq adaptive-fill-mode nil)          ;I have my own machinery instead
 (setq-default comment-column 40)       ;Set a standard comment column
 (setq-default truncate-partial-width-windows nil
              truncate-lines t)
+(setq line-move-visual t
+      visual-order-cursor-movement t)
 (setq default-indicate-empty-lines t)
 (setq view-read-only t)
 (setq-default view-exit-action #'kill-buffer)
 (setq find-ls-option                   ;Build file lists efficiently
       '("-print0 | xargs -0r ls -ld" . "ld"))
 (setq bookmark-save-flag 0)            ;Save bookmarks automatically
+(setq ediff-grab-mouse nil)
 (setq vc-follow-symlinks t
       vc-git-resolve-conflicts nil)
 (setq x-gtk-file-dialog-help-text nil)
       '(("en_GB-ize-w_accents" "[[:alpha:]]" "[^[:alpha:]]" "'" t
         ("-d" "en_GB-ize-w_accents") nil utf-8))
       ispell-silently-savep t)
-(setq viper-case-fold-search t
-      viper-electric-mode t
-      viper-ex-style-motion nil
-      viper-ex-style-editing nil
-      viper-expert-level 5
-      viper-inhibit-startup-message t
-      viper-no-multiple-ESC nil
-      viper-re-query-replace t
-      viper-re-search t
-      viper-shift-width 2
-      viper-vi-style-in-minibuffer nil
-      viper-want-ctl-h-help t)
+(setq-default viper-case-fold-search t
+             viper-electric-mode t
+             viper-ex-style-motion nil
+             viper-ex-style-editing nil
+             viper-expert-level 5
+             viper-inhibit-startup-message t
+             ;;viper-insert-state-cursor-color "red"
+             viper-no-multiple-ESC nil
+             viper-re-query-replace t
+             viper-re-search t
+             ;;viper-replace-overlay-cursor-color "red"
+             viper-shift-width 2
+             viper-vi-style-in-minibuffer nil
+             viper-want-ctl-h-help t)
 (trap
   (require 'uniquify)
   (setq uniquify-buffer-name-style 'post-forward-angle-brackets)
   (tool-bar-mode 0))
 (trap (or mdw-fast-startup (global-auto-revert-mode t)))
 
-(defvar mdw-black-background t)
+(defun mdw-set-viper-cursor-colour ()
+  ;; ?? doesn't seem to work
+  (set-frame-parameter nil 'cursor-color "green")
+  (message ";; %S" post-command-hook)
+  (sit-for 2))
+;;(add-hook 'viper-vi-state-hook 'mdw-set-viper-cursor-colour)
+
+(defcustom mdw-black-background t
+  "Whether the Emacs background is black (or dark, at any rate)."
+  :type 'boolean)
 
 (eval-after-load "outline"
   '(progn
 
 ;; Other frame fiddling.
 
-(defvar mdw-hostname
+(defcustom mdw-hostname
   (if (string-match "\\." system-name)
       (substring system-name 0 (match-beginning 0))
-    system-name))
+    system-name)
+  "Unqualified hostname Emacs is running on."
+  :type 'string
+  :safe 'stringp)
 (setq frame-title-format '("Emacs " user-login-name "@" mdw-hostname " – %b")
       icon-title-format frame-title-format)
 
   (global-set-key [?\C-c ?m ?b] 'magit-blame)
   (global-set-key [?\C-c ?m ?d] 'magit-dispatch-popup)
   (global-set-key [?\C-c ?m ?f] 'magit-find-file)
+  (global-set-key [?\C-c ?m ?l] 'magit-toggle-buffer-lock)
   (global-set-key [?\C-c ?m ?m] 'magit-status)
   (global-set-key [?\C-c ?m ?r] 'magit-list-repositories)
   (global-set-key [?\C-c ?m ?w] 'magit-wip-log)
   (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 ? ] 'mdw-designate-window)
   (global-set-key [?\C-c ?w ?b] 'w3m-bookmark-view)
   (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 ?k] 'windmove-up)
   (global-set-key [?\C-c ?w ?l] 'windmove-right)
   (global-set-key [?\C-c ?w ?r] 'winner-redo)
+  (global-set-key [?\C-c ?w ?s] 'mdw-switch-window-configuration)
   (global-set-key [?\C-c ?w ?u] 'winner-undo)
   (global-set-key [?\C-c ?w ?w] 'mdw-set-frame-width)
   (global-set-key [?\C-c ?w up] 'windmove-up)