summaryrefslogtreecommitdiff
path: root/.config/emacs/modules/mm-window.el
blob: 0ce77c7b45ab2b70475f7226074cc0eb92d6e080 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
;;; mm-window.el --- Window configurations  -*- lexical-binding: t; -*-

^L
;;; Unique Buffer Names

(use-package uniquify
  :custom
  (uniquify-buffer-name-style 'forward))

^L
;;; Highlight Whitespace

(use-package whitespace
  :bind (("<f1>"  . whitespace-mode)
         ("C-c z" . delete-trailing-whitespace))
  :custom
  (whitespace-style
   '( face trailing spaces tabs space-mark tab-mark empty indentation
      space-after-tab space-before-tab))
  (whitespace-display-mappings
   '((space-mark  32 [] [?.])         ; Space
     (space-mark 160 [?␣] [?_])         ; Non-Breaking Space
     (tab-mark 9 [ ?\t] [?> ?\t]))))

^L
;;; Line Numbers

(use-package display-line-numbers
  :bind ("<f2>" . display-line-numbers-mode)
  :custom
  (display-line-numbers-grow-only t)
  (display-line-numbers-type 'relative)
  (display-line-numbers-width-start 99))

^L
;;; Select Help Windows

(use-package help
  :custom
  (help-window-select t))

^L
;;; Window Scrolling

(use-package window
  :custom
  (scroll-conservatively 101)           ; (info "(Emacs)Auto Scrolling")
  (scroll-error-top-bottom t)
  (scroll-margin 10)
  :config
  (setq-default truncate-partial-width-windows nil))

^L
;;; Smoother Scrolling

(mm-comment
  (use-package pixel-scroll
    :init
    (pixel-scroll-precision-mode)
    :config
    ;; Make it easier to use custom scroll functions
    (dolist (binding '("<next>" "<prior>"))
      (keymap-unset pixel-scroll-precision-mode-map binding :remove))))

^L
;;; Ace Window

(use-package ace-window
  :ensure t
  :bind ("M-o" . ace-window))

(provide 'mm-window)