diff --git a/init.el b/init.el index 5a3e6c7..be9de09 100644 --- a/init.el +++ b/init.el @@ -18,6 +18,79 @@ (convert-standard-filename "lisp/")))) (add-to-list 'load-path mir-directory t) +(defun mir/visual-setup () + "Commands to run when setting up any display. To be called in use-package +declarations for color schemes." + (tooltip-mode -1) + (menu-bar-mode -1) + (setq window-divider-default-places t) + ;; (setq right-divider-width 5) + (setq ring-bell-function 'ignore) + (unless (not (display-graphic-p)) + (set-face-attribute 'fixed-pitch nil + :family "MesloLGS Nerd Font") + (set-face-attribute 'default nil + :family "MesloLGS Nerd Font") + (set-face-attribute 'variable-pitch nil + :inherit 'default + :family "sans serif" + :height (/ 1.5 1.3)) + (add-to-list 'initial-frame-alist '(alpha-background . 65)) + (add-to-list 'default-frame-alist '(alpha-background . 65)) + (add-to-list 'default-frame-alist '(cursor-color . "white")) + (add-to-list 'default-frame-alist '(fullscreen . maximized))) + ;; see also https://emacs.stackexchange.com/questions/7228/nice-tty-window-borders-in-24-4 + (unless (display-graphic-p) + (let ((display-table (or standard-display-table (make-display-table)))) + (set-display-table-slot display-table 'vertical-border (make-glyph-code ?│)) + (setq standard-display-table display-table)))) +(defun mir/graphical-setup () + "Commands to run at the beginning of init when on a graphical display. +This prevents errors in termux and speeds up init when editing from the +console." + ;; hide gui scrollbars and menubar etc + ;; (scroll-bar-mode -1) ;; use `yascroll' instead + (setq scroll-bar-adjust-thumb-portion nil) + (tool-bar-mode 0) + (menu-bar-mode 0) + (set-fringe-mode 8) + ;; diable stupid file open box thingy + (setq use-file-dialog nil) + (setq use-dialog-box nil) + ;; Pixel scrolling. Only in emacs 29+... + (if (>= (string-to-number emacs-version) 29) + (pixel-scroll-precision-mode t) + (pixel-scroll-mode t)) + ;; Size of text. おまえ わ もう しんでいる. + (let* ((resy (display-pixel-height)) + (font-height (/ resy 8))) ; gonna be different on diff machines 💀 + (set-face-attribute 'fixed-pitch nil :height font-height) + (set-face-attribute 'default nil :height font-height) + (set-face-attribute 'variable-pitch nil :height (+ font-height 10)))) +(defun turn-off-line-numbers () + "A tiny wrapper around `display-line-numbers-mode' or `linum'. +For use in hooks." + (interactive) + (if (bound-and-true-p display-line-numbers-mode) + (display-line-numbers-mode -1)) + (if (fboundp #'linum-mode) + (linum-mode -1)) + (if (fboundp #'linum-relative-mode) + (linum-relative-mode -1)) + (if (fboundp #'nlinum-mode) + (nlinum-mode -1)) + (if (fboundp #'nlinum-relative-mode) + (nlinum-relative-mode -1))) +(defun mir/terminal-setup () + "A batch of commands to run when opening anything that looks like a terminal. +For instance: +- Shell +- (ansi-)term +- eshell +- vterm +- Maybe SLIME too." + (turn-off-line-numbers)) + (require 'mir-defuns) ;; minify yes/no prompts diff --git a/lisp/mir-defuns.el b/lisp/mir-defuns.el index f0cdf29..f5167ed 100644 --- a/lisp/mir-defuns.el +++ b/lisp/mir-defuns.el @@ -23,54 +23,6 @@ Made solely to reduce lines in the init-file." (evil-scroll-line-to-center (car flush))) (advice-add 'evil-search-next :filter-return #'mir/search-and-rebalance) (add-hook 'isearch-mode-end-hook #'mir/search-and-rebalance)) -(defun mir/visual-setup () - "Commands to run when setting up any display. To be called in use-package -declarations for color schemes." - (tooltip-mode -1) - (menu-bar-mode -1) - (set-face-attribute 'fixed-pitch nil - :family "MesloLGS Nerd Font") - (set-face-attribute 'default nil - :family "MesloLGS Nerd Font") - (set-face-attribute 'variable-pitch nil - :inherit 'default - :family "sans serif" - :height (/ 1.5 1.3)) - (setq window-divider-default-places t) - (setq right-divider-width 5) - (setq ring-bell-function 'ignore) - (add-to-list 'initial-frame-alist '(alpha-background . 65)) - (add-to-list 'default-frame-alist '(alpha-background . 65)) - (add-to-list 'default-frame-alist '(cursor-color . "white")) - (add-to-list 'default-frame-alist '(fullscreen . maximized)) - ;; see also https://emacs.stackexchange.com/questions/7228/nice-tty-window-borders-in-24-4 - (unless (display-graphic-p) - (let ((display-table (or standard-display-table (make-display-table)))) - (set-display-table-slot display-table 'vertical-border (make-glyph-code ?│)) - (setq standard-display-table display-table)))) -(defun mir/graphical-setup () - "Commands to run at the beginning of init when on a graphical display. -This prevents errors in termux and speeds up init when editing from the -console." - ;; hide gui scrollbars and menubar etc - ;; (scroll-bar-mode -1) ;; use `yascroll' instead - (setq scroll-bar-adjust-thumb-portion nil) - (tool-bar-mode 0) - (menu-bar-mode 0) - (set-fringe-mode 8) - ;; diable stupid file open box thingy - (setq use-file-dialog nil) - (setq use-dialog-box nil) - ;; Pixel scrolling. Only in emacs 29+... - (if (>= (string-to-number emacs-version) 29) - (pixel-scroll-precision-mode t) - (pixel-scroll-mode t)) - ;; Size of text. おまえ わ もう しんでいる. - (let* ((resy (display-pixel-height)) - (font-height (/ resy 8))) ; gonna be different on diff machines 💀 - (set-face-attribute 'fixed-pitch nil :height font-height) - (set-face-attribute 'default nil :height font-height) - (set-face-attribute 'variable-pitch nil :height (+ font-height 10)))) (defun toggle-ja-input () "Switch between english and japanese. Not broken." @@ -78,32 +30,6 @@ console." (if (eq current-input-method 'japanese) (setq current-input-method 'japanese-ascii) (setq current-input-method 'japanese))) - -(defun turn-off-line-numbers () - "A tiny wrapper around `display-line-numbers-mode' or `linum'. -For use in hooks." - (interactive) - (if (bound-and-true-p display-line-numbers-mode) - (display-line-numbers-mode -1)) - (if (fboundp #'linum-mode) - (linum-mode -1)) - (if (fboundp #'linum-relative-mode) - (linum-relative-mode -1)) - (if (fboundp #'nlinum-mode) - (nlinum-mode -1)) - (if (fboundp #'nlinum-relative-mode) - (nlinum-relative-mode -1))) - -(defun mir/terminal-setup () - "A batch of commands to run when opening anything that looks like a terminal. -For instance: -- Shell -- (ansi-)term -- eshell -- vterm -- Maybe SLIME too." - (turn-off-line-numbers)) - ;; This one line cost me over an hour of frustration... (provide 'mir-defuns)