;;; custom-ui-config.el -*- lexical-binding: t; -*- ;; Copyright (C) 2023 ;; SPDX-License-Identifier: MIT ;; Author: System Crafters Community ;;; Code: (setq use-dialog-box nil fill-column 80 truncate-lines nil truncate-partial-width-windows nil) (defun my/set-frame-alpha () (set-frame-parameter nil 'alpha-background 80)) (menu-bar-mode -1) (tab-bar-mode -1) (tool-bar-mode -1) (scroll-bar-mode -1) (add-to-list 'default-frame-alist '(font . "FiraCode Nerd Font-12")) (line-number-mode) (global-display-line-numbers-mode -1) (global-prettify-symbols-mode +1) (global-visual-line-mode +1) (set-frame-parameter nil 'alpha-background 80) (add-hook 'server-after-make-frame-hook (lambda () (set-frame-parameter nil 'alpha-background 80))) (when (require 'doom-themes nil :noerror) (load-theme 'doom-tokyo-night t)) ;; Nerd-Icons modes (when (require 'nerd-icons) (when (require 'nerd-icons-dired nil :noerror) (add-hook 'dired-mode-hook #'nerd-icons-dired-mode)) (when (require 'nerd-icons-ibuffer nil :noerror) (add-hook 'ibuffer-mode-hook #'nerd-icons-ibuffer-mode)) (when (require 'nerd-icons-completion nil :noerror) (nerd-icons-completion-mode) (when (require 'marginalia nil :noerror) (add-hook 'marginalia-mode-hook #'nerd-icons-completion-marginalia-setup)))) ;; Doom-Modeline (setq doom-modeline-icon t doom-modeline-mu4e nil ;; Use mu4e own formatting doom-modeline-modal nil doom-modeline-modal-icon nil doom-modeline-persp-name nil doom-modeline-persp-icon nil) (when (require 'doom-modeline nil :noerror) (doom-modeline-mode +1)) ;; Dashboard (setq initial-buffer-choice 'dashboard-open dashboard-icon-type 'nerd-icons dashboard-set-heading-icons t dashboard-set-file-icons t dashboard-set-navigator t dashboard-set-init-info t dashboard-startup-banner 'ascii dashboard-projects-backend 'project-el dashboard-projects-switch-function 'project-switch-project dashboard-projects-show-base t dashboard-recentf-show-base 'align dashboard-items '((recents . 5) (agenda . 15)) dashboard-heading-icons '((recents . "nf-oct-history") (agenda . "nf-oct-calendar")) dashboard-banner-ascii (concat " .000000. \n" " .0. .0. \n" " .00. .00. \n" " .000cl. .lc000. \n" ".0 0.\n" "0. .o0000o. .0\n" " 00 .0' '0. 00 \n" " 00 .0 0. 00 \n" " HHHHH HHHHHHHHHHHH HHHHH \n" "HHHH HHH HHHHHHHHHHHHHH HHHH\n" " HHHHHH HHHHHHHHH HHHHHHHH \n" " HHH HHHH HHHHHHHHH HHHH \n" " HHH HHHHHH \n" " HHHHH HH \n")) (when (require 'dashboard nil :noerror) (keymap-global-set "C-c d" #'dashboard-open) (add-hook 'dashboard-mode-hook #'khalel-import-events)) ;; Extra minor-modes (when (require 'which-key nil :noerror) (which-key-mode +1)) (when (require 'page-break-lines nil :noerror) (global-page-break-lines-mode +1)) ;;;; Help Buffers ;; Make `describe-*' screens more helpful (when (require 'helpful nil :noerror) (keymap-set helpful-mode-map " " #'helpful-update) (keymap-global-set " " #'helpful-command) (keymap-global-set " " #'helpful-callable) (keymap-global-set " " #'helpful-key) (keymap-global-set " " #'helpful-symbol) (keymap-global-set " " #'helpful-variable) (keymap-global-set "C-h F" #'helpful-function)) ;; Bind extra `describe-*' commands (keymap-global-set "C-h K" #'describe-keymap) ;; add visual pulse when changing focus, like beacon but built-in ;; from from https://karthinks.com/software/batteries-included-with-emacs/ (defun pulse-line (&rest _) "Pulse the current line." (pulse-momentary-highlight-one-line (point))) (dolist (command '(scroll-up-command scroll-down-command recenter-top-bottom other-window)) (advice-add command :after #'pulse-line)) (provide 'custom-ui-config) ;;; custom-ui-config.el ends here