Support Vim, Tmux, Emacs with Stow
After moving off of Meta, Dotfiles has a greater responsibility to manage configs. Vim, Tmux, and Emacs are now within Stow's purview.
This commit is contained in:
parent
8b2fadf477
commit
17ee0e400b
1338 changed files with 330350 additions and 24 deletions
|
|
@ -1,172 +0,0 @@
|
|||
;;; ui.el --- Any related to the UI/UX goes here -*- lexical-binding: t -*-
|
||||
;; Author: William Carroll <wpcarro@gmail.com>
|
||||
|
||||
;;; Commentary:
|
||||
;; Hosts font settings, scrolling, color schemes.
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; increase line height
|
||||
(setq-default line-spacing 4)
|
||||
|
||||
;; change font
|
||||
(add-to-list 'default-frame-alist '(font . "Operator Mono-10"))
|
||||
|
||||
(defconst wpc/font-size-step 10
|
||||
"The amount (%) by which to increase or decrease a font.")
|
||||
|
||||
(defun wpc/increase-font ()
|
||||
"Increase font size."
|
||||
(interactive)
|
||||
(->> (face-attribute 'default :height)
|
||||
(+ wpc/font-size-step)
|
||||
(set-face-attribute 'default (selected-frame) :height)))
|
||||
|
||||
(defun wpc/decrease-font ()
|
||||
"Decrease font size."
|
||||
(interactive)
|
||||
(->> (face-attribute 'default :height)
|
||||
(+ (- wpc/font-size-step))
|
||||
(set-face-attribute 'default (selected-frame) :height)))
|
||||
|
||||
(general-def "s-j" #'wpc/decrease-font)
|
||||
(general-def "s-k" #'wpc/increase-font)
|
||||
|
||||
;; smooth scrolling settings
|
||||
(setq scroll-step 1
|
||||
scroll-conservatively 10000)
|
||||
|
||||
;; theme mgt
|
||||
(use-package cycle-themes
|
||||
:after (doom-themes)
|
||||
:config
|
||||
;; NOTE: may want to use `defconst' here
|
||||
(setq wpc/doom-themes
|
||||
(->> (custom-available-themes)
|
||||
(-map #'symbol-name)
|
||||
(-filter (-partial #'s-starts-with? "doom-"))
|
||||
(-map #'intern)))
|
||||
(setq cycle-themes-theme-list wpc/doom-themes))
|
||||
|
||||
;; clean up modeline
|
||||
(use-package diminish
|
||||
:after (yasnippet ivy which-key)
|
||||
:config
|
||||
(diminish 'evil-commentary-mode)
|
||||
(diminish 'flycheck-mode "Flycheck")
|
||||
(diminish 'company-mode "Company")
|
||||
(diminish 'auto-revert-mode)
|
||||
(diminish 'which-key-mode)
|
||||
(diminish 'yas-minor-mode)
|
||||
(diminish 'ivy-mode))
|
||||
|
||||
;; disable startup screen
|
||||
(setq inhibit-startup-screen t)
|
||||
|
||||
;; disable toolbar
|
||||
(tool-bar-mode -1)
|
||||
|
||||
;; enable line numbers
|
||||
(general-add-hook '(prog-mode-hook
|
||||
text-mode-hook
|
||||
conf-mode-hook)
|
||||
(enable linum-mode))
|
||||
;;(add-hook 'after-init-hook (lambda () (set-face-foreground 'linum "#da5468")))
|
||||
|
||||
;; set default buffer for Emacs
|
||||
(setq initial-buffer-choice wpc/current-project)
|
||||
|
||||
;; transparent Emacs
|
||||
(set-frame-parameter (selected-frame) 'alpha '(90 . 90))
|
||||
(setq frame-transparent? t)
|
||||
|
||||
(defun wpc/toggle-transparency ()
|
||||
"Toggle the frame transparency."
|
||||
(interactive)
|
||||
(set-frame-parameter (selected-frame) 'alpha '(90 . 90))
|
||||
(let ((alpha (if frame-transparent? 100 90)))
|
||||
(set-frame-parameter (selected-frame) 'alpha `(,alpha . ,alpha)))
|
||||
(setq frame-transparent? (not frame-transparent?)))
|
||||
|
||||
(general-def "s-u" #'wpc/toggle-transparency)
|
||||
|
||||
;; premium Emacs themes
|
||||
(use-package doom-themes
|
||||
:config
|
||||
(setq doom-themes-enable-bold t
|
||||
doom-themes-enable-italic t)
|
||||
(load-theme 'doom-one-light t)
|
||||
(doom-themes-visual-bell-config)
|
||||
(doom-themes-org-config))
|
||||
|
||||
;; kbd discovery
|
||||
(use-package which-key
|
||||
:config
|
||||
(setq which-key-idle-delay 0.25)
|
||||
(which-key-mode))
|
||||
|
||||
;; completion framework
|
||||
(use-package ivy
|
||||
:config
|
||||
(ivy-mode t))
|
||||
|
||||
;; icons for Ivy
|
||||
(use-package all-the-icons-ivy
|
||||
:after (ivy)
|
||||
:config
|
||||
(all-the-icons-ivy-setup))
|
||||
|
||||
;; disable menubar
|
||||
(menu-bar-mode -1)
|
||||
(when (string-equal system-type "darwin")
|
||||
(setq ns-auto-hide-menu-bar t))
|
||||
|
||||
;; reduce noisiness of auto-revert-mode
|
||||
(setq auto-revert-verbose nil)
|
||||
|
||||
;; highlight lines that are over 100 characters long
|
||||
(use-package whitespace
|
||||
:config
|
||||
(setq whitespace-line-column wpc/fill-column)
|
||||
(setq whitespace-style '(face lines-tail))
|
||||
(add-hook 'prog-mode-hook #'whitespace-mode))
|
||||
|
||||
|
||||
|
||||
;; disable GUI scrollbars
|
||||
(when (display-graphic-p)
|
||||
(scroll-bar-mode -1))
|
||||
|
||||
;; rebalance emacs windows after splits are created
|
||||
(defadvice split-window-below (after rebalance-windows activate)
|
||||
(balance-windows))
|
||||
|
||||
(defadvice split-window-right (after rebalance-windows activate)
|
||||
(balance-windows))
|
||||
|
||||
(defadvice delete-window (after rebalance-window activate)
|
||||
(balance-windows))
|
||||
|
||||
;; dirname/filename instead of filename<dirname>
|
||||
(setq uniquify-buffer-name-style 'forward)
|
||||
|
||||
;; highlight matching parens, brackets, etc
|
||||
(show-paren-mode 1)
|
||||
|
||||
;; GUI alerts in emacs
|
||||
(use-package alert
|
||||
:commands (alert)
|
||||
:config
|
||||
(setq alert-default-style 'notifier))
|
||||
|
||||
;; focus mode
|
||||
(quelpa '(zen-mode
|
||||
:fetcher github
|
||||
:repo "aki237/zen-mode"))
|
||||
(require 'zen-mode)
|
||||
|
||||
;; focus mode
|
||||
(use-package writeroom-mode)
|
||||
|
||||
(provide 'wpc-ui)
|
||||
;;; ui.el ends here
|
||||
Loading…
Add table
Add a link
Reference in a new issue