2022-06-19 14:13:36 -08:00
|
|
|
;;; mitch-defuns.el --- custom-defined functions
|
|
|
|
;;; Commentary:
|
|
|
|
;; _ _ _
|
|
|
|
;; _ __ ___ (_)| |_ ___ | |__
|
|
|
|
;; | '_ ` _ \ | || __|/ __|| '_ \ _____
|
|
|
|
;; | | | | | || || |_| (__ | | | ||_____|
|
|
|
|
;; |_| |_| |_||_| \__|\___||_| |_|
|
|
|
|
;; _ __ _
|
|
|
|
;; __| | ___ / _| _ _ _ __ ___ ___ | |
|
|
|
|
;; / _` | / _ \| |_ | | | || '_ \ / __| / _ \| |
|
|
|
|
;; | (_| || __/| _|| |_| || | | |\__ \ _ | __/| |
|
|
|
|
;; \__,_| \___||_| \__,_||_| |_||___/(_) \___||_|
|
|
|
|
;;
|
|
|
|
;; Some functions to run when loading packages...
|
|
|
|
|
|
|
|
;;; Code:
|
|
|
|
(defun mitch/evil-config ()
|
|
|
|
"A batch of commands to run as the :config of evil's `use-package'.
|
|
|
|
Made solely to reduce lines in the init-file."
|
2022-10-10 12:16:37 -08:00
|
|
|
;; Visual moving
|
|
|
|
(defun move-screen-down-line ()
|
|
|
|
"Scroll down line but keep cursor in same visual position."
|
|
|
|
(interactive)
|
|
|
|
(evil-previous-line)
|
|
|
|
(scroll-down-line))
|
|
|
|
(defun move-screen-up-line ()
|
|
|
|
"Scroll up line but keep cursor in same visual position."
|
|
|
|
(interactive)
|
|
|
|
(evil-next-line)
|
|
|
|
(scroll-up-line))
|
2022-06-19 14:13:36 -08:00
|
|
|
)
|
2022-10-10 13:36:52 -08:00
|
|
|
(defun mitch/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)
|
2023-01-03 21:11:18 -09:00
|
|
|
(set-face-attribute 'fixed-pitch nil
|
|
|
|
:family "MesloLGS NF")
|
|
|
|
(set-face-attribute 'default nil
|
|
|
|
:family "MesloLGS NF")
|
2022-11-19 17:13:25 -09:00
|
|
|
;; (set-face-attribute 'variable-pitch nil
|
|
|
|
;; :inherit 'default
|
|
|
|
;; :family "Sans Serif")
|
2022-10-10 13:36:52 -08:00
|
|
|
(setq window-divider-default-places t)
|
|
|
|
(setq right-divider-width 5)
|
|
|
|
(setq ring-bell-function 'ignore)
|
2023-01-03 21:11:18 -09:00
|
|
|
(add-to-list 'initial-frame-alist '(alpha-background . 65))
|
|
|
|
(add-to-list 'default-frame-alist '(alpha-background . 65))
|
2022-10-10 13:36:52 -08:00
|
|
|
(add-to-list 'default-frame-alist '(cursor-color . "white"))
|
2022-11-01 14:19:28 -08:00
|
|
|
(add-to-list 'default-frame-alist '(fullscreen . maximized))
|
|
|
|
;; see also https://emacs.stackexchange.com/questions/7228/nice-tty-window-borders-in-24-4
|
|
|
|
(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)))
|
2022-06-19 14:13:36 -08:00
|
|
|
(defun mitch/graphical-setup ()
|
2022-10-04 17:50:38 -08:00
|
|
|
"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."
|
2022-06-19 14:13:36 -08:00
|
|
|
;; hide gui scrollbars and menubar etc
|
2022-07-16 17:57:38 -08:00
|
|
|
(scroll-bar-mode -1) ;; use `yascroll' instead
|
2022-06-19 14:13:36 -08:00
|
|
|
(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)
|
2022-10-04 17:55:09 -08:00
|
|
|
(pixel-scroll-precision-mode t)
|
|
|
|
(pixel-scroll-mode t))
|
|
|
|
;; Size of text. お前 わ 毛 しんでる.
|
|
|
|
(if (eq system-type 'gnu/linux)
|
|
|
|
(progn
|
|
|
|
(set-face-attribute 'fixed-pitch nil :height 130)
|
|
|
|
(set-face-attribute 'default nil :height 130)
|
|
|
|
(set-face-attribute 'variable-pitch nil :height 140))
|
|
|
|
(progn
|
|
|
|
(set-face-attribute 'fixed-pitch nil :height 100)
|
|
|
|
(set-face-attribute 'default nil :height 100)
|
|
|
|
(set-face-attribute 'variable-pitch nil :height 110))))
|
2022-06-19 14:13:36 -08:00
|
|
|
|
|
|
|
(defun toggle-ja-input ()
|
|
|
|
"Switch between english and japanese. Broken."
|
|
|
|
(interactive)
|
|
|
|
(if (eq current-input-method 'japanese)
|
|
|
|
(setq current-input-method 'japanese-ascii)
|
|
|
|
(setq current-input-method 'japanese)))
|
|
|
|
|
|
|
|
(defun mitch/general-config ()
|
|
|
|
"A batch of commands to run immediately after loading the `general' package.
|
|
|
|
Made solely to reduce lines in the init file."
|
|
|
|
(require 'mitch-keybinds))
|
|
|
|
|
|
|
|
(defun turn-off-line-numbers ()
|
2022-06-22 06:31:32 -08:00
|
|
|
"A tiny wrapper around `display-line-numbers-mode' or `linum'.
|
2022-06-19 14:13:36 -08:00
|
|
|
For use in hooks."
|
|
|
|
(interactive)
|
2022-07-16 18:03:19 -08:00
|
|
|
(if (bound-and-true-p display-line-numbers-mode)
|
2022-06-22 06:31:32 -08:00
|
|
|
(display-line-numbers-mode -1))
|
2022-07-22 16:23:10 -08:00
|
|
|
(if (fboundp #'linum-mode)
|
|
|
|
(linum-mode -1))
|
2022-07-16 18:03:19 -08:00
|
|
|
(if (fboundp #'linum-relative-mode)
|
2022-11-30 16:27:43 -09:00
|
|
|
(linum-relative-mode -1))
|
|
|
|
(if (fboundp #'nlinum-mode)
|
|
|
|
(nlinum-mode -1))
|
|
|
|
(if (fboundp #'nlinum-relative-mode)
|
|
|
|
(nlinum-relative-mode -1)))
|
2022-06-19 14:13:36 -08:00
|
|
|
|
|
|
|
(defun mitch/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))
|
|
|
|
|
|
|
|
;; for vterm
|
|
|
|
(defun update-pwd (path)
|
|
|
|
"Sync Emacs' working PATH with the shell's.
|
|
|
|
For use with `vterm'."
|
|
|
|
(setq default-directory path))
|
|
|
|
|
2022-08-11 06:25:28 -08:00
|
|
|
;; reference: https://stackoverflow.com/questions/4114577/how-do-i-define-an-emacs-lisp-function-to-spawn-a-shell-buffer-with-a-particular
|
|
|
|
(defun spawn-shell (name)
|
|
|
|
"Invoke shell test"
|
|
|
|
(interactive "MName of shell buffer to create: ")
|
|
|
|
(pop-to-buffer (get-buffer-create (generate-new-buffer-name name)))
|
|
|
|
(shell (current-buffer)))
|
2022-07-16 18:03:19 -08:00
|
|
|
|
2022-06-19 14:13:36 -08:00
|
|
|
;; This one line cost me over an hour of frustration...
|
|
|
|
(provide 'mitch-defuns)
|
|
|
|
|
|
|
|
;;; mitch-defuns.el ends here
|