+44
-3
.config/emacs/init.el
+44
-3
.config/emacs/init.el
···
37
(let ((temp-dir (temp-dir "emacs/")))
38
(setq backup-directory-alist `((".*" . ,temp-dir)))
39
(setq auto-save-file-name-transforms `((".*" ,temp-dir t)))
40
-
(setq lock-file-name-transforms `((".*" ,temp-dir t)))
41
-
(setq desktop-path `(,temp-dir)))
42
-
(desktop-save-mode 1)
43
(setq-default indent-tabs-mode nil)
44
(setq-default tab-width 4)
45
(setq c-basic-offset 4)
···
227
(enable-recursive-minibuffers t)
228
(tab-always-indent 'complete)
229
(read-extended-command-predicate #'command-completion-default-include-p))
···
37
(let ((temp-dir (temp-dir "emacs/")))
38
(setq backup-directory-alist `((".*" . ,temp-dir)))
39
(setq auto-save-file-name-transforms `((".*" ,temp-dir t)))
40
+
(setq lock-file-name-transforms `((".*" ,temp-dir t))))
41
(setq-default indent-tabs-mode nil)
42
(setq-default tab-width 4)
43
(setq c-basic-offset 4)
···
225
(enable-recursive-minibuffers t)
226
(tab-always-indent 'complete)
227
(read-extended-command-predicate #'command-completion-default-include-p))
228
+
229
+
;;;;;;;;;;;;;;;;;;;;
230
+
;; PERSIST VALUES ;;
231
+
;;;;;;;;;;;;;;;;;;;;
232
+
233
+
(defcustom krg-persist-file-name ".emacs.persist"
234
+
"Filename for persist-file."
235
+
:type 'string)
236
+
(defun krg-persist-file ()
237
+
"Returns expanded path to current persist-file.
238
+
Filename for the file can be set using ‘krg-persist-file-name'."
239
+
(conf-dir krg-persist-file-name))
240
+
241
+
(defun krg-save-persist-file ()
242
+
"Save persist-file on disk at location defined by \\[krg-persist-file]."
243
+
(let ((frame-left (frame-parameter (selected-frame) 'left))
244
+
(frame-top (frame-parameter (selected-frame) 'top))
245
+
(frame-width (frame-parameter (selected-frame) 'width))
246
+
(frame-height (frame-parameter (selected-frame) 'height))
247
+
(persist-file (krg-persist-file)))
248
+
(with-temp-buffer
249
+
(make-local-variable 'make-backup-files)
250
+
(setq make-backup-files nil)
251
+
(insert
252
+
";;; " krg-persist-file-name " -*- lexical-binding: t; -*-\n"
253
+
";;; " (current-time-string) " " (nth 1 (current-time-zone)) ".\n"
254
+
"(setq initial-frame-alist '(\n"
255
+
(format " (top . %d)\n" (max frame-top 0))
256
+
(format " (left . %d)\n" (max frame-left 0))
257
+
(format " (width . %d)\n" (max frame-width 0))
258
+
(format " (height . %d)))\n" (max frame-height 0)))
259
+
(when (file-writable-p persist-file)
260
+
(write-file persist-file)))))
261
+
262
+
(defun krg-load-persist-file ()
263
+
"Load persisted settings from the file location defined by \\[krg-persist-file]."
264
+
(let ((persist-file (krg-persist-file)))
265
+
(when (file-readable-p persist-file)
266
+
(load-file persist-file))))
267
+
268
+
(when window-system
269
+
(add-hook 'after-init-hook 'krg-load-persist-file)
270
+
(add-hook 'kill-emacs-hook 'krg-save-persist-file))