about summary refs log tree commit diff
path: root/init/look-and-feel.el
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@gmail.com>2017-11-12T21·42+0100
committerVincent Ambo <github@tazj.in>2017-11-12T21·44+0100
commit85207b2598d0300bcca893e3ef8348aa469f616e (patch)
treeedba461a9cbafa912618795238377b39df878cf9 /init/look-and-feel.el
parent0511e7eb970e99f3c889aac323ff5ae2a550232e (diff)
feat: Add look-and-feel.el with theme & behaviour config
Diffstat (limited to 'init/look-and-feel.el')
-rw-r--r--init/look-and-feel.el75
1 files changed, 75 insertions, 0 deletions
diff --git a/init/look-and-feel.el b/init/look-and-feel.el
new file mode 100644
index 0000000000..83aad1c3a6
--- /dev/null
+++ b/init/look-and-feel.el
@@ -0,0 +1,75 @@
+;;; -*- lexical-binding: t; -*-
+
+;; Hide those ugly tool bars:
+(tool-bar-mode 0)
+(scroll-bar-mode 0)
+(menu-bar-mode 0)
+
+;; Don't do any annoying things:
+(setq ring-bell-function 'ignore)
+(setq initial-scratch-message "")
+
+;; Usually emacs will run as a proper GUI application, in which case a few
+;; extra settings are nice-to-have:
+(when window-system
+  (setq frame-title-format '(buffer-file-name "%f" ("%b")))
+  (mouse-wheel-mode t)
+  (blink-cursor-mode -1))
+
+;; Configure editor fonts
+(setq default-frame-alist '((font-backend . "xft")
+                            (font . "Input Mono-12")))
+
+(set-frame-font "Input Mono 12" t t)
+
+(defun configure-new-frame (frame)
+  "Configuration settings to run whenever a new frame is created."
+  (scroll-bar-mode 0) ; Disable visual scroll bar (ugh!)
+  (set-frame-parameter frame 'alpha '(97 . 95))) ; Transparent emacs!
+
+(add-hook 'after-make-frame-functions 'configure-new-frame)
+
+;; If this file is evaluating there may also be a new (initial) frame:
+(configure-new-frame (selected-frame))
+
+;; Configure smart mode line
+(sml/setup)
+
+;; Auto refresh buffers
+(global-auto-revert-mode 1)
+
+;; Use clipboard properly
+(setq select-enable-clipboard t)
+
+;; Show in-progress chords in minibuffer
+(setq echo-keystrokes 0.1)
+
+;; Show column numbers in all buffers
+(column-number-mode t)
+
+;; Highlight currently active line
+(global-hl-line-mode t)
+
+(defalias 'yes-or-no-p 'y-or-n-p)
+(defalias 'auto-tail-revert-mode 'tail-mode)
+
+;; Style line numbers (shown with M-g g)
+(setq linum-format
+      (lambda (line)
+        (propertize
+         (format (concat " %"
+                         (number-to-string
+                          (length (number-to-string
+                                   (line-number-at-pos (point-max)))))
+                         "d ")
+                 line)
+         'face 'linum)))
+
+;; Display tabs as 2 spaces
+(setq tab-width 2)
+
+;; Don't wrap around when moving between buffers
+(setq windmove-wrap-around nil)
+
+(provide 'look-and-feel)
+