User interface settings and ModeLine
This commit is contained in:
+151
@@ -1,5 +1,6 @@
|
|||||||
#+TITLE: Emacs configuration
|
#+TITLE: Emacs configuration
|
||||||
#+PROPERTY: header-args:emacs-lisp :tangle init.el
|
#+PROPERTY: header-args:emacs-lisp :tangle init.el
|
||||||
|
#+STARTUP: overview
|
||||||
|
|
||||||
* Preface
|
* Preface
|
||||||
|
|
||||||
@@ -557,3 +558,153 @@ in conjunction with Evil modes.
|
|||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
* General configuration
|
||||||
|
** User Interface
|
||||||
|
|
||||||
|
Clean up Emacs' user interface, make it more minimal. Improve scrolling.
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
|
(setq mouse-wheel-scroll-amount '(3 ((shift) . 1))) ;; one line at a time
|
||||||
|
(setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling
|
||||||
|
(setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse
|
||||||
|
(setq scroll-step 1) ;; keyboard scroll one line at a time
|
||||||
|
(setq use-dialog-box nil) ;; Disable dialog boxes since they weren't working in Mac OSX
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Set frame transparency (and maximize windows by default).
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
|
; (set-frame-parameter (selected-frame) 'alpha '(90 . 90))
|
||||||
|
; (add-to-list 'default-frame-alist '(alpha . (90 . 90)))
|
||||||
|
; (set-frame-parameter (selected-frame) 'fullscreen 'maximized)
|
||||||
|
; (add-to-list 'default-frame-alist '(fullscreen . maximized))
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Set line spacing.
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
|
(setq line-spacing 0.03)
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Enable line numbers and customize their format (e.g.: relative numbers).
|
||||||
|
Also set the width of the line number column.
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
|
(column-number-mode)
|
||||||
|
|
||||||
|
;; Enable line numbers for some modes
|
||||||
|
(dolist (mode '(text-mode-hook
|
||||||
|
prog-mode-hook
|
||||||
|
conf-mode-hook))
|
||||||
|
(add-hook mode (lambda ()
|
||||||
|
(display-line-numbers-mode 1)
|
||||||
|
(setq display-line-numbers 'relative))))
|
||||||
|
|
||||||
|
;; Override some modes which derive from the above
|
||||||
|
(dolist (mode '(org-mode-hook))
|
||||||
|
(add-hook mode (lambda ()
|
||||||
|
(display-line-numbers-mode 1)
|
||||||
|
(setq display-line-numbers 'relative))))
|
||||||
|
|
||||||
|
(setq-default display-line-numbers-width 4)
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Don't warn for large files (shows up when launching videos)
|
||||||
|
Don't warn for following symlinked files
|
||||||
|
Don't warn when advice is added for functions
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
|
(setq large-file-warning-threshold nil)
|
||||||
|
(setq vc-follow-symlinks t)
|
||||||
|
(setq ad-redefinition-action 'accept)
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Theme
|
||||||
|
|
||||||
|
These days I bounce around between themes included with [[https://github.com/hlissner/emacs-doom-themes][DOOM Themes]] since they're
|
||||||
|
well-designed and integrate with a lot of Emacs packages.
|
||||||
|
|
||||||
|
A nice gallery of Emacs themes can be found at https://emacsthemes.com/.
|
||||||
|
|
||||||
|
Alternate themes:
|
||||||
|
|
||||||
|
- =doom-snazzy=
|
||||||
|
- =doom-vibrant=
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
|
(setup (:pkg spacegray-theme))
|
||||||
|
(setup (:pkg doom-themes))
|
||||||
|
|
||||||
|
(add-hook 'emacs-startup-hook
|
||||||
|
(lambda ()
|
||||||
|
; (load-theme 'doom-palenight t)
|
||||||
|
(doom-themes-visual-bell-config)))
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Mode Line
|
||||||
|
|
||||||
|
*** Basic Customization
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
|
(setq display-time-format "%l:%M %p %b %y"
|
||||||
|
display-time-default-load-average nil)
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
*** Enable Mode Diminishing
|
||||||
|
|
||||||
|
The [[https://github.com/myrjola/diminish.el][diminish]] package hides pesky minor modes from the modelines.
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
|
(setup (:pkg diminish))
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
*** Doom Modeline
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
|
;; You must run (nerd-icons-install-fonts) one time after
|
||||||
|
;; installing this package!
|
||||||
|
|
||||||
|
(setup (:straight minions)
|
||||||
|
(:hook-into doom-modeline-mode))
|
||||||
|
|
||||||
|
(setup (:pkg shrink-path))
|
||||||
|
|
||||||
|
(setup (:pkg doom-modeline)
|
||||||
|
(:hook-into after-init-hook)
|
||||||
|
|
||||||
|
(:option doom-modeline-height 21
|
||||||
|
doom-modeline-bar-width 6
|
||||||
|
doom-modeline-lsp t
|
||||||
|
doom-modeline-github nil
|
||||||
|
doom-modeline-mu4e nil
|
||||||
|
doom-modeline-irc t
|
||||||
|
doom-modeline-modal-icon nil
|
||||||
|
doom-modeline-minor-modes t
|
||||||
|
doom-modeline-persp-name nil
|
||||||
|
doom-modeline-buffer-file-name-style 'truncate-except-project
|
||||||
|
doom-modeline-major-mode-icon nil)
|
||||||
|
(:face mode-line ((t (:height 0.95))))
|
||||||
|
(:face mode-line-inactive ((t (:height 0.95)))))
|
||||||
|
|
||||||
|
; (setq doom-modeline-display-default-persp-name nil)
|
||||||
|
; (setq doom-modeline-persp-name nil)
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user