2017-11-12 22:42:17 +01:00
|
|
|
;;; -*- 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
|
|
|
|
|
2017-12-03 18:36:19 +01:00
|
|
|
;; Determine fontsize based on machine (4K display on stallo):
|
2018-01-04 23:22:51 +01:00
|
|
|
(letrec ((font-size 12)
|
2017-12-03 18:36:19 +01:00
|
|
|
(font (format "Input Mono-%d" font-size)))
|
|
|
|
(setq default-frame-alist `((font-backend . "xft")
|
|
|
|
(font . ,font)))
|
|
|
|
(set-frame-font font t t))
|
2017-11-12 22:42:17 +01:00
|
|
|
|
|
|
|
(defun configure-new-frame (frame)
|
|
|
|
"Configuration settings to run whenever a new frame is created."
|
2017-11-20 13:21:39 +01:00
|
|
|
(scroll-bar-mode 0)) ; Disable visual scroll bar (ugh!)
|
2017-11-12 22:42:17 +01:00
|
|
|
|
|
|
|
(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)
|
|
|
|
|