about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--config.org191
1 files changed, 126 insertions, 65 deletions
diff --git a/config.org b/config.org index bfa7490..c4d7afd 100644 --- a/config.org +++ b/config.org
@@ -301,60 +301,51 @@ Except. Using =setq= is actually /not/ recommended any more, because =customize
301 301
302Protesilaos Stavrou's /excellent/ theme pair. At some point I'll probably write my own that's really minimal and does some funky stuff with faces, but until then, these really are the best I've used. 302Protesilaos Stavrou's /excellent/ theme pair. At some point I'll probably write my own that's really minimal and does some funky stuff with faces, but until then, these really are the best I've used.
303 303
304The big ~dolist~ form is from [[https://protesilaos.com/modus-themes/#h:a897b302-8e10-4a26-beab-3caaee1e1193][his documentation]]; it basically allows me to configure both themes before loading them. I've tweaked his code a little to use =use-package=. 304He's recently updated the themes to 1.0.0, with a refactor and betterment; my config here reflects that change.
305 305
306#+begin_src emacs-lisp 306#+begin_src emacs-lisp
307 (defmacro modus-themes-format-sexp (sexp &rest objects) 307 (use-package modus-themes
308 `(eval (read (format ,(format "%S" sexp) ,@objects)))) 308 :straight (modus-themes
309 309 :host gitlab
310 (dolist (theme '("operandi" "vivendi")) 310 :repo "protesilaos/modus-themes"
311 (modus-themes-format-sexp 311 :branch "main")
312 (use-package modus-%1$s-theme
313 :custom
314 (modus-%1$s-theme-slanted-constructs t)
315 (modus-%1$s-theme-bold-constructs t)
316 (modus-%1$s-theme-fringes nil)
317 (modus-%1$s-theme-mode-line '3d)
318 (modus-%1$s-theme-syntax 'yellow-comments)
319 (modus-%1$s-theme-intense-hl-line nil)
320 (modus-%1$s-theme-intense-paren-match t)
321 (modus-%1$s-theme-links nil)
322 (modus-%1$s-theme-no-mixed-fonts nil)
323 (modus-%1$s-theme-prompts nil)
324 (modus-%1$s-theme-completions nil)
325 (modus-%1$s-theme-diffs nil)
326 (modus-%1$s-theme-org-blocks 'grayscale)
327 (modus-%1$s-theme-headings
328 '((1 . section)
329 (2 . line)
330 (t . rainbow-line)))
331 (modus-%1$s-theme-variable-pitch-headings t)
332 (modus-%1$s-theme-scale-headings t)
333 (modus-%1$s-theme-scale-1 1.1)
334 (modus-%1$s-theme-scale-2 1.15)
335 (modus-%1$s-theme-scale-3 1.21)
336 (modus-%1$s-theme-scale-4 1.27)
337 (modus-%1$s-theme-scale-5 1.33)
338 :custom-face
339 (font-lock-comment-face
340 ((t (:inherit (custom-comment italic variable-pitch))))))
341 theme))
342#+end_src
343
344** Theme changer
345
346I also want to switch themes between night and day.
347
348#+begin_src emacs-lisp
349 (use-package theme-changer
350 :custom 312 :custom
351 (calendar-latitude 30.39) 313 (modus-themes-slanted-constructs t)
352 (calendar-longitude -91.83) 314 (modus-themes-bold-constructs t)
353 :config 315 (modus-themes-fringes nil)
354 (change-theme 'modus-operandi 'modus-vivendi)) 316 (modus-themes-mode-line '3d)
317 (modus-themes-syntax 'yellow-comments)
318 (modus-themes-intense-hl-line nil)
319 (modus-themes-paren-match 'intense-bold)
320 (modus-themes-links nil)
321 (modus-themes-no-mixed-fonts nil)
322 (modus-themes-prompts nil)
323 (modus-themes-completions nil)
324 (modus-themes-diffs nil)
325 (modus-themes-org-blocks 'grayscale)
326 (modus-themes-headings
327 '())
328 (modus-themes-variable-pitch-headings t)
329 (modus-themes-scale-headings t)
330 (modus-themes-scale-1 1.1)
331 (modus-themes-scale-2 1.15)
332 (modus-themes-scale-3 1.21)
333 (modus-themes-scale-4 1.27)
334 (modus-themes-scale-5 1.33)
335 :custom-face
336 (font-lock-comment-face
337 ((t (:inherit (custom-comment italic variable-pitch)))))
338 :init
339 (load-theme 'modus-operandi t))
355#+end_src 340#+end_src
356 341
357* Simplify GUI 342Due to the new =modus-themes-load-operandi= and =modus-themes-load-vivendi= funcitons, I don't need =theme-changer= any more -- but I still need to set up the themes to change at sunrise and sunset. Well, I'll do that later -- for now I'll use a key to toggle them.
343
344#+begin_src emacs-lisp
345 (global-set-key (kbd "<f10>") #'modus-themes-toggle)
346#+end_src
347
348* GUI
358 349
359** Frame defaults 350** Frame defaults
360 351
@@ -457,6 +448,14 @@ This confuration means that, by default, no minor modes are shown; if you want
457 (rm/whitelist-add "^$")) 448 (rm/whitelist-add "^$"))
458#+end_src 449#+end_src
459 450
451*** Which-function-mode
452
453Show the name of the current function in the modeline. Also works in Org mode to display the current header. Very cool!
454
455#+begin_src emacs-lisp
456 (which-function-mode 1)
457#+end_src
458
460** Minibuffer 459** Minibuffer
461 460
462*** Keep cursor from going into the prompt 461*** Keep cursor from going into the prompt
@@ -487,6 +486,23 @@ I want my cursor to be a bar in focused windows, but a hollow box in non-focused
487 (cuss cursor-in-non-selected-windows 'hollow) 486 (cuss cursor-in-non-selected-windows 'hollow)
488#+end_src 487#+end_src
489 488
489** Buffer decorations
490*** Show buffer boundaries
491
492These little L-shaped graphics at the top and bottom of buffers don't do anything, but I like 'em.
493
494#+begin_src emacs-lisp
495 (cuss indicate-buffer-boundaries
496 '((top . right)
497 (bottom . right)
498 (t . nil)))
499#+end_src
500
501*** Indicate empty lines at the end of the buffer
502#+begin_src emacs-lisp
503 (cuss indicate-empty-lines t)
504#+end_src
505
490* Typesetting 506* Typesetting
491 507
492** Fonts 508** Fonts
@@ -511,16 +527,16 @@ See [[https://emacs.stackexchange.com/questions/12351/when-to-call-find-font-if-
511 (font-candidate 527 (font-candidate
512 "Libertinus Mono-11" 528 "Libertinus Mono-11"
513 "Linux Libertine Mono O-11" 529 "Linux Libertine Mono O-11"
514 "Go Mono-11" 530 "Go Mono-10"
515 "Consolas-11")) 531 "Consolas-10"))
516 532
517 (set-face-attribute 'fixed-pitch nil 533 (set-face-attribute 'fixed-pitch nil
518 :font 534 :font
519 (font-candidate 535 (font-candidate
520 "Libertinus Mono-11" 536 "Libertinus Mono-11"
521 "Linux Libertine Mono O-11" 537 "Linux Libertine Mono O-11"
522 "Go Mono-11" 538 "Go Mono-10"
523 "Consolas-11")) 539 "Consolas-10"))
524 540
525 (set-face-attribute 'variable-pitch nil 541 (set-face-attribute 'variable-pitch nil
526 :font 542 :font
@@ -730,23 +746,20 @@ This names buffers with the same basename (e.g., =~/.config/emacs/config.org= an
730 (cuss uniquify-buffer-name-style 'forward) 746 (cuss uniquify-buffer-name-style 'forward)
731#+end_src 747#+end_src
732 748
733*** Show buffer boundaries 749*** Hippie expand
734 750
735These little L-shaped graphics at the top and bottom of buffers don't do anything, but I like 'em. 751At some point, will probably replace with [[https://company-mode.github.io/][company]].
736 752
737#+begin_src emacs-lisp 753#+begin_src emacs-lisp
738 (cuss indicate-buffer-boundaries 754 (global-set-key (kbd "M-/") 'hippie-expand)
739 '((top . right)
740 (bottom . right)
741 (t . nil)))
742#+end_src 755#+end_src
743 756
744*** Hippie expand 757*** Delete the selection
745 758
746At some point, will probably replace with [[https://company-mode.github.io/][company]]. 759Like modern editors, if I have text selected and start typing – just /delete the selection/.
747 760
748#+begin_src emacs-lisp 761#+BEGIN_SRC emacs-lisp
749 (global-set-key (kbd "M-/") 'hippie-expand) 762 (delete-selection-mode 1)
750#+end_src 763#+end_src
751 764
752*** "[[https://git.sr.ht/~technomancy/better-defaults/tree/master/better-defaults.el][better defaults]]" 765*** "[[https://git.sr.ht/~technomancy/better-defaults/tree/master/better-defaults.el][better defaults]]"
@@ -766,6 +779,8 @@ Most of these come from technomancy's repo, linked above, just copy-pasted into
766 779
767Similarly to =ibuffer=, this is a Better default™. 780Similarly to =ibuffer=, this is a Better default™.
768 781
782Of course, could be even betterered with [[https://github.com/mrkkrp/zzz-to-char][zzz-to-char]].
783
769#+begin_src emacs-lisp 784#+begin_src emacs-lisp
770 (autoload 'zap-up-to-char "misc" 785 (autoload 'zap-up-to-char "misc"
771 "Kill up to, but not including, ARGth occurrence of CHAR." t) 786 "Kill up to, but not including, ARGth occurrence of CHAR." t)
@@ -1001,12 +1016,27 @@ I'm not sure if I'll /keep/ this forever, because in combination with =super-sav
1001 (add-hook 'before-save-hook #'delete-trailing-whitespace) 1016 (add-hook 'before-save-hook #'delete-trailing-whitespace)
1002#+end_src 1017#+end_src
1003 1018
1019** [[https://github.com/nflath/hungry-delete][hungry-delete]]
1020
1021I find myself typing delete /way/ too much. I really like Emacs's =TAB= functionality -- it tabs to where I need and that's it -- but backspace leaves much to be desired. Enter =hungry-delete=.
1022
1023Also of interest: [[https://github.com/hrehfeld/emacs-smart-hungry-delete][smart-hungry-delete]].
1024
1025#+begin_src emacs-lisp
1026 (use-package hungry-delete
1027 :custom
1028 (hungry-delete-join-reluctantly t)
1029 :config
1030 (global-hungry-delete-mode))
1031#+end_src
1032
1004** Automatically revert a file to what it is on disk 1033** Automatically revert a file to what it is on disk
1005 1034
1006Revert a buffer to reflect what's on disk if it's changed outside of Emacs. 1035Revert a buffer to reflect what's on disk if it's changed outside of Emacs.
1007 1036
1008#+begin_src emacs-lisp 1037#+begin_src emacs-lisp
1009 (global-auto-revert-mode 1) 1038 (global-auto-revert-mode 1)
1039 (cuss auto-revert-verbose nil)
1010#+end_src 1040#+end_src
1011 1041
1012* Writing 1042* Writing
@@ -1284,6 +1314,18 @@ from [[https://github.com/alphapapa/unpackaged.el#org-return-dwim][unpackaged.el
1284 (bind-key "RET" #'unpackaged/org-return-dwim 'org-mode-map) 1314 (bind-key "RET" #'unpackaged/org-return-dwim 'org-mode-map)
1285#+end_src 1315#+end_src
1286 1316
1317** “Typographical editing” with [[https://github.com/jorgenschaefer/typoel][Typo]]
1318
1319When I'm writing, I've been annoyed at the straight quotes.
1320
1321#+begin_src emacs-lisp
1322 (use-package typo
1323 :custom
1324 (typo-language "English")
1325 :hook
1326 (text-mode))
1327#+end_src
1328
1287* Coding 1329* Coding
1288 1330
1289The Other Thing Emacs is Good For. 1331The Other Thing Emacs is Good For.
@@ -1810,6 +1852,11 @@ I can /not/ get over how hilarious this name is 😜
1810 (cuss url-cookie-confirmation t)) 1852 (cuss url-cookie-confirmation t))
1811#+end_src 1853#+end_src
1812 1854
1855** TODO eshell
1856
1857look at [[https://github.com/dieggsy/esh-autosuggest/][esh-autosuggest]] and [[https://www.masteringemacs.org/article/complete-guide-mastering-eshell][mastering eshell]] and stuff. idk.
1858oh and [[https://github.com/kyagi/shell-pop-el][shell pop]] too.
1859
1813* Appendix A: Scripts 1860* Appendix A: Scripts
1814 1861
1815** ~emacsdc~ 1862** ~emacsdc~
@@ -1825,6 +1872,8 @@ Here's a wrapper script that'll start =emacs --daemon= if there isn't one, and t
1825 1872
1826* Appendix B: areas for further research 1873* Appendix B: areas for further research
1827 1874
1875- [[https://github.com/caisah/emacs.dz][big list of popular emacs configs]]
1876
1828** TODO [[https://github.com/flexibeast/ebuku][ebuku]] (of course, I'd need [[https://github.com/jarun/buku][buku]] as well) -- bookmarks 1877** TODO [[https://github.com/flexibeast/ebuku][ebuku]] (of course, I'd need [[https://github.com/jarun/buku][buku]] as well) -- bookmarks
1829** TODO [[https://github.com/rolandwalker/ignoramus][Ignoramus]] -- this might not e necessary 1878** TODO [[https://github.com/rolandwalker/ignoramus][Ignoramus]] -- this might not e necessary
1830** TODO [[https://git.sr.ht/~iank/visible-mark][visible mark]] -- show where the marks are ... 1879** TODO [[https://git.sr.ht/~iank/visible-mark][visible mark]] -- show where the marks are ...
@@ -1845,3 +1894,15 @@ I think it has something to do with the package =consult=, because it was /slow/
1845** TODO Figure out Org-mode TODOs 1894** TODO Figure out Org-mode TODOs
1846 1895
1847I need some standard once, and also some specific ones for this section. 1896I need some standard once, and also some specific ones for this section.
1897
1898** TODO Add =C-z= as a me-mode map
1899
1900I saw someone do this, and honestly it's a great idea. I could use it for my applications. Just have to find it ......
1901
1902** TODO Really think about [[https://github.com/abo-abo/avy][avy]] again
1903
1904It could actually be pretty useful, and it could be hooked into things like [[https://github.com/abo-abo/ace-link][ace-link]].
1905
1906** TODO Test out [[https://github.com/magnars/multiple-cursors.el][multiple cursors]]
1907
1908Allegedly it's really cool.