I reordered the code in a more clean an organized way. Also this improves a lot the emacs startup time again, bucause after some updates it becomes a bit slow with the old configuration, so i did it again in a new way.
149 lines
4.4 KiB
EmacsLisp
149 lines
4.4 KiB
EmacsLisp
;; init-ui.el --- Better lookings and appearances. -*- lexical-binding: t -*-
|
|
|
|
;; Author: kj <webmaster@outcontrol.net>
|
|
;; URL: https://git.kj2.me/kj/confi-emacs-actual
|
|
|
|
;;; Commentary:
|
|
;;
|
|
;; Visual (UI) configurations for better lookings and appearances.
|
|
;;
|
|
|
|
;;; Code:
|
|
|
|
;; Optimization
|
|
(setq idle-update-delay 1.0)
|
|
|
|
(setq-default cursor-in-non-selected-windows nil)
|
|
(setq highlight-nonselected-windows nil)
|
|
|
|
(setq fast-but-imprecise-scrolling t)
|
|
(setq redisplay-skip-fontification-on-input t)
|
|
|
|
;; Sidebar a la derecha con los archivos
|
|
(use-package dired-sidebar
|
|
:hook (dired-mode . hl-line-mode)
|
|
:bind ([f9] . dired-sidebar-toggle-sidebar)
|
|
:commands (dired-sidebar-toggle-sidebar)
|
|
:config
|
|
(setq dired-sidebar-theme 'nerd
|
|
;; dired-sidebar-should-follow-file t
|
|
;; dired-sidebar-follow-file-idle-delay 0.5
|
|
))
|
|
|
|
|
|
;; Show line numbers
|
|
(use-package display-line-numbers
|
|
:ensure nil
|
|
:hook ((prog-mode
|
|
conf-mode toml-ts-mode
|
|
yaml-mode yaml-ts-mode)
|
|
. display-line-numbers-mode)
|
|
:init (setq display-line-numbers-width-start t))
|
|
|
|
;; Suppress GUI features
|
|
(setq use-file-dialog nil
|
|
use-dialog-box nil
|
|
inhibit-startup-screen t
|
|
inhibit-startup-echo-area-message user-login-name
|
|
inhibit-default-init t
|
|
initial-scratch-message nil)
|
|
(unless (daemonp)
|
|
(advice-add #'display-startup-echo-area-message :override #'ignore))
|
|
|
|
;; Display dividers between windows
|
|
(setq window-divider-default-places t
|
|
window-divider-default-bottom-width 1
|
|
window-divider-default-right-width 1)
|
|
(add-hook 'window-setup-hook #'window-divider-mode)
|
|
|
|
|
|
;; Mouse & Smooth Scroll
|
|
;; Scroll one line at a time (less "jumpy" than defaults)
|
|
(when (display-graphic-p)
|
|
(setq mouse-wheel-scroll-amount '(1 ((shift) . hscroll))
|
|
mouse-wheel-scroll-amount-horizontal 1
|
|
mouse-wheel-progressive-speed nil))
|
|
(setq scroll-step 1
|
|
scroll-margin 0
|
|
scroll-conservatively 100000
|
|
auto-window-vscroll nil
|
|
scroll-preserve-screen-position t)
|
|
|
|
;; Smooth scrolling
|
|
(use-package ultra-scroll
|
|
:hook (elpaca-after-init . ultra-scroll-mode))
|
|
|
|
;; Use fixed pitch where it's sensible
|
|
(use-package mixed-pitch
|
|
:diminish)
|
|
|
|
;; Display ugly ^L page breaks as tidy horizontal lines
|
|
(use-package page-break-lines
|
|
:diminish
|
|
:hook (elpaca-after-init . global-page-break-lines-mode)
|
|
:config (dolist (mode '(dashboard-mode emacs-news-mode))
|
|
(add-to-list 'page-break-lines-modes mode)))
|
|
|
|
;; Transient
|
|
(when (childframe-workable-p)
|
|
;; Display transient in child frame
|
|
(use-package transient-posframe
|
|
:diminish
|
|
:defines posframe-border-width
|
|
:custom-face
|
|
(transient-posframe ((t (:inherit tooltip))))
|
|
(transient-posframe-border ((t (:inherit posframe-border :background unspecified))))
|
|
:hook (after-init . transient-posframe-mode)
|
|
:init (setq transient-mode-line-format nil
|
|
transient-posframe-border-width posframe-border-width
|
|
transient-posframe-poshandler 'posframe-poshandler-frame-center
|
|
transient-posframe-parameters '((left-fringe . 8)
|
|
(right-fringe . 8)))))
|
|
|
|
;; La línea bonita esa de abajo
|
|
(use-package doom-modeline
|
|
:init
|
|
(doom-modeline-mode)
|
|
(setq doom-modeline-project-detection 'auto
|
|
doom-modeline-buffer-file-name-style 'relative-from-project
|
|
doom-modeline-major-mode-color-icon t
|
|
doom-modeline-buffer-modification-icon t
|
|
doom-modeline-indent-info nil
|
|
doom-modeline-persp-name t))
|
|
|
|
(use-package hide-mode-line
|
|
:autoload turn-off-hide-mode-line-mode
|
|
:hook (((eat-mode
|
|
eshell-mode shell-mode
|
|
term-mode vterm-mode
|
|
embark-collect-mode lsp-ui-imenu-mode
|
|
pdf-annot-list-mode) . turn-on-hide-mode-line-mode)))
|
|
|
|
;; A minor-mode menu for mode-line
|
|
(use-package minions
|
|
:hook (elpaca-after-init . minions-mode))
|
|
|
|
;; Iconos bonitos para varias cosas
|
|
(use-package nerd-icons
|
|
:commands nerd-icons-install-fonts
|
|
:functions font-installed-p
|
|
:config
|
|
(unless (font-installed-p nerd-icons-font-family)
|
|
(nerd-icons-install-fonts t)))
|
|
|
|
;; nerd-icons en ibuffer
|
|
(use-package nerd-icons-ibuffer
|
|
:hook (ibuffer-mode . nerd-icons-ibuffer-mode))
|
|
|
|
;; Nerd icons para vertico
|
|
(use-package nerd-icons-completion
|
|
:hook (vertico-mode . nerd-icons-completion-mode))
|
|
|
|
;; Usar nerd-icons en dired
|
|
(use-package nerd-icons-dired
|
|
:after nerd-icons
|
|
:hook (dired-mode . nerd-icons-dired-mode))
|
|
|
|
(provide 'init-ui)
|
|
;;; init-ui.el ends here
|