From 593b273a122f70b217cc2f5c400e61de0ff6f578 Mon Sep 17 00:00:00 2001 From: JaeYoo-Im Date: Wed, 17 May 2023 01:25:11 +0900 Subject: [PATCH] 230517-1 --- .config/bspwm/bspwmrc | 1 + .config/emacs/custom-default.el | 3 + .config/emacs/init.el | 3 + .config/emacs/lisp/init-base.el | 161 +++++++++++++++++++++++++++++ .config/emacs/lisp/init-package.el | 5 +- .config/emacs/lisp/init-ui.el | 45 ++++++++ 6 files changed, 215 insertions(+), 3 deletions(-) create mode 100644 .config/emacs/lisp/init-base.el create mode 100644 .config/emacs/lisp/init-ui.el diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc index fff2b47..9771a35 100755 --- a/.config/bspwm/bspwmrc +++ b/.config/bspwm/bspwmrc @@ -47,6 +47,7 @@ bspc config focused_private_border_color "$color1" bspc config active_private_border_color "$color1" bspc config normal_private_border_color "$color1" +bspc rule -a \* state=tiled # Load session # shellcheck source=/dev/null #. "$BSPWM_CONFIG/restore.cfg" diff --git a/.config/emacs/custom-default.el b/.config/emacs/custom-default.el index 1665a74..09932ed 100644 --- a/.config/emacs/custom-default.el +++ b/.config/emacs/custom-default.el @@ -1,3 +1,6 @@ +(setq user-full-name "JaeYoo-Im" + user-mail-address "cpu3792@gmail.com") +(setq default-input-method "korean-hangul") (defun custom-setup-fonts () "setup fonts..." diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 6e21835..c2ef8bb 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -54,5 +54,8 @@ Otherwise the startup will be very slow. " ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'init-package) +(require 'init-base) + +(require 'init-ui) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; init.el ends here diff --git a/.config/emacs/lisp/init-base.el b/.config/emacs/lisp/init-base.el new file mode 100644 index 0000000..234c24a --- /dev/null +++ b/.config/emacs/lisp/init-base.el @@ -0,0 +1,161 @@ +;; init-base.el -*- lexical-binding: t -*- + +(require 'init-const) +(require 'init-func) + +(with-no-warnings + (setq read-process-output-max (* 1024 1024)) ;; 1mb (lsp recommendation) + ;; + (setq ffap-machine-p-known 'reject)) + +;; +(use-package gcmh + :diminish + :hook + (emacs-startup . gcmh-mode) + :init + (setq gcmh-idle-delay 'auto + gcmh-auto-idle-delay-factor 10 + gcmh-high-cons-threshold (* 16 1024 1024))) + +(when (fboundp 'set-charset-priority) + (set-charset-priority 'unicode)) +(prefer-coding-system 'utf-8) +(setq locale-coding-system 'utf-8) +(setq system-time-locale "C") + +(unless ON-WINDOWS + (set-selection-coding-system 'utf-8)) +(when ON-LINUX + (use-package exec-path-from-shell + :init (exec-path-from-shell-initialize))) + +;; open file point at where last saved place. +(use-package saveplace + :ensure nil + :hook (after-init . save-place-mode)) + +(use-package recentf + :ensure nil + :bind + (("C-x C-r" . recentf-open-files)) + :hook + (after-init . recentf-mode) + :init + (setq recentf-max-saved-items 300 + recentf-exclude + '("\\.?cache" ".cask" "url" "COMMIT_EDITMSG\\'" "bookmarks" + "\\.\\(?:gz\\|gif\\|svg\\|png\\|jpe?g\\|bmp\\|xpm\\)$" + "\\.?ido\\.last$" "\\.revive$" "/G?TAGS$" "/.elfeed/" + "^/tmp/" "^/var/folders/.+$" "^/ssh:" "/persp-confs/" + (lambda (file) (file-in-directory-p file package-user-dir)))) + :config + (push (expand-file-name recentf-save-file) recentf-exclude) + (add-to-list 'recentf-filename-handlers #'abbreviate-file-name)) + +(use-package savehist + :ensure nil + :hook + (after-init . savehist-mode) + :init + (setq enable-recursive-minibuffers t ; Allow commands in minibuffers + history-length 25 + savehist-additional-variables '(mark-ring + global-mark-ring + search-ring + regexp-search-ring + extended-command-history) + savehist-autosave-interval 300)) + +(use-package simple + :ensure nil + :hook ((after-init . size-indication-mode) + (text-mode . visual-line-mode) + ((prog-mode markdown-mode conf-mode) . enable-trailing-whitespace)) + :init + (setq column-number-mode t + line-number-mode t + ;; kill-whole-line t ; Kill line including '\n' + line-move-visual nil + track-eol t ; Keep cursor at end of lines. Require line-move-visual is nil. + set-mark-command-repeat-pop t) ; Repeating C-SPC after popping mark pops it again + + ;; Only list the commands of the current modes + (when (boundp 'read-extended-command-predicate) + (setq read-extended-command-predicate + #'command-completion-default-include-p)) + + ;; Visualize TAB, (HARD) SPACE, NEWLINE + (setq-default show-trailing-whitespace nil) ; Don't show trailing whitespace by default + (defun enable-trailing-whitespace () + "Show trailing spaces and delete on saving." + (setq show-trailing-whitespace t) + (add-hook 'before-save-hook #'delete-trailing-whitespace nil t)) + + ;; Prettify the process list + (with-no-warnings + (add-hook 'process-menu-mode-hook + (lambda () + (setq tabulated-list-format + (vconcat `(("" ,(if (icons-displayable-p) 2 0))) + tabulated-list-format)))) + + (defun my-list-processes--prettify () + "Prettify process list." + (when-let ((entries tabulated-list-entries)) + (setq tabulated-list-entries nil) + (dolist (p (process-list)) + (when-let* ((val (cadr (assoc p entries))) + (icon (if (icons-displayable-p) + (concat + " " + (nerd-icons-faicon "nf-fa-bolt" :face 'nerd-icons-lblue)) + " x")) + (name (aref val 0)) + (pid (aref val 1)) + (status (aref val 2)) + (status (list status + 'face + (if (memq status '(stop exit closed failed)) + 'error + 'success))) + (buf-label (aref val 3)) + (tty (list (aref val 4) 'face 'font-lock-doc-face)) + (thread (list (aref val 5) 'face 'font-lock-doc-face)) + (cmd (list (aref val (if emacs/>=27p 6 5)) 'face 'completions-annotations))) + (push (list p (if emacs/>=27p + (vector icon name pid status buf-label tty thread cmd) + (vector icon name pid status buf-label tty cmd))) + tabulated-list-entries))))) + (advice-add #'list-processes--refresh :after #'my-list-processes--prettify))) + +;; Misc +(if (boundp 'use-short-answers) + (setq use-short-answers t) + (fset 'yes-or-no-p 'y-or-n-p)) +(setq-default major-mode 'text-mode + fill-column 80 + tab-width 4 + indent-tabs-mode nil) ; Permanently indent with spaces, never with TABs + +(setq visible-bell t + inhibit-compacting-font-caches t ; Don’t compact font caches during GC + delete-by-moving-to-trash t ; Deleting files go to OS's trash folder + make-backup-files nil ; Forbide to make backup files + auto-save-default nil ; Disable auto save + + uniquify-buffer-name-style 'post-forward-angle-brackets ; Show path if names are same + adaptive-fill-regexp "[ t]+|[ t]*([0-9]+.|*+)[ t]*" + adaptive-fill-first-line-regexp "^* *$" + sentence-end "\\([。!?]\\|……\\|[.?!][]\"')}]*\\($\\|[ \t]\\)\\)[ \t\n]*" + sentence-end-double-space nil + word-wrap-by-category t) + +;; use for org-roam? +(when (fboundp 'sqlite-open) + (use-package emacsql-sqlite-builtin)) + + +(provide 'init-base) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; init-base.el ends here diff --git a/.config/emacs/lisp/init-package.el b/.config/emacs/lisp/init-package.el index 1ffabf8..92b8ebc 100644 --- a/.config/emacs/lisp/init-package.el +++ b/.config/emacs/lisp/init-package.el @@ -52,9 +52,9 @@ :custom-face (paradox-archive-face ((t (:inherit font-lock-doc-face)))) (paradox-description-face ((t (:inherit completions-annotations)))) - :hook + :hook (emacs-startup . paradox-enable) - :init + :init (setq paradox-execute-asynchronously t paradox-github-token nil paradox-display-star-count nil @@ -88,4 +88,3 @@ (provide 'init-package) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; init-package.el ends here - diff --git a/.config/emacs/lisp/init-ui.el b/.config/emacs/lisp/init-ui.el new file mode 100644 index 0000000..7d60f45 --- /dev/null +++ b/.config/emacs/lisp/init-ui.el @@ -0,0 +1,45 @@ +;; init-ui.el -*- lexical-binding: t -*- +(require 'init-const) +(require 'init-func) + +;; 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) + +;; Inhibit resizing frame +(setq frame-inhibit-implied-resize t + frame-resize-pixelwise t) + +;; Make certain buffers grossly incandescent +(use-package solaire-mode + :hook (after-load-theme . solaire-global-mode)) +(use-package doom-themes + :init + (if (display-graphic-p) + ;;(load-theme 'doom-palenight t) + (load-theme 'doom-one t) + (load-theme 'doom-gruvbox t)) + :config + (doom-themes-visual-bell-config)) +(use-package doom-modeline + :hook (after-init . doom-modeline-mode) + :init + (setq doom-modeline-window-width-limit 110 + doom-modeline-minor-modes t) + :config + (setq doom-modeline-height 15 + doom-modeline-env-version t + doom-modeline-persp-name t + doom-modeline-persp-icon t + doom-modeline-display-default-persp-name t + doom-modeline-indent-info t)) + + + +(provide 'init-ui) +;;; init-ui.el ends here.