2014-12-05 17:28:03 -05:00
|
|
|
;; User interface layout & behavior
|
2014-09-05 17:08:40 -04:00
|
|
|
(provide 'core-ui)
|
|
|
|
|
2014-12-05 17:28:03 -05:00
|
|
|
;;;; Load Theme ;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
(when window-system
|
|
|
|
;; No transparency!
|
2014-12-07 15:02:36 -05:00
|
|
|
(set-frame-parameter nil 'alpha 96)
|
2014-09-20 16:54:04 -04:00
|
|
|
|
2014-12-05 17:28:03 -05:00
|
|
|
(unless (member *default-font (font-family-list))
|
|
|
|
(error "Font %s isn't installed" *default-font))
|
2014-09-20 16:54:04 -04:00
|
|
|
|
2014-12-05 17:28:03 -05:00
|
|
|
(let ((font-str (concat *default-font "-" (number-to-string *default-font-size))))
|
|
|
|
(add-to-list 'default-frame-alist `(font . ,font-str))
|
|
|
|
(add-to-list 'initial-frame-alist `(font . ,font-str))))
|
2014-11-29 20:21:03 -05:00
|
|
|
|
2014-12-05 17:28:03 -05:00
|
|
|
(add-to-list 'custom-theme-load-path my-themes-dir)
|
|
|
|
(load-dark-theme)
|
2014-11-29 20:21:03 -05:00
|
|
|
|
2014-07-15 02:21:56 -04:00
|
|
|
|
2014-12-05 17:28:03 -05:00
|
|
|
;;;; GUI Settings ;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
(tooltip-mode -1)
|
|
|
|
(blink-cursor-mode 1) ; blink cursor
|
|
|
|
;; (global-hl-line-mode 1) ; highlight line
|
2014-07-16 03:28:06 -04:00
|
|
|
|
2014-12-12 15:26:34 -05:00
|
|
|
(setq linum-format " %3d")
|
|
|
|
|
2014-11-29 20:21:03 -05:00
|
|
|
;; Multiple cursors across buffers cause a strange redraw delay for
|
|
|
|
;; some things, like auto-complete or evil-mode's cursor color
|
|
|
|
;; switching.
|
|
|
|
(setq-default cursor-in-non-selected-windows nil)
|
2014-09-05 17:08:40 -04:00
|
|
|
|
2014-12-05 17:28:03 -05:00
|
|
|
(setq-default visible-bell nil) ; silence of the bells
|
|
|
|
(setq-default use-dialog-box nil) ; avoid GUI
|
|
|
|
(setq-default redisplay-dont-pause t)
|
|
|
|
|
2014-09-05 17:08:40 -04:00
|
|
|
;; do not soft-wrap lines
|
|
|
|
(setq-default truncate-lines t)
|
2014-12-05 17:28:03 -05:00
|
|
|
(setq-default truncate-partial-width-windows nil)
|
|
|
|
(setq-default indicate-buffer-boundaries nil)
|
|
|
|
(setq-default indicate-empty-lines nil)
|
2014-09-05 17:08:40 -04:00
|
|
|
|
2014-12-05 17:28:03 -05:00
|
|
|
(when (functionp 'scroll-bar-mode) (scroll-bar-mode -1)) ; no scrollbar
|
|
|
|
(when (functionp 'tool-bar-mode) (tool-bar-mode -1)) ; no toolbar
|
|
|
|
(when (functionp 'menu-bar-mode) (menu-bar-mode -1)) ; no menubar
|
|
|
|
(when (fboundp 'fringe-mode) (fringe-mode '(5 . 10))) ; no nonsense
|
|
|
|
|
|
|
|
(when window-system
|
|
|
|
(setq frame-title-format '(buffer-file-name "%f" ("%b")))
|
|
|
|
(tooltip-mode -1)
|
|
|
|
(blink-cursor-mode 1))
|
|
|
|
|
|
|
|
;; Show full path in window title
|
|
|
|
(setq frame-title-format
|
|
|
|
'(:eval (if (buffer-file-name) (abbreviate-file-name (buffer-file-name)) "%b")))
|
2014-09-05 17:08:40 -04:00
|
|
|
|
2014-09-20 16:54:04 -04:00
|
|
|
|
|
|
|
;;;; Modeline ;;;;;;;;;;;;;;;;;;;;;;;;;;
|
2014-11-29 20:21:03 -05:00
|
|
|
(use-package uniquify
|
|
|
|
:config (setq uniquify-buffer-name-style 'post-forward
|
|
|
|
uniquify-separator ":"
|
|
|
|
uniquify-ignore-buffers-re "^\\*"))
|
|
|
|
|
2014-09-20 16:54:04 -04:00
|
|
|
(use-package smart-mode-line
|
|
|
|
:config
|
2014-11-29 20:21:03 -05:00
|
|
|
(setq rm-blacklist
|
|
|
|
(mapconcat 'identity
|
|
|
|
'(" SP"
|
|
|
|
" Fill"
|
|
|
|
" yas"
|
|
|
|
" Fly"
|
|
|
|
" EvilOrg"
|
|
|
|
" Abbrev"
|
|
|
|
" WS"
|
|
|
|
" GitGutter"
|
|
|
|
" Undo-Tree"
|
|
|
|
" Projectile\\[.+\\]"
|
2014-12-05 17:28:03 -05:00
|
|
|
" hs"
|
|
|
|
" ElDoc"
|
2014-11-29 20:21:03 -05:00
|
|
|
) "\\|"))
|
2014-09-20 16:54:04 -04:00
|
|
|
:init
|
|
|
|
(progn
|
|
|
|
(setq sml/no-confirm-load-theme t
|
2014-09-29 15:24:09 -04:00
|
|
|
sml/mode-width 'full
|
2014-12-05 17:28:03 -05:00
|
|
|
sml/extra-filler (if window-system 1 0)
|
2014-09-20 16:54:04 -04:00
|
|
|
sml/show-remote nil
|
2014-11-29 20:21:03 -05:00
|
|
|
sml/modified-char "*"
|
2014-09-20 16:54:04 -04:00
|
|
|
sml/encoding-format nil)
|
|
|
|
|
2014-11-29 20:21:03 -05:00
|
|
|
(setq sml/replacer-regexp-list '(("^~/Dropbox/Projects/" "PROJECTS:")
|
|
|
|
("^~/.emacs.d/" "EMACS.D:")))
|
|
|
|
|
2014-12-05 17:28:03 -05:00
|
|
|
(after "evil" (setq evil-mode-line-format nil))
|
2014-11-29 20:21:03 -05:00
|
|
|
|
|
|
|
(setq-default mode-line-misc-info
|
|
|
|
'((which-func-mode ("" which-func-format ""))
|
|
|
|
(global-mode-string ("" global-mode-string ""))))
|
|
|
|
|
|
|
|
(add-hook! 'after-change-major-mode-hook
|
|
|
|
(setq mode-line-format
|
2014-12-05 17:28:03 -05:00
|
|
|
'((if window-system " ")
|
2014-11-29 20:21:03 -05:00
|
|
|
"%e"
|
|
|
|
mode-line-mule-info
|
|
|
|
mode-line-client
|
|
|
|
mode-line-remote
|
|
|
|
mode-line-frame-identification
|
|
|
|
mode-line-buffer-identification
|
|
|
|
mode-line-modified
|
|
|
|
mode-line-modes
|
|
|
|
mode-line-misc-info
|
|
|
|
(vc-mode vc-mode)
|
|
|
|
" "
|
|
|
|
mode-line-position
|
|
|
|
" "
|
|
|
|
mode-line-front-space
|
|
|
|
))
|
|
|
|
|
|
|
|
(add-to-list 'mode-line-modes
|
|
|
|
'(sml/buffer-identification-filling
|
|
|
|
sml/buffer-identification-filling
|
|
|
|
(:eval (setq sml/buffer-identification-filling
|
|
|
|
(sml/fill-for-buffer-identification))))))
|
|
|
|
|
|
|
|
(let ((-linepo mode-line-position))
|
|
|
|
(sml/setup)
|
|
|
|
(sml/apply-theme 'respectful)
|
|
|
|
|
|
|
|
(setq mode-line-position -linepo)
|
|
|
|
(sml/filter-mode-line-list 'mode-line-position))))
|