.emacs.d/init.d/basics/ui.el

72 lines
2.5 KiB
EmacsLisp
Raw Normal View History

2019-10-14 17:38:14 +02:00
;;; ui.el --- Configure user interfaces. -*- lexical-binding: t; -*-
;;; Commentary:
2019-11-09 18:55:55 +01:00
;; * treemacs
2019-10-14 17:38:14 +02:00
;;; Code:
2019-11-09 18:55:55 +01:00
;; Directory tree.
(require 'basics/package-management)
2019-11-09 18:55:55 +01:00
(use-package treemacs
:after (display-line-numbers doom-themes hl-line)
2020-11-29 11:52:10 +01:00
:commands (my/treemacs-show-maybe)
2020-03-10 14:33:47 +01:00
:custom ((treemacs-project-follow-cleanup t) ; Collapse projects when leaving.
(treemacs-silent-refresh t)) ; No log message on refresh.
:config (progn
2020-11-14 21:57:28 +01:00
;; (treemacs-tag-follow-mode)
(make-face 'hl-line-treemacs-face)
(when (>= emacs-major-version 27)
(set-face-attribute 'hl-line-treemacs-face nil
:extend t))
(defun my/treemacs-set-hl-line ()
(set (make-local-variable 'hl-line-face)
'hl-line-treemacs-face))
(defun my/treemacs-show-maybe ()
(when (and (>= (frame-width) 120)
(file-exists-p treemacs-persist-file)
(<= (length (frame-list)) 2))
2020-11-29 11:52:10 +01:00
(treemacs-select-window)
(other-window 1))))
:bind (("<f9>" . treemacs-select-window) ; Focus treemacs.
("C-<f9>" . treemacs) ; Toggle treemacs.
("M-<f9>" . treemacs-add-and-display-current-project)
2020-03-10 14:33:47 +01:00
(:map treemacs-mode-map
("<mouse-1>" . treemacs-single-click-expand-action)))
:hook ((treemacs-mode . my/disable-line-numbers)
(treemacs-mode . my/treemacs-set-hl-line)
(after-init . (lambda () (when (display-graphic-p)
(my/treemacs-show-maybe))))
(server-after-make-frame . my/treemacs-show-maybe)))
2019-11-09 18:55:55 +01:00
(use-package treemacs-projectile
:demand t
2020-03-10 14:33:47 +01:00
:after (treemacs projectile))
2019-11-09 18:55:55 +01:00
(use-package treemacs-magit
2020-05-25 13:40:41 +02:00
:demand t
:after (treemacs magit))
2019-10-14 17:38:14 +02:00
;; Shows tabs of all visible buffers per window.
(when (>= emacs-major-version 27)
(use-package tab-line
:defer 4
:custom-face
(tab-line ((t (:inherit ruler-mode-default))))
(tab-line-tab ((t (:inherit ruler-mode-default))))
(tab-line-tab-inactive ((t (:inherit tab-line-tab))))
(tab-line-tab-current ((t (:inherit ruler-mode-fill-column))))
(tab-line-highlight ((t (:inherit tab-line-tab-current))))))
2021-09-29 12:56:18 +02:00
(use-package dired
:straight (:type built-in)
:custom (dired-listing-switches "-alv --group-directories-first"))
(use-package elisp-demos
:config (advice-add 'describe-function-1
:after #'elisp-demos-advice-describe-function-1))
2019-10-14 17:38:14 +02:00
(provide 'basics/ui)
;;; ui.el ends here