75 lines
2.9 KiB
EmacsLisp
75 lines
2.9 KiB
EmacsLisp
;;; appearance.el --- Configure appearance. -*- lexical-binding: t; -*-
|
||
|
||
;; Time-stamp: <2020-03-08T10:50:44+0100>
|
||
|
||
;;; Commentary:
|
||
|
||
;; * Helpful visualizations.
|
||
;; * Colors and theme.
|
||
;; * Icon font.
|
||
;; * Modeline stuff.
|
||
|
||
;;; Code:
|
||
|
||
(require 'basics/global-variables)
|
||
|
||
(use-package emacs
|
||
;; If 2 files have the same name, append directory name after the filename.
|
||
:custom ((uniquify-after-kill-buffer-p t)
|
||
(uniquify-buffer-name-style 'post-forward)
|
||
(uniquify-strip-common-suffix t))
|
||
:config (progn
|
||
(tool-bar-mode -1) ; Hide toolbar.
|
||
(if (display-graphic-p)
|
||
(set-scroll-bar-mode 'right)) ; Put scrollbar to the right side.
|
||
(add-to-list 'default-frame-alist ; Set default font.
|
||
'(font . "Source Code Pro-10"))
|
||
(global-hl-line-mode t) ; Highlight current line.
|
||
(show-paren-mode t) ; Visualize matching parens.
|
||
(setq frame-title-format ; Show filename in frame title.
|
||
'(multiple-frames
|
||
"%b" ("" invocation-name "@" system-name
|
||
" – " buffer-file-truename)))))
|
||
|
||
;; Icon font (required by doom and others).
|
||
(use-package all-the-icons
|
||
:pin melpa ; We need > 3.2.0 for all-the-icons-ivy-rich (issue #4).
|
||
:init (defun my/font-installed-p (font-name)
|
||
"Check if font with FONT-NAME is available."
|
||
(if (find-font (font-spec :name font-name))
|
||
t
|
||
nil))
|
||
;; Install fonts if we have a GUI and the font is not already installed.
|
||
;; See <https://github.com/domtronn/all-the-icons.el/issues/58>.
|
||
:config (when (and (window-system)
|
||
(not (my/font-installed-p "all-the-icons")))
|
||
(all-the-icons-install-fonts t)))
|
||
|
||
(unless slow-computer
|
||
(use-package doom-themes
|
||
:after (all-the-icons)
|
||
:config (progn (load-theme 'doom-molokai t)
|
||
(doom-themes-visual-bell-config)) ; Flash modeline on error.
|
||
:custom-face (font-lock-comment-face ((t (:foreground "#667755")))))
|
||
) ; unless slow-computer.
|
||
|
||
;; Neat modeline.
|
||
(use-package doom-modeline
|
||
:after (all-the-icons)
|
||
:init (column-number-mode t) ; Show column number.
|
||
:custom ((doom-modeline-minor-modes t) ; Show minor modes.
|
||
(doom-modeline-buffer-file-name-style 'truncate-except-project)
|
||
(mode-line-percent-position nil) ; Don't display percentage.
|
||
(doom-modeline-buffer-state-icon nil)) ; Don't display save icon.
|
||
:hook (after-init . doom-modeline-mode))
|
||
|
||
;; Show line numbers on the left side of the buffer.
|
||
(use-package display-line-numbers
|
||
:if (>= emacs-major-version 26)
|
||
:config (progn (defun my/disable-line-numbers ()
|
||
(display-line-numbers-mode -1))
|
||
(global-display-line-numbers-mode)))
|
||
|
||
(provide 'basics/appearance)
|
||
;;; appearance.el ends here
|