Organizational bug fix
This commit is contained in:
parent
13c579c354
commit
2bf50e1f78
5 changed files with 132 additions and 122 deletions
|
@ -316,12 +316,49 @@ Pressing the ~SPACE~ can activate a /leader key sequence/ I define in my [[file:
|
|||
#+end_src
|
||||
This extends the =use-package= to include a =:general= keybinding section.
|
||||
|
||||
Since I seldom remember keybindings, or even function names, for major-modes, I pull them all together into a nice table using the [[https://github.com/jerrypnz/major-mode-hydra.el][Major Mode Hydra]] project:
|
||||
Since I seldom remember keybindings, or even function names, for major-modes, I pull them all together into a nice table using the [[https://github.com/jerrypnz/major-mode-hydrajjj0.el][Major Mode Hydra]] project:
|
||||
#+begin_src emacs-lisp
|
||||
(use-package major-mode-hydra
|
||||
:config
|
||||
(global-set-key (kbd "s-,") #'major-mode-hydra))
|
||||
#+end_src
|
||||
|
||||
For this feature, I may want to pull it out into its own file, so as to keep all of its features together... however, those feature often /depend/ of the functions they are calling. If so, we would have a series like this:
|
||||
#+begin_src emacs-lisp
|
||||
(use-package major-mode-hydra
|
||||
:config
|
||||
(major-mode-hydra-define Info-mode (:quit-key "q")
|
||||
("Overview"
|
||||
(("d" Info-directory "Directory")
|
||||
("t" Info-top-node "Top")
|
||||
("T" Info-toc "Contents"))
|
||||
"Goto"
|
||||
(("m" link-hint-open-link "Menu...")
|
||||
("n" Info-goto-node "Node...")
|
||||
("i" Info-index "Index..."))
|
||||
"History"
|
||||
(("M-h" Info-history "List")
|
||||
("H" Info-history-back "Back" :color pink)
|
||||
("L" Info-history-forward "Forward" :color pink))
|
||||
"Navigation"
|
||||
(("u" Info-up "Up" :color pink)
|
||||
("p" Info-backward-node "Backward" :color pink)
|
||||
("n" Info-forward-node "Forward" :color pink))
|
||||
"References"
|
||||
(("l" Info-follow-reference "Choose")
|
||||
("j" Info-next-reference "Next" :color pink)
|
||||
("k" Info-prev-reference "Previous" :color pink))
|
||||
"Scroll"
|
||||
(("SPC" Info-scroll-up "Up" :color pink)
|
||||
("DEL" Info-scroll-down "Down" :color pink)
|
||||
("RET" Info-follow-nearest-node "Open"))
|
||||
"Misc"
|
||||
(("o" org-store-link "Store link")
|
||||
("b" Info-bookmark-jump "Bookmark")
|
||||
("w" Info-goto-node-web "View on Web")))))
|
||||
#+end_src
|
||||
|
||||
|
||||
** Additional Global Packages
|
||||
The following defines my use of the Emacs completion system. I’ve decided my /rules/ will be:
|
||||
- Nothing should automatically appear; that is annoying and distracting.
|
||||
|
|
179
ha-display.org
179
ha-display.org
|
@ -130,92 +130,6 @@ And if I can’t find the cursor, and don’t want to move it to see it, I can h
|
|||
(use-package pulsar
|
||||
:bind ("<f8>" . pulsar-pulse-line))
|
||||
#+end_src
|
||||
* Themes
|
||||
One does get used to a particular collection of colors. After happily using Steve Purcell’s Tomorrow theme for many years, I decided to push it a little /warmer/.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package flexoki-themes
|
||||
:config
|
||||
(load-theme 'flexoki-themes-dark t)
|
||||
|
||||
(defun ha-flexoki-themes-update ()
|
||||
"Slight tweaks to the flexoki-themes.
|
||||
I found the background a tad too stark."
|
||||
(if (eq flexoki-themes-set-theme 'dark)
|
||||
(progn
|
||||
(set-face-attribute 'default nil :background "#161514")
|
||||
(set-face-attribute 'region nil :background "#bc5215")
|
||||
(set-face-attribute 'org-block nil :background "#1b1a19")
|
||||
(set-face-attribute 'org-block-begin-line nil :background "#1d1c1b")
|
||||
(set-face-attribute 'org-block-begin-line nil :background "#1d1c1b"))
|
||||
|
||||
(set-face-attribute 'region nil :background "#da702c")
|
||||
(set-face-attribute 'org-block-begin-line nil :foreground "#fffcf0")))
|
||||
|
||||
:custom
|
||||
(flexoki-themes-set-theme 'dark)
|
||||
(flexoki-themes-use-bold-keywords t)
|
||||
(flexoki-themes-use-bold-builtins t)
|
||||
(flexoki-themes-use-italic-comments t)
|
||||
|
||||
:hook (flexoki-themes-after-load-themes . ha-flexoki-themes-update))
|
||||
#+end_src
|
||||
|
||||
Most of the time, Emacs is on my desk is a darkened room, so I choose the dark theme:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(defun laptop-inside ()
|
||||
"Customize the theme for inside programming."
|
||||
(interactive)
|
||||
(load-theme 'flexoki-themes-dark t)
|
||||
(ha-word-processor-fonts))
|
||||
#+end_src
|
||||
|
||||
But, when feeling adventurous, I /sometimes/ take my laptop outside:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(defun laptop-in-the-sun ()
|
||||
"Customize the theme for outside programming."
|
||||
(interactive)
|
||||
(load-theme 'flexoki-themes-light t)
|
||||
(ha-word-processor-fonts))
|
||||
#+end_src
|
||||
|
||||
I’ve been playing around with making the current window more pronounced.
|
||||
This isn’t needed as much with the [[*Window Dimmer][Window Dimmer]] feature, but if I do, this would be the settings:
|
||||
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(set-face-attribute 'mode-line nil :background "#cccccc")
|
||||
(set-face-attribute 'mode-line-inactive nil :background "#888888")
|
||||
#+end_src
|
||||
|
||||
Oh, and turn off the line highlighting:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(global-hl-line-mode -1)
|
||||
#+end_src
|
||||
|
||||
And of course, the default is /inside/ where it is dark and safe:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(laptop-inside)
|
||||
#+end_src
|
||||
* Full Size Frame
|
||||
Taken from [[https://emacsredux.com/blog/2020/12/04/maximize-the-emacs-frame-on-startup/][this essay]], I figured I would start the initial frame automatically in fullscreen, but not any subsequent frames (as this could be part of the capturing system).
|
||||
#+begin_src emacs-lisp
|
||||
(add-to-list 'initial-frame-alist '(fullscreen . maximized))
|
||||
#+end_src
|
||||
|
||||
But when capturing, I subsequently open smaller frames that shouldn’t be /odd looking/:
|
||||
#+begin_src emacs-lisp
|
||||
(add-to-list 'default-frame-alist '(ns-transparent-titlebar . t))
|
||||
(add-to-list 'default-frame-alist '(ns-appearance . dark))
|
||||
#+end_src
|
||||
|
||||
Now that I’m using v29 of Emacs, I can /un-decorate/ the non-full-sized frames:
|
||||
#+begin_src emacs-lisp
|
||||
(add-to-list 'default-frame-alist '(undecorated-round . t))
|
||||
#+end_src
|
||||
* Font Configuration
|
||||
Am I ever really ever satisfied with any font? I regularly change my font based on the monospace du jour... [[http://blogs.adobe.com/typblography/2012/09/source-code-pro.html][Source Code Pro]] is attractive, and has been a staple on every programmers' screen. However, we all want ligatures, [[https://github.com/i-tu/Hasklig][Hasklig]] is a nice font that is thinner and easier to read than [[https://github.com/tonsky/FiraCode][Fira]], but [[https://typeof.net/Iosevka/][Iosevka]] seems to have it all. Oh, Microsoft just gave us [[https://docs.microsoft.com/en-us/windows/terminal/cascadia-code][Cascadia]] and that seems shiny. However, the [[https://github.com/ryanoasis/nerd-fonts][Nerd Font project]] adds the ligatures as well as all the other niceties to a font.
|
||||
|
||||
|
@ -381,9 +295,9 @@ Which font to choose?
|
|||
[[https://github.com/emacsmirror/mixed-pitch][Mixed pitch]] is a minor mode that enables mixing fixed-pitch (also known as fixed-width or monospace) and variable-pitch (AKA “proportional”) fonts. It tries to be smart about which fonts get which face.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package mixed-pitch
|
||||
:hook
|
||||
(text-mode . mixed-pitch-mode))
|
||||
(use-package mixed-pitch
|
||||
:straight (:host github :repo "jabranham/mixed-pitch")
|
||||
:hook (text-mode . mixed-pitch-mode))
|
||||
#+end_src
|
||||
** Zooming or Increasing Font Size
|
||||
Do we want to increase the size of font in a single window (using =text-scale-increase=), or globally (using my new =font-size-increase=)?
|
||||
|
@ -417,6 +331,93 @@ And some keybindings to call them:
|
|||
(global-set-key (kbd "s-=") 'font-size-increase)
|
||||
(global-set-key (kbd "s--") 'font-size-decrease)
|
||||
#+end_src
|
||||
* Themes
|
||||
One does get used to a particular collection of colors. After happily using Steve Purcell’s Tomorrow theme for many years, I decided to push it a little /warmer/.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package flexoki-themes
|
||||
:straight (:host github :repo "crmsnbleyd/flexoki-emacs-theme")
|
||||
:config
|
||||
(load-theme 'flexoki-themes-dark t)
|
||||
|
||||
(defun ha-flexoki-themes-update ()
|
||||
"Slight tweaks to the flexoki-themes.
|
||||
I found the background a tad too stark."
|
||||
(if (eq flexoki-themes-set-theme 'dark)
|
||||
(progn
|
||||
(set-face-attribute 'default nil :background "#161514")
|
||||
(set-face-attribute 'region nil :background "#bc5215")
|
||||
(set-face-attribute 'org-block nil :background "#1b1a19")
|
||||
(set-face-attribute 'org-block-begin-line nil :background "#1d1c1b")
|
||||
(set-face-attribute 'org-block-begin-line nil :background "#1d1c1b"))
|
||||
|
||||
(set-face-attribute 'region nil :background "#da702c")
|
||||
(set-face-attribute 'org-block-begin-line nil :foreground "#fffcf0")))
|
||||
|
||||
:custom
|
||||
(flexoki-themes-set-theme 'dark)
|
||||
(flexoki-themes-use-bold-keywords t)
|
||||
(flexoki-themes-use-bold-builtins t)
|
||||
(flexoki-themes-use-italic-comments t)
|
||||
|
||||
:hook (flexoki-themes-after-load-themes . ha-flexoki-themes-update))
|
||||
#+end_src
|
||||
|
||||
Most of the time, Emacs is on my desk is a darkened room, so I choose the dark theme:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(defun laptop-inside ()
|
||||
"Customize the theme for inside programming."
|
||||
(interactive)
|
||||
(load-theme 'flexoki-themes-dark t)
|
||||
(ha-word-processor-fonts))
|
||||
#+end_src
|
||||
|
||||
But, when feeling adventurous, I /sometimes/ take my laptop outside:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(defun laptop-in-the-sun ()
|
||||
"Customize the theme for outside programming."
|
||||
(interactive)
|
||||
(load-theme 'flexoki-themes-light t)
|
||||
(ha-word-processor-fonts))
|
||||
#+end_src
|
||||
|
||||
I’ve been playing around with making the current window more pronounced.
|
||||
This isn’t needed as much with the [[*Window Dimmer][Window Dimmer]] feature, but if I do, this would be the settings:
|
||||
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(set-face-attribute 'mode-line nil :background "#cccccc")
|
||||
(set-face-attribute 'mode-line-inactive nil :background "#888888")
|
||||
#+end_src
|
||||
|
||||
Oh, and turn off the line highlighting:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(global-hl-line-mode -1)
|
||||
#+end_src
|
||||
|
||||
And of course, the default is /inside/ where it is dark and safe:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(laptop-inside)
|
||||
#+end_src
|
||||
* Full Size Frame
|
||||
Taken from [[https://emacsredux.com/blog/2020/12/04/maximize-the-emacs-frame-on-startup/][this essay]], I figured I would start the initial frame automatically in fullscreen, but not any subsequent frames (as this could be part of the capturing system).
|
||||
#+begin_src emacs-lisp
|
||||
(add-to-list 'initial-frame-alist '(fullscreen . maximized))
|
||||
#+end_src
|
||||
|
||||
But when capturing, I subsequently open smaller frames that shouldn’t be /odd looking/:
|
||||
#+begin_src emacs-lisp
|
||||
(add-to-list 'default-frame-alist '(ns-transparent-titlebar . t))
|
||||
(add-to-list 'default-frame-alist '(ns-appearance . dark))
|
||||
#+end_src
|
||||
|
||||
Now that I’m using v29 of Emacs, I can /un-decorate/ the non-full-sized frames:
|
||||
#+begin_src emacs-lisp
|
||||
(add-to-list 'default-frame-alist '(undecorated-round . t))
|
||||
#+end_src
|
||||
* Emojis, Icons and Whatnot
|
||||
Display these two symbols as one:
|
||||
#+begin_src emacs-lisp
|
||||
|
|
|
@ -761,37 +761,7 @@ Let's make Info behave a little more VI-like:
|
|||
"U" 'Info-directory
|
||||
"T" 'Info-top-node
|
||||
"p" 'Info-backward-node
|
||||
"n" 'Info-forward-node)
|
||||
:config
|
||||
(major-mode-hydra-define Info-mode (:quit-key "q")
|
||||
("Overview"
|
||||
(("d" Info-directory "Directory")
|
||||
("t" Info-top-node "Top")
|
||||
("T" Info-toc "Contents"))
|
||||
"Goto"
|
||||
(("m" link-hint-open-link "Menu...")
|
||||
("n" Info-goto-node "Node...")
|
||||
("i" Info-index "Index..."))
|
||||
"History"
|
||||
(("M-h" Info-history "List")
|
||||
("H" Info-history-back "Back" :color pink)
|
||||
("L" Info-history-forward "Forward" :color pink))
|
||||
"Navigation"
|
||||
(("u" Info-up "Up" :color pink)
|
||||
("p" Info-backward-node "Backward" :color pink)
|
||||
("n" Info-forward-node "Forward" :color pink))
|
||||
"References"
|
||||
(("l" Info-follow-reference "Choose")
|
||||
("j" Info-next-reference "Next" :color pink)
|
||||
("k" Info-prev-reference "Previous" :color pink))
|
||||
"Scroll"
|
||||
(("SPC" Info-scroll-up "Up" :color pink)
|
||||
("DEL" Info-scroll-down "Down" :color pink)
|
||||
("RET" Info-follow-nearest-node "Open"))
|
||||
"Misc"
|
||||
(("o" org-store-link "Store link")
|
||||
("b" Info-bookmark-jump "Bookmark")
|
||||
("w" Info-goto-node-web "View on Web")))))
|
||||
"n" 'Info-forward-node))
|
||||
#+end_src
|
||||
* Consult
|
||||
The [[https://github.com/minad/consult][consult project]] aims to use libraries like [[*Vertico][Vertico]] to enhance specific, built-in, Emacs functions. I appreciate this project that when selecting an element in the minibuffer, it displays what you are looking at… for instance, it previews a buffer before choosing it. Unlike /Vertico/ and /Orderless/, you need to bind keys to its special functions (or rebind existing keys that do something similar).
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#+author: Howard X. Abrams
|
||||
#+date: 2020-09-10
|
||||
#+tags: emacs org
|
||||
#+startup: inlineimages
|
||||
|
||||
A literate programming file for making Org file more readable.
|
||||
|
||||
|
|
|
@ -1235,7 +1235,7 @@ I adapted this code from the [[https://github.com/emacsmirror/poly-ansible][poly
|
|||
#+begin_src emacs-lisp
|
||||
(use-package polymode
|
||||
:config
|
||||
(define-hostmode poly-yaml-hostmode :mode #'yaml-ts-mode)
|
||||
(define-hostmode poly-yaml-hostmode :mode 'yaml-ts-mode)
|
||||
(defcustom pm-inner/jinja2
|
||||
(pm-inner-chunkmode :mode #'jinja2-mode
|
||||
:head-matcher "{[%{#][+-]?"
|
||||
|
@ -1260,6 +1260,7 @@ Doing a lot of [[https://github.com/yoshiki/yaml-mode][YAML work]], but the =ya
|
|||
#+begin_src emacs-lisp
|
||||
(when (treesit-available-p)
|
||||
(use-package yaml-ts-mode
|
||||
:straight (:type built-in)
|
||||
;; :mode ((rx ".y" (optional "a") "ml" string-end)
|
||||
;; (rx (optional ".") "yamllint"))
|
||||
:mode-hydra
|
||||
|
|
Loading…
Reference in a new issue