aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMountain Man <43313373+MountainMan1312@users.noreply.github.com>2023-04-09 20:21:58 -0400
committerGitHub <noreply@github.com>2023-04-09 20:21:58 -0400
commit5637f5b5c3e46ed1362e21326f2fd5a9f156bf49 (patch)
tree765611fdf4d72eea64044a53c6749bf559191583
parentMerge `initial-plans-docs` branch to `stable` branch (diff)
parentDon't create the `auto-save-list` directory (diff)
downloadmmosmacs-5637f5b5c3e46ed1362e21326f2fd5a9f156bf49.tar.gz
mmosmacs-5637f5b5c3e46ed1362e21326f2fd5a9f156bf49.tar.bz2
mmosmacs-5637f5b5c3e46ed1362e21326f2fd5a9f156bf49.zip
Merge `sensible-defaults` branch to `stable` branch
This closes RFC #2
-rw-r--r--.gitignore0
-rw-r--r--early-init.el60
-rwxr-xr-xeln-cache/28.2-64ac1258/subr--trampoline-7965732d6f722d6e6f2d70_yes_or_no_p_0.elnbin0 -> 15920 bytes
-rw-r--r--init.el107
4 files changed, 167 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/.gitignore
diff --git a/early-init.el b/early-init.el
new file mode 100644
index 0000000..37222a4
--- /dev/null
+++ b/early-init.el
@@ -0,0 +1,60 @@
1;;; -*- lexical-binding: t; -*-
2;;; early-init.el
3;;
4;; Early Init file for MMOSMacs. This is loaded before the GUI and
5;; package system are initialized. This should contain only what
6;; absolutely must be in Early Init.
7
8
9;; ---------------------------------------------------------------------
10;;; UI Adjustments
11;; ---------------
12;; The primary goal of this Section is to prevent Emacs from flashing or
13;; stuttering visually on startup.
14;;
15;; If these customizations were placed in `init.el', as is the norm,
16;; Emacs would initialize the UI elements, then make whatever
17;; customizations we wrote.
18;;
19;; By placing the customizations here, they are applied before the UI is
20;; initialized, preventing any visual glitches altogether.
21;; ---------------------------------------------------------------------
22
23;; ---------------------------------
24;; Disable superfluous UI elements
25;; -------------------------------
26;; These UI elements are useless in
27;; a keyboard-centric environment.
28;; ---------------------------------
29
30;; Disable the menu bar
31(push '(menu-bar-lines . 0) default-frame-alist)
32
33;; Disable the tool-bar
34(push '(tool-bar-lines . 0) default-frame-alist)
35
36;; Disable scroll bars
37(push '(vertical-scroll-bars . 0) default-frame-alist)
38
39
40;; ---------------------------------
41;; Maximize frame on startup
42;; -------------------------
43;; Resizing is one of the primary
44;; sources of visual glitching.
45;; ---------------------------------
46
47(push '(fullscreen . maximized) initial-frame-alist)
48(push '(ns-transparent-titlebar . t) default-frame-alist)
49(setq frame-inhibit-implied-resize t
50 frame-resize-pixelwise t)
51
52
53;; ---------------------------------
54;; Start with a black background
55;; -----------------------------
56;; This is necessary to prevent eye
57;; damage
58;; ---------------------------------
59
60(set-face-attribute 'default nil :background "#000000" :foreground "#FFFFFF")
diff --git a/eln-cache/28.2-64ac1258/subr--trampoline-7965732d6f722d6e6f2d70_yes_or_no_p_0.eln b/eln-cache/28.2-64ac1258/subr--trampoline-7965732d6f722d6e6f2d70_yes_or_no_p_0.eln
new file mode 100755
index 0000000..fc27aca
--- /dev/null
+++ b/eln-cache/28.2-64ac1258/subr--trampoline-7965732d6f722d6e6f2d70_yes_or_no_p_0.eln
Binary files differ
diff --git a/init.el b/init.el
new file mode 100644
index 0000000..ba7a20e
--- /dev/null
+++ b/init.el
@@ -0,0 +1,107 @@
1;;; -*- lexical-binding: t; -*-
2;;; init.el
3;;
4;; Main configuration file for MMOSMacs.
5
6
7;; ---------------------------------------------------------------------
8;;; File Management
9;; ----------------
10;; Everything to do with file or directory management goes here.
11;; ---------------------------------------------------------------------
12
13;; ---------------------------------
14;; Disable backups
15;; ---------------
16;; By default, Emacs saves backup
17;; files, adding a `~' to the name.
18;; Stop saving them.
19;; ---------------------------------
20
21(setq backup-inhibited t)
22
23
24;; ---------------------------------
25;; Disable auto-saves
26;; ------------------
27;; Auto-saves are the files with
28;; hashes before and after the name.
29;; They should not exist.
30;; ---------------------------------
31
32(setq auto-save-default nil ; don't create auto-saves
33 auto-save-list-file-prefix nil) ; don't create auto-save-list dir
34
35
36;; ---------------------------------
37;; Disable lockfiles
38;; -----------------
39;; Sometimes I want to edit a locked
40;; file. I can handle myself, let me
41;; do what I want.
42;; ---------------------------------
43
44(setq create-lockfiles nil)
45
46
47
48
49;; ---------------------------------------------------------------------
50;;; Keybinds
51;; ---------
52;; For now, just a few simple changes.
53;; In the future there will be whole custom keybind system.
54;; ---------------------------------------------------------------------
55
56;; ---------------------------------
57;; Fix ESC behavior
58;; ----------------
59;; The default behavior of the ESC
60;; key is atrocious. Why in God's
61;; name would I want it to close all
62;; my windows when I press it twice?
63;;
64;; This fixes the behavior to do
65;; what ESC should do: "escape" the
66;; current thing I'm doing, like the
67;; minibuffer or a popup window.
68;; ---------------------------------
69
70;; Define fixed version of `keyboard-escape-quit' which does not close
71;; windows or change their layout.
72(defun mm/keyboard-escape-quit-keep-windows ()
73 "Alternative version of `keyboard-escape-quit' that does not change window layout."
74 (interactive)
75 (cond ((eq last-command 'mode-exited) nil)
76 ((region-active-p)
77 (deactivate-mark))
78 ((> (minibuffer-depth) 0)
79 (abort-recursive-edit))
80 (current-prefix-arg
81 nil)
82 ((> (recursion-depth) 0)
83 (exit-recursive-edit))
84 (buffer-quit-function
85 (funcall buffer-quit-function))
86 ;; The following lines are from `keyboard-escape-quit'.
87 ;; They have been commented to disable the unwanted behavior
88 ;; ((not (one-window-p t))
89 ;; (delete-other-windows)
90 ((string-match "^ \\*" (buffer-name (current-buffer)))
91 bury-buffer)))
92
93;; Fix the keybinds for the ESC key
94(global-set-key (kbd "<escape>") 'mm/keyboard-escape-quit-keep-windows)
95(global-unset-key (kbd "C-x ESC ESC"))
96
97
98;; ---------------------------------
99;; Replace yes/no prompts with y/n
100;; -------------------------------
101;; It's too much to ask for me to
102;; type 3 whole letters to confirm
103;; something. I demand to only have
104;; to press a single key.
105;; ---------------------------------
106
107(defalias 'yes-or-no-p 'y-or-n-p)