doomemacs/core/defuns/defuns-ui.el

97 lines
3.2 KiB
EmacsLisp
Raw Normal View History

2015-06-15 15:05:52 +08:00
;;; defuns-ui.el
2016-05-21 10:37:30 +08:00
;;;###autoload (autoload 'doom:toggle-fullscreen "defuns-ui" nil t)
;;;###autoload (autoload 'doom:set-columns "defuns-ui" nil t)
(after! evil
2016-05-21 10:37:30 +08:00
(evil-define-command doom:set-columns (&optional bang columns)
2016-04-26 14:00:19 +08:00
"Adjusts visual-fill-column-width on the fly."
(interactive "<!><a>")
(if (or (= (length columns) 0) bang)
(progn
(setq visual-fill-column-width 80)
(when visual-fill-column-mode
(visual-fill-column-mode -1)))
(setq columns (string-to-number columns))
(when (> columns 30)
(setq visual-fill-column-width columns)))
(if visual-fill-column-mode
(visual-fill-column--adjust-window)
(visual-fill-column-mode 1)))
2016-05-21 10:37:30 +08:00
(evil-define-command doom:toggle-fullscreen ()
2016-03-03 14:37:08 +08:00
(interactive)
(set-frame-parameter nil 'fullscreen (if (not (frame-parameter nil 'fullscreen)) 'fullboth))))
2015-11-11 07:10:32 +08:00
2015-10-01 15:41:16 +08:00
;;;###autoload
2016-05-21 10:37:30 +08:00
(defun doom/reset-theme ()
2015-10-01 15:41:16 +08:00
(interactive)
2016-05-21 10:37:30 +08:00
(doom/load-theme (or doom-current-theme doom-default-theme)))
2015-11-11 07:10:32 +08:00
;;;###autoload
2016-05-21 10:37:30 +08:00
(defun doom/load-font (font)
2015-11-11 07:10:32 +08:00
(interactive)
2016-02-05 08:00:03 +08:00
(set-frame-font font t)
2016-05-21 10:37:30 +08:00
(setq doom-current-font font))
;;;###autoload
2016-05-21 10:37:30 +08:00
(defun doom/load-theme (theme &optional suppress-font)
(interactive)
2016-05-21 10:37:30 +08:00
(when doom-current-theme
(disable-theme doom-current-theme))
(load-theme theme t)
(unless suppress-font
2016-05-21 10:37:30 +08:00
(doom/load-font doom-current-font))
(setq doom-current-theme theme))
2015-10-01 15:41:16 +08:00
2015-11-11 07:10:32 +08:00
;;;###autoload
2016-05-21 10:37:30 +08:00
(defun doom/show-as (how &optional pred)
2015-11-11 07:10:32 +08:00
(let* ((beg (match-beginning 1))
(end (match-end 1))
(ok (or (not pred) (funcall pred beg end))))
(when ok
(compose-region beg end how 'decompose-region))
nil))
2016-04-15 00:54:25 +08:00
;;;###autoload
2016-05-21 10:37:30 +08:00
(defun doom/imenu-list-quit ()
2016-04-15 00:54:25 +08:00
(interactive)
(quit-window)
(mapc (lambda (b) (with-current-buffer b
(when imenu-list-minor-mode
(imenu-list-minor-mode -1))))
2016-05-21 10:37:30 +08:00
(doom/get-visible-buffers (doom/get-real-buffers))))
2016-04-15 00:54:25 +08:00
;;;###autoload
2016-05-21 10:37:30 +08:00
(defun doom|hide-mode-line (&rest _)
(setq mode-line-format nil))
2016-05-26 17:23:25 +08:00
;;;###autoload
(defun doom/eldoc-show-in-mode-line (input)
"Display string STR in the mode-line next to minibuffer."
(with-current-buffer (eldoc-current-buffer)
(let* ((max (window-width (selected-window)))
(str (and (stringp input) (concat " " input)))
(len (length str))
(tmp-str str)
(mode-line-format (or (and str `(:eval (spaceline-ml-eldoc)))
mode-line-format))
roll mode-line-in-non-selected-windows)
(catch 'break
(if (and (> len max) eldoc-mode-line-rolling-flag)
(progn
(while (setq roll (sit-for 0.3))
(setq tmp-str (substring tmp-str 2)
mode-line-format (concat tmp-str " [<]" str))
(force-mode-line-update)
(when (< (length tmp-str) 2) (setq tmp-str str)))
(unless roll
(when eldoc-mode-line-stop-rolling-on-input
(setq eldoc-mode-line-rolling-flag nil))
(throw 'break nil)))
(force-mode-line-update)
(sit-for eldoc-show-in-mode-line-delay))))
(force-mode-line-update)))
2015-06-15 15:05:52 +08:00
(provide 'defuns-ui)
;;; defuns-ui.el ends here