                             :background "#00629D" :foreground "#FDF6E3")
                            (((class color) (min-colors 89) (background dark))
                             :background "#69B7F0" :foreground "#002B36")))
+  (set-face-attribute 'dired-header nil :underline t :background nil :foreground nil)
   (set-face-background 'flycheck-fringe-error nil)
   (set-face-background 'flycheck-fringe-info nil)
   (set-face-background 'flycheck-fringe-warning nil)
-  (set-face-attribute 'mode-line nil :overline nil :underline nil :box nil)
-  (set-face-attribute 'mode-line-inactive nil :overline nil :underline nil :box nil)
-  (set-face-attribute 'header-line nil :box nil))
+  (set-face-attribute 'mode-line nil :overline nil :underline nil)
+  (set-face-attribute 'mode-line-inactive nil :overline nil :underline nil)
+  (set-face-attribute 'header-line nil :overline nil :underline nil))

(autoload 'zap-up-to-char "misc")
(bind-key "M-z" 'zap-up-to-char)

(use-package undo-tree
  :config
  ;; Unmap extraneous undo-tree mode keys
  (assq-delete-all 'undo-tree-mode minor-mode-map-alist)
  ;; Map the usual undo key to undo-tree-visualize
  (bind-key "C-x u" 'undo-tree-visualize))

;; Quiet down noisy config gracefully
(use-package shut-up)

;; Move around windows with shifted arrow keys
(use-package windmove
  :config
  (windmove-default-keybindings))

;; Not that I use occur very often, but when I do, I'd like its keybindings the
;; same as grep mode's
(add-hook 'occur-mode-hook

                       ("n"   . occur-next)
                       ("p"   . occur-prev))))

;; Turn off useless mode lighters
(use-package delight
  :config
  (delight '((move-dup-mode nil move-dup)
             (smartparens-mode nil smartparens)
             (which-key-mode nil which-key)
             (whitespace-cleanup-mode nil whitespace)
             (undo-tree-mode nil undo-tree)
             (auto-revert-mode nil autorevert)
             (visual-line-mode nil simple)
             (subword-mode nil subword))))

;; Turn on keyboard shortcut remainder
(use-package which-key
  :delight
  :bind (("C-h b" . which-key-show-top-level)))

;; I use compilation mode more, so of course I have to do the same thing as
;; occur mode
(use-package compile
  :defer t
  :bind (:map compilation-mode-map
              ("M-n" . nil)
              ("M-p" . nil)
              ("n"   . compilation-next-error)
              ("p"   . compilation-previous-error)))

;; Completely unbind visual-line-mode's stupid bindings
;; (use-package visual-line-mode
;;   :defer t
;;   :bind (:map visual-line-mode-map
;;               ([remap move-beginning-of-line]   . nil)
;;               ([remap move-end-of-line]         . nil)
;;               ([remap beginning-of-visual-line] . move-beginning-of-line)
;;               ([remap end-of-visual-line]       . move-end-of-line)
;;               ([remap kill-line]                . nil)
;;               ([remap next-line]                . next-logical-line)
;;               ([remap previous-line]            . previous-logical-line)))

;; Sane keyboard scrolling
(use-package pager-default-keybindings)
