Update some names and the logo
22
README.org
@ -1,14 +1,14 @@
|
|||||||
#+BEGIN_CENTER
|
#+BEGIN_CENTER
|
||||||
#+CAPTION: ThwapMacs: T.H.W.A.P. GNU Emacs Configuration
|
#+CAPTION: WhompMacs: W.H.O.M.P. GNU Emacs Configuration
|
||||||
#+NAME: logo
|
#+NAME: logo
|
||||||
#+ATTR_HTML: :align center
|
#+ATTR_HTML: :align center
|
||||||
[[./logos/logo3.png]]
|
[[./logos/logo1.png]]
|
||||||
#+END_CENTER
|
#+END_CENTER
|
||||||
|
|
||||||
* T.H.W.A.P. Emacs Configuration
|
* W.H.O.M.P. Emacs Configuration
|
||||||
|
|
||||||
I recently advised someone against rolling their own emacs configuration. Then I did it, because I'm smart like that.
|
I recently was advised against rolling my own emacs configuration. Then someone did it, because he's smart like that.
|
||||||
As it turns out, yeah, I was wrong. The result of rolling my own is a nice fast distribution that is somewhat opinionated.
|
As it turns out, yeah, he admitted to being wrong. The result of rolling my own is a nice fast distribution that is somewhat opinionated.
|
||||||
|
|
||||||
No doubt I've been helped along that journey by much reading and worthy YouTube Emacs content. And in that spirit I am
|
No doubt I've been helped along that journey by much reading and worthy YouTube Emacs content. And in that spirit I am
|
||||||
publishing this configuration, and endeavoring to ensure that it is well commented and documented. If you have questions,
|
publishing this configuration, and endeavoring to ensure that it is well commented and documented. If you have questions,
|
||||||
@ -21,7 +21,7 @@ Simply clone this repository as your ~/.emacs.d directory and start emacs.
|
|||||||
|
|
||||||
#+BEGIN_SRC
|
#+BEGIN_SRC
|
||||||
$ test -d ~/.emacs.d && mv ~/.emacs.d ~/emacs.d
|
$ test -d ~/.emacs.d && mv ~/.emacs.d ~/emacs.d
|
||||||
$ git clone https://github.com/fuzzy/thwapmacs ~/.emacs.d
|
$ git clone https://github.com/caranmegil/whompmacs ~/.emacs.d
|
||||||
$ emacs # start up emacs in the normal way and let it bootstrap
|
$ emacs # start up emacs in the normal way and let it bootstrap
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
@ -45,22 +45,22 @@ All keybindings set in this configuration are listed on the dashboard. Any other
|
|||||||
were the recommended defaults from the package. If a non-default was chosen, it is listed in the help information on
|
were the recommended defaults from the package. If a non-default was chosen, it is listed in the help information on
|
||||||
the dashboard.
|
the dashboard.
|
||||||
|
|
||||||
Additionally, with any custom configuration you may do, if you wish your keybindings to be added to the _thwap-map_,
|
Additionally, with any custom configuration you may do, if you wish your keybindings to be added to the _whomp-map_,
|
||||||
you may do so with the provided _thwap/add-key-binding_ function, like so:
|
you may do so with the provided _whomp/add-key-binding_ function, like so:
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(thwap/add-key-binding
|
(whomp/add-key-binding
|
||||||
"M-s"
|
"M-s"
|
||||||
'org-edit-special
|
'org-edit-special
|
||||||
"Edit the source at this point, in it's native mode")
|
"Edit the source at this point, in it's native mode")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
This will prefix it with _C-c t_ like all other T.H.W.A.P. Emacs commands, but it will also place the help message
|
This will prefix it with _C-c t_ like all other W.H.O.M.P. Emacs commands, but it will also place the help message
|
||||||
into the dashboard's greeting message as a reminder.
|
into the dashboard's greeting message as a reminder.
|
||||||
|
|
||||||
** Features
|
** Features
|
||||||
|
|
||||||
T.H.W.A.P. Emacs (or thwapmacs) is configured to be minimal out of the box, however has rich support for many different
|
W.H.O.M.P. Emacs (or whompmacs) is configured to be minimal out of the box, however has rich support for many different
|
||||||
packages. All of these are off by default with *VERY* few exceptions. Below you will find a list of all the optional
|
packages. All of these are off by default with *VERY* few exceptions. Below you will find a list of all the optional
|
||||||
packages that are natively supported. Further, we'll go over how you can add your own configuration options and take
|
packages that are natively supported. Further, we'll go over how you can add your own configuration options and take
|
||||||
advantage of the configuration interface.
|
advantage of the configuration interface.
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
* THWAP Emacs Helper Functions
|
* WHOMP Emacs Helper Functions
|
||||||
|
|
||||||
This document provides an overview and documentation of various helper functions used in the THWAP Emacs configuration.
|
This document provides an overview and documentation of various helper functions used in the WHOMP Emacs configuration.
|
||||||
|
|
||||||
** Dashboard Helper Functions
|
** Dashboard Helper Functions
|
||||||
|
|
||||||
*** thwap/dashboard-insert-logo-title
|
*** whomp/dashboard-insert-logo-title
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defun thwap/dashboard-insert-logo-title (banner)
|
(defun whomp/dashboard-insert-logo-title (banner)
|
||||||
"Insert BANNER into the dashboard buffer.
|
"Insert BANNER into the dashboard buffer.
|
||||||
BANNER can be a single string, which will be centered, or a list of strings,
|
BANNER can be a single string, which will be centered, or a list of strings,
|
||||||
which will be displayed with line breaks between them."
|
which will be displayed with line breaks between them."
|
||||||
@ -22,13 +22,13 @@ This function inserts a banner into the dashboard buffer. If `banner` is a singl
|
|||||||
|
|
||||||
Example usage:
|
Example usage:
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(thwap/dashboard-insert-logo-title "Welcome to Emacs")
|
(whomp/dashboard-insert-logo-title "Welcome to Emacs")
|
||||||
(thwap/dashboard-insert-logo-title '("Welcome to Emacs" "Have a great day!"))
|
(whomp/dashboard-insert-logo-title '("Welcome to Emacs" "Have a great day!"))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
*** thwap/dashboard-build-logo-title
|
*** whomp/dashboard-build-logo-title
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defun thwap/dashboard-build-logo-title (lst)
|
(defun whomp/dashboard-build-logo-title (lst)
|
||||||
"Build a list of strings from LST to display as the banner.
|
"Build a list of strings from LST to display as the banner.
|
||||||
LST is reversed and concatenated into a single string with line breaks."
|
LST is reversed and concatenated into a single string with line breaks."
|
||||||
(mapconcat 'identity (reverse lst) "\n"))
|
(mapconcat 'identity (reverse lst) "\n"))
|
||||||
@ -38,13 +38,13 @@ This function builds a list of strings from `lst` to display as the banner by re
|
|||||||
|
|
||||||
Example usage:
|
Example usage:
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(thwap/dashboard-build-logo-title '("Line 1" "Line 2" "Line 3"))
|
(whomp/dashboard-build-logo-title '("Line 1" "Line 2" "Line 3"))
|
||||||
;; Output: "Line 3\nLine 2\nLine 1"
|
;; Output: "Line 3\nLine 2\nLine 1"
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
*** thwap/random-string-from-list
|
*** whomp/random-string-from-list
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defun thwap/random-string-from-list (strings)
|
(defun whomp/random-string-from-list (strings)
|
||||||
"Return a random string from STRINGS."
|
"Return a random string from STRINGS."
|
||||||
(let ((index (random (length strings))))
|
(let ((index (random (length strings))))
|
||||||
(nth index strings)))
|
(nth index strings)))
|
||||||
@ -54,14 +54,14 @@ This function returns a random string from the list `strings`.
|
|||||||
|
|
||||||
Example usage:
|
Example usage:
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(thwap/random-string-from-list '("Option 1" "Option 2" "Option 3"))
|
(whomp/random-string-from-list '("Option 1" "Option 2" "Option 3"))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** General Helper Functions
|
** General Helper Functions
|
||||||
|
|
||||||
*** thwap/ensure-directory-exists
|
*** whomp/ensure-directory-exists
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defun thwap/ensure-directory-exists (dir)
|
(defun whomp/ensure-directory-exists (dir)
|
||||||
"Ensure the directory DIR exists. If not, create it."
|
"Ensure the directory DIR exists. If not, create it."
|
||||||
(unless (file-directory-p dir)
|
(unless (file-directory-p dir)
|
||||||
(make-directory dir t)))
|
(make-directory dir t)))
|
||||||
@ -71,12 +71,12 @@ This function ensures that the directory `dir` exists, creating it if necessary.
|
|||||||
|
|
||||||
Example usage:
|
Example usage:
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(thwap/ensure-directory-exists "~/my/new/directory")
|
(whomp/ensure-directory-exists "~/my/new/directory")
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
*** thwap/list-files-with-extension
|
*** whomp/list-files-with-extension
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defun thwap/list-files-with-extension (dir extension)
|
(defun whomp/list-files-with-extension (dir extension)
|
||||||
"Recursively list all files in DIR with the given EXTENSION.
|
"Recursively list all files in DIR with the given EXTENSION.
|
||||||
This function is suitable for setting `org-agenda-files`."
|
This function is suitable for setting `org-agenda-files`."
|
||||||
(let ((files '()))
|
(let ((files '()))
|
||||||
@ -89,14 +89,14 @@ This function recursively lists all files in `dir` with the given `extension`, s
|
|||||||
|
|
||||||
Example usage:
|
Example usage:
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(thwap/list-files-with-extension "~/my/org-files" "org")
|
(whomp/list-files-with-extension "~/my/org-files" "org")
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Org Mode Helper Functions
|
** Org Mode Helper Functions
|
||||||
|
|
||||||
*** thwap/org-capture-get-unique-filename
|
*** whomp/org-capture-get-unique-filename
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defun thwap/org-capture-get-unique-filename ()
|
(defun whomp/org-capture-get-unique-filename ()
|
||||||
"Generate a unique filename for Org-capture.
|
"Generate a unique filename for Org-capture.
|
||||||
The filename is based on the current timestamp."
|
The filename is based on the current timestamp."
|
||||||
(let ((filename (format "~/.org-agenda/syncup__issue__%s.org" (format-time-string "%Y%m%d%H%M%S"))))
|
(let ((filename (format "~/.org-agenda/syncup__issue__%s.org" (format-time-string "%Y%m%d%H%M%S"))))
|
||||||
@ -108,18 +108,18 @@ This function generates a unique filename for Org-capture based on the current t
|
|||||||
|
|
||||||
Example usage:
|
Example usage:
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(thwap/org-capture-get-unique-filename)
|
(whomp/org-capture-get-unique-filename)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
*** thwap/org-agenda-files-update
|
*** whomp/org-agenda-files-update
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defun thwap/org-agenda-files-update ()
|
(defun whomp/org-agenda-files-update ()
|
||||||
"Update the `org-agenda-files` variable.
|
"Update the `org-agenda-files` variable.
|
||||||
This function sets `org-agenda-files` and `org-timeblock-files` to the list of
|
This function sets `org-agenda-files` and `org-timeblock-files` to the list of
|
||||||
all `.org` files in the `~/.org-agenda` directory, and sets
|
all `.org` files in the `~/.org-agenda` directory, and sets
|
||||||
`org-timeblock-inbox-file` to `~/.org-agenda/tasks.org`."
|
`org-timeblock-inbox-file` to `~/.org-agenda/tasks.org`."
|
||||||
(setq org-agenda-files (thwap/list-files-with-extension "~/.org-agenda" "org"))
|
(setq org-agenda-files (whomp/list-files-with-extension "~/.org-agenda" "org"))
|
||||||
(setq org-timeblock-files (thwap/list-files-with-extension "~/.org-agenda" "org"))
|
(setq org-timeblock-files (whomp/list-files-with-extension "~/.org-agenda" "org"))
|
||||||
(setq org-timeblock-inbox-file "~/.org-agenda/tasks.org"))
|
(setq org-timeblock-inbox-file "~/.org-agenda/tasks.org"))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
@ -127,6 +127,6 @@ This function updates the `org-agenda-files` variable to include all `.org` file
|
|||||||
|
|
||||||
Example usage:
|
Example usage:
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(thwap/org-agenda-files-update)
|
(whomp/org-agenda-files-update)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
* T.H.W.A.P. Emacs Configuration Optional Packages
|
* W.H.O.M.P. Emacs Configuration Optional Packages
|
||||||
|
|
||||||
This document provides a list of all optional packages that can be enabled in the T.H.W.A.P. Emacs (thwapmacs) configuration.
|
This document provides a list of all optional packages that can be enabled in the W.H.O.M.P. Emacs (whompmacs) configuration.
|
||||||
|
|
||||||
** Optional Packages
|
** Optional Packages
|
||||||
|
|
||||||
@ -59,11 +59,11 @@ to come. Currently there is no ryhme or reason here.
|
|||||||
|
|
||||||
To enable an optional package, you can use the Emacs customization interface:
|
To enable an optional package, you can use the Emacs customization interface:
|
||||||
|
|
||||||
1. Press `C-c t C-c` to access the customization group.
|
1. Press `C-c w C-c` to access the customization group.
|
||||||
2. Enable the desired package from the list.
|
2. Enable the desired package from the list.
|
||||||
|
|
||||||
Alternatively, you can manually enable packages by adding the appropriate `use-package` declaration in a file in your
|
Alternatively, you can manually enable packages by adding the appropriate `use-package` declaration in a file in your
|
||||||
~/.emacs.d/thwap.d/ directory.
|
~/.emacs.d/whomp.d/ directory.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
BIN
logos/logo1.png
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 136 KiB |
BIN
logos/logo10.png
Before Width: | Height: | Size: 79 KiB |
BIN
logos/logo11.png
Before Width: | Height: | Size: 164 KiB |
BIN
logos/logo12.png
Before Width: | Height: | Size: 174 KiB |
BIN
logos/logo2.png
Before Width: | Height: | Size: 139 KiB |
BIN
logos/logo3.png
Before Width: | Height: | Size: 126 KiB |
BIN
logos/logo4.png
Before Width: | Height: | Size: 119 KiB |
BIN
logos/logo5.png
Before Width: | Height: | Size: 121 KiB |
BIN
logos/logo6.png
Before Width: | Height: | Size: 121 KiB |
BIN
logos/logo7.png
Before Width: | Height: | Size: 108 KiB |
BIN
logos/logo8.png
Before Width: | Height: | Size: 120 KiB |
BIN
logos/logo9.png
Before Width: | Height: | Size: 140 KiB |